Metrics Server в Kubernetes

Metrics Server — это компонент, который собирает метрики использования CPU и памяти у подов и узлов через kubelet. Эти данные используются командами вроде kubectl top и необходимы для работы автоскейлеров (HPA/VPA). По умолчанию он не входит в стандартную установку Kubernetes и ставится отдельно.

Устанавливаем Metrics Server

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

Настраиваем для локального кластера

По умолчанию Metrics Server подключается к kubelet по HTTPS с проверкой сертификата.
В локальных кластерах (например, kind, minikube, kubeadm на домашней машине) сертификаты kubelet часто выписаны не на hostname узла, а на его InternalIP. Поэтому проверка не проходит → и нужно добавить опции:
—kubelet-insecure-tls — отключает проверку TLS-сертификата.
—kubelet-preferred-address-types=InternalIP,… — указывает, как искать адреса для подключения.

Редактируем деплоймент:

kubectl edit deployment metrics-server -n kube-system

В секции containers.args добавляем:

- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP

Проверяем работу

kubectl top nodes

Если всё настроено правильно, появятся метрики CPU/Memory по узлам.

Прокрутить вверх