Kube-state-metrics#
Kube-state-metrics – сервис для сбора и экспорта метрик о состоянии объектов Kubernetes. Отслеживает изменения в API-сервере и генерирует метрики на основе текущего состояния ресурсов кластера.
Основные задачи и возможности
Сбор метрик объектов: агрегирует данные о состоянии ресурсов кластера, таких как pod,
Deployment,Serviceи узлы.Экспорт в формате Prometheus: предоставляет метрики через HTTP-эндпоинт для последующего сбора системами мониторинга (например, Prometheus или VictoriaMetrics).
Интеграция с Kubernetes API: взаимодействует с API-сервером для отслеживания изменений в реальном времени и поддержания актуальности данных.
Поддержка мониторинга и автоматизации: предоставляет данные для построения дашбордов, анализа состояния кластера и настройки алертов.
Простота развертывания: устанавливается как стандартный компонент DropApp и не требует сложной конфигурации.
Примечание
По умолчанию Kube-state-metrics устанавливается в составе компонента «Monitoring». Функциональность сервиса расширена для сбора метрик по CRD DropApp, таким как Component и Tool.
Конфигурация values#
Значения переопределяются через редактирование инструмента с именем kube-state-metrics и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».
prometheusScrape – включение scrape-аннотаций для Prometheus
revisionHistoryLimit – количество сохраняемых ресурсов для отката
automountServiceAccountToken – автомонтирование токена ServiceAccount в pod
hostUsers – монтирование пользовательского пространства хоста
kubeRBACProxy – настройки sidecar-контейнера kube-rbac-proxy
prometheus – параметры интеграции с Prometheus и сбора метрик
networkPolicy – настройки NetworkPolicy для ограничения сетевого доступа
containerSecurityContext – параметры контекста безопасности контейнера
affinity – правила привязки (affinity и anti-affinity) pod к узлам
topologySpreadConstraints – ограничения распределения pod по топологии
podDisruptionBudget – ограничение одновременной недоступности pod
metricAnnotationsAllowList – список разрешенных аннотаций ресурсов
collectorsExclude – список коллекторов, исключаемых из сбора метрик
releaseNamespace – ограничение сбора ресурсов пространств имен
prometheusScrape – включение scrape-аннотаций для Prometheus#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение автоматического обнаружения сервиса Prometheus для сбора метрик |
|
image – параметры контейнерного образа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Репозиторий контейнерного образа |
|
|
Тег образа контейнера |
|
|
SHA-хеш образа для проверки целостности |
|
|
Политика загрузки образа. |
|
imagePullSecrets – Secret для загрузки образов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список |
|
autosharding – параметры автоматического шардинга#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение автоматического шардирования для масштабирования |
|
replicas – количество реплик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик pod |
|
revisionHistoryLimit – количество сохраняемых ресурсов для отката#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество предыдущих версий ресурса, сохраняемых для отката |
|
extraArgs – аргументы запуска контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список дополнительных аргументов командной строки |
|
automountServiceAccountToken – автомонтирование токена ServiceAccount в pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Автомонтирование токена |
|
service – настройки Service#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Номер порта, который |
|
|
Тип |
|
|
Включение поддержки двойного стека IP (IPv4/IPv6) |
|
|
Список IP-семейств |
|
|
Политика выбора семейства IP. |
|
|
Порт на узле для типа |
|
|
IP-адрес для |
|
|
CIDR-диапазоны исходных IP-адресов для |
|
|
IP-адрес внутреннего кластерного |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
customLabels – метки для всех ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные метки, добавляемые ко всем создаваемым ресурсам. |
|
selectorOverride – переопределение селектора меток#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение селектора меток для |
|
releaseLabel – метка релиза#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение добавления метки релиза для совместимости с |
|
hostNetwork – использование сети хоста#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация подключения |
|
hostUsers – монтирование пользовательского пространства хоста#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Использование пользовательского пространства имен хоста для |
|
rbac – настройки RBAC (управление доступом на основе ролей)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация автоматического создания ресурсов RBAC |
|
|
Создание правил |
|
|
Использование |
|
|
Дополнительные правила RBAC для пользовательских ресурсов (CRD) |
|
|
Селекторы |
|
authFilter – параметры встроенной аутентификации запросов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение встроенной аутентификации и авторизации на эндпоинтах метрик |
|
kubeRBACProxy – настройки sidecar-контейнера kube-rbac-proxy#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение |
|
|
Репозиторий образа |
|
|
Тег образа |
|
|
SHA-хеш образа |
|
|
Политика загрузки образа |
|
|
Активация исключения probe эндпоинтов |
|
|
Дополнительные аргументы командной строки для |
|
|
Монтирование корневой файловой системы в режиме «только для чтения» |
|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Список возможностей ( |
|
|
Имя порта контейнера |
|
|
Порт прокси-эндпоинта |
|
|
Ограничение ресурсов CPU для контейнера |
|
|
Ограничение ресурсов памяти для контейнера |
|
|
Запрашиваемые ресурсы CPU для контейнера |
|
|
Запрашиваемые ресурсы памяти для контейнера |
|
|
Дополнительные точки монтирования томов ( |
|
serviceAccount – настройки сервисного аккаунта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание |
|
|
Имя |
|
|
Список |
|
|
Аннотации для |
|
|
Автомонтирование токена |
|
env – параметры переменных окружения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные переменные окружения для контейнера. |
|
prometheus – параметры интеграции с Prometheus и сбора метрик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание |
|
|
Аннотации для |
|
|
Дополнительные метки для |
|
|
Пространство имен для размещения |
|
|
Селектор пространств имен для |
|
|
Метка для определения имени |
|
|
Целевые метки для добавления к метрикам |
|
|
Метки pod для добавления к метрикам |
|
|
Максимальное количество метрик, принимаемых Prometheus с каждого узла |
|
|
Лимит количества целей |
|
|
Лимит на общее количество отслеживаемых узлов в кластере |
|
|
Максимальная длина имени метки |
|
|
Максимальная длина значения метки |
|
|
Переопределение селектора |
|
|
Интервал сбора HTTP-метрик |
|
|
Тайм-аут сбора HTTP-метрик |
|
|
URL-прокси для HTTP-метрик |
|
|
Включение HTTP/2 для |
|
|
Сохранение оригинальных меток |
|
|
Правила фильтрации и преобразования меток, применяемые к собранным метрикам |
|
|
Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик |
|
|
Протокол для сбора метрик |
|
|
Путь к файлу bearer-токена для аутентификации |
|
|
|
|
|
TLS-конфигурация для защищенного HTTP-подключения к pod |
|
|
Интервал сбора метрик для |
|
|
Тайм-аут одного запроса сбора метрик для |
|
|
URL прокси-сервера для направления запросов сбора метрик. Пустое значение означает прямое подключение |
|
|
Включение поддержки HTTP/2 для запросов сбора метрик |
|
|
Использование оригинальных меток цели при конфликте с метками |
|
|
Правила фильтрации и преобразования меток, применяемые к собранным метрикам |
|
|
Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик |
|
|
Схема протокола для запросов сбора метрик ( |
|
|
Путь к файлу с bearer-токеном для аутентификации на эндпоинте метрик |
|
|
Ссылка на |
|
|
TLS-конфигурация для защищенного подключения к эндпоинту метрик |
|
|
Создание ресурса |
|
|
Аннотации для ресурса |
|
|
Дополнительные метки для ресурса |
|
|
Имя |
|
|
Максимальное количество метрик, принимаемых за один опрос. Значение |
|
|
Максимальное количество целей сбора метрик. Значение |
|
|
Максимальное количество меток на один образец данных. Значение |
|
|
Максимальная длина имени метки. Значение |
|
|
Максимальная длина значения метки. Значение |
|
|
Статические метки, добавляемые ко всем целям сбора метрик |
|
|
Интервал сбора метрик для |
|
|
Тайм-аут одного запроса сбора метрик для |
|
|
URL прокси-сервера для направления запросов сбора метрик. Пустое значение означает прямое подключение |
|
|
Включение поддержки HTTP/2 для запросов сбора метрик |
|
|
Использование оригинальных меток цели при конфликте с метками |
|
|
Правила фильтрации и преобразования меток, применяемые к собранным метрикам |
|
|
Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик |
|
|
Схема протокола для запросов сбора метрик ( |
|
|
TLS-конфигурация для защищенного подключения к эндпоинту метрик |
|
networkPolicy – настройки NetworkPolicy для ограничения сетевого доступа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация создания |
|
|
Тип |
|
securityContext – параметры контекста безопасности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение контекста безопасности для pod |
|
|
ID группы для запуска контейнера |
|
|
ID пользователя для запуска контейнера |
|
|
Идентификатор группы файловой системы для pod, назначаемый владельцем всех файлов и каталогов на подключенных томах |
|
|
Запуск от имени пользователя без административных полномочий |
|
|
Тип профиля Seccomp |
|
containerSecurityContext – параметры контекста безопасности контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Монтирование корневой файловой системы в режиме «только для чтения» |
|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Список возможностей ( |
|
nodeSelector – селектор узлов для планирования pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Селектор узлов для планирования pod |
|
affinity – правила привязки (affinity и anti-affinity) pod к узлам#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки правила привязки ( |
|
tolerations – параметры Toleration для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
|
|
topologySpreadConstraints – ограничения распределения pod по топологии#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Ограничения распределения pod по топологии |
|
annotations – аннотации для Deployment#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации для |
|
labels – общие метки для всех создаваемых ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Метки, добавляемые ко всем создаваемым ресурсам |
|
podAnnotations – аннотации для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации, добавляемые ко всем создаваемым pod |
|
podLabels – метки для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Метки, добавляемые ко всем создаваемым pod |
|
podDisruptionBudget – ограничение одновременной недоступности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки |
|
metricAllowlist – список разрешенных метрик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список разрешенных метрик (имена или регулярные выражения). Взаимоисключающий с |
|
metricDenylist – список исключаемых метрик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список исключаемых метрик (имена или регулярные выражения). Взаимоисключающий с |
|
metricLabelsAllowlist – список разрешенных меток ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список меток Kubernetes для включения в метрики ресурсов. |
|
metricAnnotationsAllowList – список разрешенных аннотаций ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список аннотаций Kubernetes для включения в метрики ресурсов. |
|
collectors – набор коллекторов метрик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список включенных коллекторов Kubernetes-ресурсов |
|
collectorsExclude – список коллекторов, исключаемых из сбора метрик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список коллекторов, исключаемых из сбора метрик. |
|
collectorsExtra – дополнительные коллекторы#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные коллекторы, добавленные к стандартному набору. |
|
kubeconfig – использование внешнего kubeconfig#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение использования |
|
|
Настройки |
|
customResourceState – настройки CustomResourceStateMetrics#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение сбора метрик для пользовательских ресурсов (CRD) |
|
|
Создание |
|
|
Имя |
|
|
Ключ |
|
|
Определение |
|
releaseNamespace – ограничение сбора ресурсов пространств имен#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Сбор метрик только из пространства имен |
|
namespaces – список пространств имен для сбора ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список пространств имен через запятую для сбора метрик (по умолчанию все) |
|
namespacesDenylist – список исключенных пространств имен#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список исключенных пространств имен через запятую |
|
namespaceOverride – переопределение пространства имен#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение пространства имен для |
|
resources – запросы и ограничения ресурсов контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запросы и ограничения ресурсов для контейнера. |
|
selfMonitor – параметры самомониторинга#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение экспорта метрик самоконтроля и создание ресурсов |
|
|
Хост для эндпоинта |
|
verticalPodAutoscaler – настройки VerticalPodAutoscaler#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание |
|
|
Список ресурсов, которыми может управлять VPA. |
|
|
Максимально допустимые ресурсы, которые VPA может назначить pod. |
|
|
Минимально допустимые ресурсы, которые VPA может назначить pod. |
|
|
Политика обновления VPA. |
|
volumeMounts – дополнительные точки монтирования томов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные точки монтирования томов ( |
|
volumes – дополнительные тома (Volume)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные тома ( |
|
extraManifests – дополнительные Kubernetes-манифесты#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные манифесты Kubernetes. |
|
containers – дополнительные контейнеры#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные контейнеры в pod. |
|
initContainers – init-контейнеры для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Init-контейнеры для pod. |
|
dnsPolicy – политика разрешения DNS для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика разрешения DNS для pod |
|
dnsConfig – пользовательская конфигурация DNS для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Пользовательская конфигурация DNS для pod |
|
startupProbe – параметры проверки успешного запуска#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение проверки успешного запуска приложения внутри контейнера |
|
|
Количество неудачных попыток проверки запуска |
|
|
HTTP-заголовки для проверки запуска. |
|
|
Схема обращения для проверки запуска. |
|
|
Задержка в секундах перед первой стартовой проверкой |
|
|
Интервал в секундах между проверками запуска |
|
|
Количество успешных проверок запуска, необходимое для перевода контейнера в состояние «запущен» |
|
|
Тайм-аут ожидания проверки запуска |
|
livenessProbe – параметры проверки работоспособности#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество неудачных попыток до перевода контейнера в статус |
|
|
HTTP-заголовки для проверки работоспособности. |
|
|
Схема обращения для проверки работоспособности. |
|
|
Задержка в секундах перед первой проверкой работоспособности |
|
|
Интервал в секундах между проверками работоспособности |
|
|
Количество успешных попыток для подтверждения работоспособности |
|
|
Тайм-аут ожидания проверки работоспособности |
|
readinessProbe – параметры проверки готовности#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество неудачных попыток до перевода контейнера в статус |
|
|
HTTP-заголовки для проверки готовности. |
|
|
Схема обращения для проверки готовности. |
|
|
Задержка в секундах перед первой проверкой готовности |
|
|
Интервал в секундах между проверками готовности |
|
|
Количество успешных попыток для подтверждения готовности |
|
|
Тайм-аут ожидания проверки готовности |
|