Узлы статуса Kubectl предоставляют разные ответы для эквивалентных кластеров - PullRequest
0 голосов
/ 19 июня 2020

Недавно я начал использовать kubectl krew (v0.3.4), который позже был использован для установки плагина "status" (v0.4.1).

Я сейчас управляю разными кластерами, и я проверка статуса узлов. Большинство кластеров отвечают на что-то точно например:

Node/[NodeName], created 25d ago  linux Oracle Linux Server 7.8     
(amd64), kernel 4.1.12-124.36.4.el7uek.x86_64, kubelet v1.18.2, kube-proxy v1.18.2 
cpu: 0.153/7 (2%)     
mem: 4.4GB/7.1GB (63%)    
ephemeral-storage: 2.2GB 

По какой-то причине есть один кластер, который отвечает:

Node/[nodeName], created 11d ago     
linux Oracle Linux Server 7.8 (amd64), kernel 4.1.12-124.26.5.el7uek.x86_64, kubelet v1.18.2, kube-proxy v1.18.2     
cpu: 5, mem: 7.1GB, ephemeral-storage: 2.2GB

(Позвольте мне пояснить, что я Я пытаюсь автоматизировать проверку некоторых ресурсов, и то, как ресурсы отображаются по-разному, довольно раздражает, плюс используемые ресурсы по сравнению с общим количеством - это именно то, что мне нужно!)

Я абсолютно не могу найти репозиторий плагинов статуса, и Понятия не имею, куда обратиться к go с этой проблемой. Версия kubectl говорит, что оба кластера имеют одну и ту же версию сервера, я в обоих случаях выполняю команду kubectl status со своего локального компьютера и ... у меня нет идей.

Кто-нибудь знает, почему это может быть происходит, или когда я могу go искать ответы?

1 Ответ

0 голосов
/ 26 июня 2020

Для отображения используемых и общих ресурсов вы можете использовать kubectl top

Отображение использования ресурсов (ЦП / память / хранилище).

Команда top позволяет вам увидеть ресурс потребление для узлов или модулей.

Эта команда требует, чтобы сервер Metrics Server был правильно настроен и работал на сервере.

Доступные команды: узел Отображение ресурсов (ЦП / память / хранилище) использование модуля узлов Отображение ресурсов (ЦП / Память / Хранилище) использования подов

Использование: kubectl top [flags] [options]

Вы также можете посмотреть Инструменты для мониторинга Ресурсы в документации Kubernetes.

Что касается того же, что и при использовании Kubernetes Python Client , вы можете использовать:

from kubernetes.config import load_kube_config                                  
from kubernetes.client import CustomObjectsApi                                  
load_kube_config()                                                              
cust = CustomObjectsApi()                                                       
cust.list_cluster_custom_object('metrics.k8s.io', 'v1beta1', 'nodes') # All node metrics
cust.list_cluster_custom_object('metrics.k8s.io', 'v1beta1', 'pods') # All Pod Metrics
...