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%