#kubernetes #metrics
#kubernetes #метрики
Вопрос:
Версия
- версия k8s: v1.19.0
- сервер метрик: версия 0.3.6
Я настроил кластер k8s и сервер метрик, он может проверять узлы и модули на главном узле, рабочий узел не видит, он возвращает unknown.
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
u-29 1160m 14% 37307Mi 58%
u-31 2755m 22% 51647Mi 80%
u-32 4661m 38% 32208Mi 50%
u-34 1514m 12% 41083Mi 63%
u-36 1570m 13% 40400Mi 62%
когда модуль, работающий на клиентском узле, возвращается unable to fetch pod metrics for pod default/nginx-7764dc5cf4-c2sbq: no metrics known for pod
, когда модуль, работающий на главном узле, может возвращать процессор или память
NAME CPU(cores) MEMORY(bytes)
nginx-7cdd6c99b8-6pfg2 0m 2Mi
Комментарии:
1. Есть ли какое-либо руководство / документация, которым вы следовали при его настройке?
Ответ №1:
Это вики-ответ сообщества, основанный на комментарии OP, опубликованном для лучшей наглядности. Не стесняйтесь расширять его.
Проблема была вызвана использованием разных версий docker на разных узлах. После обновления docker до версии 19.3 на обоих узлах и выполнения kubeadm reset
проблема была решена.
Ответ №2:
Обычно сервер метрик получает метрики через kubelet.
Возможно, существует проблема с извлечением информации из этого.
Вам нужно будет посмотреть на следующие конфигурации, упомянутые в readme.
Конфигурация В зависимости от настроек вашего кластера вам также может потребоваться изменить флаги, передаваемые в контейнер сервера метрик. Самые полезные флаги:
—kubelet-preferred-address-types — приоритет типов адресов узлов, используемых при определении адреса для подключения к определенному узлу (по умолчанию [Имя хоста, InternalDNS, InternalIP,ExternalDNS,externalIP])
—kubelet-небезопасно-tls — Не проверяет CA обслуживающих сертификатов, представленных Kubelets. Только для целей тестирования.
—requestheader-client-ca-file — Укажите пакет корневых сертификатов для проверки клиентских сертификатов при входящих запросах.
Возможно, вы можете проверить изменения конфигурации ниже.
--kubelet-preferred-address-types=InternalIP
--kubelet-insecure-tls
Возможно, вы сможете обратиться к этому тикету для получения дополнительной информации.
Комментарии:
1. Я исправляю эту проблему из-за разных версий docker, некоторые — 18.06, некоторые — 19.3, после обновления до 19.3 и сброса kubeadm он работает для всех модулей, спасибо
2. @benq Рассмотрите возможность публикации предпринятых вами действий в качестве ответа. Это было бы лучше видно для остальной части сообщества.