Metrics-server#
Metrics-server - это легковесный компонент Kubernetes, предназначенный для сбора и предоставления метрик использования ресурсов (CPU и памяти) на уровне pod и узлов кластера.
Основные задачи и возможности
Сбор метрик в реальном времени:
Получает данные о загрузке CPU и использовании памяти с Kubelet на каждом узле кластера через HTTP-запросы.
Интеграция с Kubernetes API:
Предоставляет доступ к метрикам через API (
metrics.k8s.io), что позволяет использовать их в инструментах управления и автоматизации. Показывает метрики командойkubectl top podsиkubectl top nodes.Поддержка автоматического масштабирования (HPA):
Является основным источником данных для Horizontal Pod Autoscaler, позволяя автоматически изменять количество Pod в зависимости от нагрузки.
Мониторинг состояния узлов и контейнеров:
Позволяет отслеживать базовые показатели ресурсного потребления всей инфраструктуры кластера.
Простота установки и масштабируемости:
Легко развертывается как add-on и поддерживает горизонтальное масштабирование для работы в крупных кластерах.
Примечание
Metrics-server устанавливается по умолчанию с компонентом Monitoring.
Конфигурация values#
Значения можно переопределить через редактирование инструмента с именем metrics-server и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
image – настройки Docker-образа metrics-server#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь к репозиторию Docker-образа Metrics-server. Формируется из глобальных переменных |
|
|
Тег Docker-образа Metrics-server. Строка |
|
|
Политика скачивания образа. Возможные значения: |
|
|
Список секретов для доступа к приватному реестру Docker-образов |
|
nameOverride и fullnameOverride – переопределение имен#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение имени релиза. Строка или пусто |
|
|
Полное переопределение имени релиза. Строка или пусто |
|
serviceAccount – настройки сервис-аккаунта#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать сервис-аккаунт. Значения: |
|
|
Аннотации для сервис-аккаунта. |
{} |
|
Имя сервис-аккаунта. Если не указано и |
|
|
Список секретов, которые можно монтировать этим сервис-аккаунтом |
|
rbac – настройки RBAC#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создавать ресурсы RBAC. Значения: |
|
|
Включить |
|
apiService – настройки API Service#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создавать объект |
|
|
Аннотации для |
|
|
Пропускать проверку TLS-сертификата при обращении к APIService. Значения: |
|
|
PEM-кодированный |
|
commonLabels – общие метки#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Общие метки для всех создаваемых ресурсов |
|
podLabels – метки Pod#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Метки для pod Metrics-server |
|
podAnnotations – аннотации Pod#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации для pod Metrics-server |
|
securityContext – контекст безопасности контейнера#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Разрешить повышение привилегий. Значения: |
|
|
Только для чтения root-файловая система. Значения: |
|
|
Запускать только не от root. Значения: |
|
|
UID пользователя для запуска контейнера |
|
|
GID группы для запуска контейнера |
|
|
Тип профиля |
|
|
Список |
|
priorityClassName – приоритет Pod#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя класса приоритета для pods |
|
containerPort – порт контейнера#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Порт, на котором работает Metrics-server |
|
hostNetwork – запуск в hostNetwork#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запускать Metrics-server в режиме |
|
replicas – количество реплик#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик Metrics-server |
|
revisionHistoryLimit – лимит истории ревизий#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Максимальное количество сохраненных ревизий развертывания |
|
podDisruptionBudget – настройки PDB#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить |
|
|
Минимальное количество доступных pods |
|
|
Максимальное количество недоступных pods |
|
defaultArgs – стандартные аргументы запуска#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список стандартных аргументов командной строки |
|
args – дополнительные аргументы запуска#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список дополнительных аргументов |
|
livenessProbe – liveness-проба#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
HTTP-путь для проверки живости |
|
|
Порт для проверки |
|
|
Схема ( |
|
|
Задержка перед первой проверкой |
|
|
Периодичность проверки |
|
|
Количество неудачных попыток до рестарта |
|
readinessProbe – readiness-проба#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
HTTP-путь для проверки готовности |
|
|
Порт для проверки |
|
|
Схема ( |
|
|
Задержка перед первой проверкой |
|
|
Периодичность проверки |
|
|
Количество неудачных попыток до рестарта |
|
service – настройки Kubernetes Service#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации для сервиса |
|
|
Метки для сервиса |
|
|
Порт, на котором сервис слушает трафик |
|
|
Тип Kubernetes Service. Например, |
|
metrics – включение сбора метрик#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить экспорт метрик. Значения: |
|
serviceMonitor – интеграция с Prometheus Operator#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить |
|
|
Дополнительные метки для ServiceMonitor |
|
|
Интервал сбора метрик |
|
|
Время ожидания сбора метрик |
|
|
Дополнительные правила |
|
|
Дополнительные правила |
|
resources – ресурсы для metrics-server#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запрашиваемое количество CPU |
|
|
Запрашиваемое количество памяти |
|
r |
Лимит CPU |
|
|
Лимит памяти |
|
extraVolumeMounts – дополнительные VolumeMounts#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список дополнительных |
|
extraVolumes – дополнительные Volumes#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список дополнительных |
|
nodeSelector – nodeSelector для pod#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
NodeSelector для pod Metrics-server |
|
tolerations – tolerations для pod#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список |
|
affinity – affinity для pod#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
|
|
topologySpreadConstraints – распределение pod по топологии#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список ограничений по распределению pod |
|
dnsConfig – настройки DNS для Pod#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
DNS-конфигурация для pod |
|
deploymentAnnotations – аннотации для Deployment#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации для развертывания |
|
schedulerName – имя scheduler#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя |
|
tmpVolume – настройки временного тома#
Значение |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки |
|