узел описания kubectl не сообщает о правильном использовании модуля - PullRequest
0 голосов
/ 28 июня 2018

У меня есть кластер k8s v1.10.2, 3x3, который я пытался подчеркнуть. Я собрал команду:

kubectl run stress --replicas=1 --image=lorel/docker-stress-ng -- --cpu 8 --io 8 --vm 4 --vm-bytes 1024m  --fork 4 --timeout 5m --metrics-brief  

и когда я смотрю на использование узла через:

kubectl describe node addons-worker-01

узел сообщает об отсутствии использования модулем:

Non-terminated Pods:         (6 in total)
  Namespace                  Name                                  CPU Requests  CPU Limits  Memory Requests  Memory Limits
  ---------                  ----                                  ------------  ----------  ---------------  -------------
  default                    stress-765b45bdd5-qwqbj               0 (0%)        0 (0%)      0 (0%)           0 (0%)

все же, когда я смотрю сверху, узел показывает использование, которое я ожидаю. Это ожидается? Я что-то упустил?

1 Ответ

0 голосов
/ 28 июня 2018

kubctl describe используется для отображения текущей конфигурации узла.

Например:

Namespace       Name                CPU Requests    CPU Limits Memory Requests  Memory Limits
 ---------      ----                ------------    ---------- ---------------  ------------- 
 default        stress                  100m (1%)       0 (0%)          0 (0%)          0 (0%)
 kube-system    fluentd                 100m (1%)       0 (0%)      200Mi (0%)      300Mi (1%) 
 kube-system    kube-dns                260m (3%)       0 (0%)      110Mi (0%)      170Mi (0%) 
 kube-system    kube-proxy-gke-cluster  100m (1%)       0 (0%)          0 (0%)          0 (0%) 
 kube-system    kubernetes-dashboard    100m (1%)    100m (1%)      100Mi (0%)      300Mi (1%)

Allocated resources: 
(Total limits may be over 100 percent, i.e., overcommitted.) 
CPU Requests CPU Limits Memory Requests Memory Limits 
------------ ---------- --------------- ------------- 
660m (8%) 100m (1%) 410Mi (1%) 770Mi (2%)

Это означает, что на узле 5 стручков, например, fluentd требует 100 м ЦП для запуска без установленный лимит и 200М памяти для запуска, который ограничен 300М.

Вы можете установить ограничения в файле конфигурации yaml для модуля следующим образом:

spec:
  containers:
  - name: text
    image: nginx
   resources:
      limits:
        memory: 512Mi
      requests:
        memory: 128Mi

Подробнее о настройке пределов памяти и ЦП вы можете прочитать в Kubernetes manage-resources docs.

Для мониторинга я бы порекомендовал Прометей или Мониторинг Google Cloud .

Вы также можете использовать kubctl top nodes, который покажет текущую нагрузку на узлы:

NAME                                       CPU(cores)   CPU%      MEMORY(bytes)   MEMORY%
gke-cluster-1-default-pool-1                7969m        100%      4708Mi          17%
gke-cluster-1-default-pool-2                56m          0%        491Mi           1%
gke-cluster-1-default-pool-3                60m          0%        568Mi           2%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...