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#

Параметр

Описание

Значение по умолчанию

prometheusScrape

Включение автоматического обнаружения сервиса Prometheus для сбора метрик

true

image – параметры контейнерного образа#

Параметр

Описание

Значение по умолчанию

image.repository

Репозиторий контейнерного образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kube-state-metrics/kube-state-metrics'

image.tag

Тег образа контейнера

"v2.19.1"

image.sha

SHA-хеш образа для проверки целостности

""

image.pullPolicy

Политика загрузки образа.
Возможные значения: Always, IfNotPresent, Never

IfNotPresent

imagePullSecrets – Secret для загрузки образов#

Параметр

Описание

Значение по умолчанию

imagePullSecrets

Список Secret для загрузки образа контейнера из приватных реестров.
Пример конфигурации:

- name: "image-pull-secret"

[]

autosharding – параметры автоматического шардинга#

Параметр

Описание

Значение по умолчанию

autosharding.enabled

Включение автоматического шардирования для масштабирования

false

replicas – количество реплик#

Параметр

Описание

Значение по умолчанию

replicas

Количество реплик pod

1

revisionHistoryLimit – количество сохраняемых ресурсов для отката#

Параметр

Описание

Значение по умолчанию

revisionHistoryLimit

Количество предыдущих версий ресурса, сохраняемых для отката

10

extraArgs – аргументы запуска контейнера#

Параметр

Описание

Значение по умолчанию

extraArgs

Список дополнительных аргументов командной строки

[]

automountServiceAccountToken – автомонтирование токена ServiceAccount в pod#

Параметр

Описание

Значение по умолчанию

automountServiceAccountToken

Автомонтирование токена ServiceAccount в pod

true

service – настройки Service#

Параметр

Описание

Значение по умолчанию

service.port

Номер порта, который Service будет использовать для приема HTTP-трафика

8080

service.type

Тип Service.
Возможные значения: ClusterIP, NodePort, LoadBalancer

ClusterIP

service.ipDualStack.enabled

Включение поддержки двойного стека IP (IPv4/IPv6)

false

service.ipDualStack.ipFamilies

Список IP-семейств

- IPv6
- IPv4

service.ipDualStack.ipFamilyPolicy

Политика выбора семейства IP.
Возможные значения: PreferDualStack, RequireDualStack, SingleStack

PreferDualStack

service.nodePort

Порт на узле для типа NodePort

0

service.loadBalancerIP

IP-адрес для Service типа LoadBalancer

""

service.loadBalancerSourceRanges

CIDR-диапазоны исходных IP-адресов для LoadBalancer

[]

service.clusterIP

IP-адрес внутреннего кластерного Service

""

service.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

customLabels – метки для всех ресурсов#

Параметр

Описание

Значение по умолчанию

customLabels

Дополнительные метки, добавляемые ко всем создаваемым ресурсам.
Пример конфигурации:

app: kube-state-metrics

{}

selectorOverride – переопределение селектора меток#

Параметр

Описание

Значение по умолчанию

selectorOverride

Переопределение селектора меток для Deployment

{}

releaseLabel – метка релиза#

Параметр

Описание

Значение по умолчанию

releaseLabel

Включение добавления метки релиза для совместимости с kube-prometheus-stack

false

hostNetwork – использование сети хоста#

Параметр

Описание

Значение по умолчанию

hostNetwork

Активация подключения Service к сети хоста

false

hostUsers – монтирование пользовательского пространства хоста#

Параметр

Описание

Значение по умолчанию

hostUsers

Использование пользовательского пространства имен хоста для Deployment

~

rbac – настройки RBAC (управление доступом на основе ролей)#

Параметр

Описание

Значение по умолчанию

rbac.create

Активация автоматического создания ресурсов RBAC

true

rbac.customResourceState.createClusterRoleRules

Создание правил ClusterRole для CR

true

rbac.useClusterRole

Использование ClusterRole вместо Role для доступа ко всему кластеру

true

rbac.extraRules

Дополнительные правила RBAC для пользовательских ресурсов (CRD)

- apiGroups:
    - config.dropapp.ru
  resources:
    - "*"
  verbs:
    - list
    - watch
- apiGroups:
    - nodes.dropapp.ru
  resources:
    - dropappnodes
  verbs:
    - list
    - watch

rbac.clusterRoleSelectors

Селекторы ClusterRole для агрегации ролей по меткам.
Пример конфигурации:

- matchLabels:
    rbac.example.com/aggregate-to-monitoring: "true"

[]

authFilter – параметры встроенной аутентификации запросов#

Параметр

Описание

Значение по умолчанию

authFilter.enabled

Включение встроенной аутентификации и авторизации на эндпоинтах метрик

false

kubeRBACProxy – настройки sidecar-контейнера kube-rbac-proxy#

Параметр

Описание

Значение по умолчанию

kubeRBACProxy.enabled

Включение kube-rbac-proxy для защищенного HTTPS-доступа к метрикам

false

kubeRBACProxy.image.repository

Репозиторий образа kube-rbac-proxy

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kube-rbac-proxy/kube-rbac-proxy'

kubeRBACProxy.image.tag

Тег образа kube-rbac-proxy

v0.22.1

kubeRBACProxy.image.sha

SHA-хеш образа kube-rbac-proxy

""

kubeRBACProxy.image.pullPolicy

Политика загрузки образа kube-rbac-proxy

IfNotPresent

kubeRBACProxy.ignoreProbePaths

Активация исключения probe эндпоинтов probe из проверки kube-rbac-proxy

true

kubeRBACProxy.extraArgs

Дополнительные аргументы командной строки для kube-rbac-proxy

[]

kubeRBACProxy.containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

kubeRBACProxy.containerSecurityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

kubeRBACProxy.containerSecurityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- ALL

kubeRBACProxy.port

Имя порта контейнера

9090

kubeRBACProxy.proxyEndpointsPort

Порт прокси-эндпоинта

8888

kubeRBACProxy.resources.limits.cpu

Ограничение ресурсов CPU для контейнера

100m

kubeRBACProxy.resources.limits.memory

Ограничение ресурсов памяти для контейнера

128Mi

kubeRBACProxy.resources.requests.cpu

Запрашиваемые ресурсы CPU для контейнера

10m

kubeRBACProxy.resources.requests.memory

Запрашиваемые ресурсы памяти для контейнера

64Mi

kubeRBACProxy.volumeMounts

Дополнительные точки монтирования томов (VolumeMounts) в контейнере kube-rbac-proxy.
Пример конфигурации:

- mountPath: /etc/tls
  name: kube-rbac-proxy-tls
  readOnly: true

[]

serviceAccount – настройки сервисного аккаунта#

Параметр

Описание

Значение по умолчанию

serviceAccount.create

Создание ServiceAccount

true

serviceAccount.name

Имя ServiceAccount (генерируется автоматически, если не указано и serviceAccount.create: true)

~

serviceAccount.imagePullSecrets

Список Secret для загрузки образа контейнера из приватных реестров

[]

serviceAccount.annotations

Аннотации для ServiceAccount

{}

serviceAccount.automountServiceAccountToken

Автомонтирование токена ServiceAccount в pod

true

env – параметры переменных окружения#

Параметр

Описание

Значение по умолчанию

env

Дополнительные переменные окружения для контейнера.
Пример конфигурации:

- name: GOMAXPROCS
  valueFrom:
    resourceFieldRef:
      resource: limits.cpu

[]

prometheus – параметры интеграции с Prometheus и сбора метрик#

Параметр

Описание

Значение по умолчанию

prometheus.monitor.enabled

Создание ServiceMonitor для Prometheus Operator

false

prometheus.monitor.annotations

Аннотации для ServiceMonitor

{}

prometheus.monitor.additionalLabels

Дополнительные метки для ServiceMonitor

{}

prometheus.monitor.namespace

Пространство имен для размещения ServiceMonitor

""

prometheus.monitor.namespaceSelector

Селектор пространств имен для ServiceMonitor

[]

prometheus.monitor.jobLabel

Метка для определения имени job

""

prometheus.monitor.targetLabels

Целевые метки для добавления к метрикам

[]

prometheus.monitor.podTargetLabels

Метки pod для добавления к метрикам node-exporter

[]

prometheus.monitor.sampleLimit

Максимальное количество метрик, принимаемых Prometheus с каждого узла

0

prometheus.monitor.targetLimit

Лимит количества целей

0

prometheus.monitor.labelLimit

Лимит на общее количество отслеживаемых узлов в кластере

0

prometheus.monitor.labelNameLengthLimit

Максимальная длина имени метки

0

prometheus.monitor.labelValueLengthLimit

Максимальная длина значения метки

0

prometheus.monitor.selectorOverride

Переопределение селектора ServiceMonitor

{}

prometheus.monitor.http.interval

Интервал сбора HTTP-метрик

""

prometheus.monitor.http.scrapeTimeout

Тайм-аут сбора HTTP-метрик

""

prometheus.monitor.http.proxyUrl

URL-прокси для HTTP-метрик

""

prometheus.monitor.http.enableHttp2

Включение HTTP/2 для ServiceMonitor

false

prometheus.monitor.http.honorLabels

Сохранение оригинальных меток

false

prometheus.monitor.http.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

prometheus.monitor.http.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

prometheus.monitor.http.scheme

Протокол для сбора метрик

""

prometheus.monitor.http.bearerTokenFile

Путь к файлу bearer-токена для аутентификации

""

prometheus.monitor.http.bearerTokenSecret

Secret с bearer-токеном для безопасного подключения к эндпоинту pod.
Пример конфигурации:

name: secret-name
key: key-name

{}

prometheus.monitor.http.tlsConfig

TLS-конфигурация для защищенного HTTP-подключения к pod

{}

prometheus.monitor.metrics.interval

Интервал сбора метрик для ServiceMonitor. Пустое значение означает использование интервала по умолчанию

""

prometheus.monitor.metrics.scrapeTimeout

Тайм-аут одного запроса сбора метрик для ServiceMonitor. Пустое значение означает использование тайм-аута по умолчанию

""

prometheus.monitor.metrics.proxyUrl

URL прокси-сервера для направления запросов сбора метрик. Пустое значение означает прямое подключение

""

prometheus.monitor.metrics.enableHttp2

Включение поддержки HTTP/2 для запросов сбора метрик

false

prometheus.monitor.metrics.honorLabels

Использование оригинальных меток цели при конфликте с метками ServiceMonitor

false

prometheus.monitor.metrics.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

prometheus.monitor.metrics.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

prometheus.monitor.metrics.scheme

Схема протокола для запросов сбора метрик (http/https). Пустое значение означает использование схемы по умолчанию

""

prometheus.monitor.metrics.bearerTokenFile

Путь к файлу с bearer-токеном для аутентификации на эндпоинте метрик

""

prometheus.monitor.metrics.bearerTokenSecret

Ссылка на Secret с bearer-токеном для аутентификации на эндпоинте метрик.
Пример конфигурации:

name: secret-name
key: key-name

{}

prometheus.monitor.metrics.tlsConfig

TLS-конфигурация для защищенного подключения к эндпоинту метрик

{}

prometheus.scrapeconfig.enabled

Создание ресурса ScrapeConfig вместо ServiceMonitor

false

prometheus.scrapeconfig.annotations

Аннотации для ресурса ScrapeConfig

{}

prometheus.scrapeconfig.additionalLabels

Дополнительные метки для ресурса ScrapeConfig

{}

prometheus.scrapeconfig.jobName

Имя job в конфигурации ScrapeConfig

kube-state-metrics

prometheus.scrapeconfig.sampleLimit

Максимальное количество метрик, принимаемых за один опрос. Значение 0 означает отсутствие ограничений

0

prometheus.scrapeconfig.targetLimit

Максимальное количество целей сбора метрик. Значение 0 означает отсутствие ограничений

0

prometheus.scrapeconfig.labelLimit

Максимальное количество меток на один образец данных. Значение 0 означает отсутствие ограничений

0

prometheus.scrapeconfig.labelNameLengthLimit

Максимальная длина имени метки. Значение 0 означает отсутствие ограничений

0

prometheus.scrapeconfig.labelValueLengthLimit

Максимальная длина значения метки. Значение 0 означает отсутствие ограничений

0

prometheus.scrapeconfig.staticConfigLabels

Статические метки, добавляемые ко всем целям сбора метрик

{}

prometheus.scrapeconfig.scrapeInterval

Интервал сбора метрик для ScrapeConfig. Пустое значение означает использование интервала по умолчанию

""

prometheus.scrapeconfig.scrapeTimeout

Тайм-аут одного запроса сбора метрик для ScrapeConfig. Пустое значение означает использование тайм-аута по умолчанию

""

prometheus.scrapeconfig.proxyUrl

URL прокси-сервера для направления запросов сбора метрик. Пустое значение означает прямое подключение

""

prometheus.scrapeconfig.enableHttp2

Включение поддержки HTTP/2 для запросов сбора метрик

false

prometheus.scrapeconfig.honorLabels

Использование оригинальных меток цели при конфликте с метками ScrapeConfig

true

prometheus.scrapeconfig.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

prometheus.scrapeconfig.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

prometheus.scrapeconfig.scheme

Схема протокола для запросов сбора метрик (http/https). Пустое значение означает использование схемы по умолчанию

""

prometheus.scrapeconfig.tlsConfig

TLS-конфигурация для защищенного подключения к эндпоинту метрик

{}

networkPolicy – настройки NetworkPolicy для ограничения сетевого доступа#

Параметр

Описание

Значение по умолчанию

networkPolicy.enabled

Активация создания NetworkPolicy

false

networkPolicy.flavor

Тип NetworkPolicy.
Возможные значения: kubernetes (стандартный), cilium (Cilium)
Пример конфигурации:

egress:
  - {}
ingress:
  - {}
podSelector:
  matchLabels:
    app.kubernetes.io/name: kube-state-metrics

~

securityContext – параметры контекста безопасности pod#

Параметр

Описание

Значение по умолчанию

securityContext.enabled

Включение контекста безопасности для pod

true

securityContext.runAsGroup

ID группы для запуска контейнера

65534

securityContext.runAsUser

ID пользователя для запуска контейнера

65534

securityContext.fsGroup

Идентификатор группы файловой системы для pod, назначаемый владельцем всех файлов и каталогов на подключенных томах

65534

securityContext.runAsNonRoot

Запуск от имени пользователя без административных полномочий

true

securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

containerSecurityContext – параметры контекста безопасности контейнера#

Параметр

Описание

Значение по умолчанию

containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

containerSecurityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

containerSecurityContext.capabilities.drop

Список возможностей (capabilities), отзываемых у контейнера

- ALL

nodeSelector – селектор узлов для планирования pod#

Параметр

Описание

Значение по умолчанию

nodeSelector

Селектор узлов для планирования pod

{}

affinity – правила привязки (affinity и anti-affinity) pod к узлам#

Параметр

Описание

Значение по умолчанию

affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам.
Пример конфигурации:

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/name: kube-state-metrics
      topologyKey: kubernetes.io/hostname

{}

tolerations – параметры Toleration для pod#

Параметр

Описание

Значение по умолчанию

tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

topologySpreadConstraints – ограничения распределения pod по топологии#

Параметр

Описание

Значение по умолчанию

topologySpreadConstraints

Ограничения распределения pod по топологии

[]

annotations – аннотации для Deployment#

Параметр

Описание

Значение по умолчанию

annotations

Аннотации для Deployment или StatefulSet

{}

labels – общие метки для всех создаваемых ресурсов#

Параметр

Описание

Значение по умолчанию

labels

Метки, добавляемые ко всем создаваемым ресурсам

{}

podAnnotations – аннотации для pod#

Параметр

Описание

Значение по умолчанию

podAnnotations

Аннотации, добавляемые ко всем создаваемым pod

{}

podLabels – метки для pod#

Параметр

Описание

Значение по умолчанию

podLabels

Метки, добавляемые ко всем создаваемым pod

{}

podDisruptionBudget – ограничение одновременной недоступности pod#

Параметр

Описание

Значение по умолчанию

podDisruptionBudget

Настройки PodDisruptionBudget для ограничения количества одновременно недоступных pod

{}

metricAllowlist – список разрешенных метрик#

Параметр

Описание

Значение по умолчанию

metricAllowlist

Список разрешенных метрик (имена или регулярные выражения). Взаимоисключающий с denylist

[]

metricDenylist – список исключаемых метрик#

Параметр

Описание

Значение по умолчанию

metricDenylist

Список исключаемых метрик (имена или регулярные выражения). Взаимоисключающий с allowlist

[]

metricLabelsAllowlist – список разрешенных меток ресурсов#

Параметр

Описание

Значение по умолчанию

metricLabelsAllowlist

Список меток Kubernetes для включения в метрики ресурсов.
Пример конфигурации:

- pods=[*]
- namespaces=[k8s-label-1,k8s-label-n]
- pods=[*]

metricAnnotationsAllowList – список разрешенных аннотаций ресурсов#

Параметр

Описание

Значение по умолчанию

metricAnnotationsAllowList

Список аннотаций Kubernetes для включения в метрики ресурсов.
Пример конфигурации:

- pods=[*]
- pods=[k8s-annotation-1,k8s-annotation-n]
- pods=[*]

collectors – набор коллекторов метрик#

Параметр

Описание

Значение по умолчанию

collectors

Список включенных коллекторов Kubernetes-ресурсов

- certificatesigningrequests
- configmaps
- cronjobs
- daemonsets
- deployments
- endpointslices
- horizontalpodautoscalers
- ingresses
- jobs
- leases
- limitranges
- mutatingwebhookconfigurations
- namespaces
- networkpolicies
- nodes
- persistentvolumeclaims
- persistentvolumes
- poddisruptionbudgets
- pods
- replicasets
- replicationcontrollers
- resourcequotas
- secrets
- services
- statefulsets
- storageclasses
- validatingwebhookconfigurations
- volumeattachments

collectorsExclude – список коллекторов, исключаемых из сбора метрик#

Параметр

Описание

Значение по умолчанию

collectorsExclude

Список коллекторов, исключаемых из сбора метрик.
Пример конфигурации:

- pods

[]

collectorsExtra – дополнительные коллекторы#

Параметр

Описание

Значение по умолчанию

collectorsExtra

Дополнительные коллекторы, добавленные к стандартному набору.
Пример конфигурации:

- rolebindings

[]

kubeconfig – использование внешнего kubeconfig#

Параметр

Описание

Значение по умолчанию

kubeconfig.enabled

Включение использования kubeconfig-файла вместо in-cluster-конфигурации

false

kubeconfig.secret

Настройки Secret с base64-закодированным kubeconfig-файлом

~

customResourceState – настройки CustomResourceStateMetrics#

Параметр

Описание

Значение по умолчанию

customResourceState.enabled

Включение сбора метрик для пользовательских ресурсов (CRD)

true

customResourceState.create

Создание ConfigMap с конфигурацией CustomResourceStateMetrics

true

customResourceState.name

Имя ConfigMap с конфигурацией CustomResourceStateMetrics

dapp-state-metrics

customResourceState.key

Ключ ConfigMap, в котором хранится конфигурация

config.yaml

customResourceState.config

Определение CustomResourceStateMetrics

kind: CustomResourceStateMetrics
spec:
  resources:
    - groupVersionKind:
        group: config.dropapp.ru
        version: v1alpha1
        kind: Component
      labelsFromPath:
        name:
          - metadata
          - name
      metricNamePrefix: dapp
      metrics:
        - name: component_phase
          help: "Exposes the phase of this Component"
          each:
            type: StateSet
            stateSet:
              path:
                - status
              list:
                - Ready
                - Error
              labelName: phase
              valueFrom:
                - phase
    - groupVersionKind:
        group: config.dropapp.ru
        version: v1alpha1
        kind: Tool
      labelsFromPath:
        name:
          - metadata
          - name
      metricNamePrefix: dapp
      metrics:
        - name: tool_phase
          help: "Exposes the phase of this Tool"
          each:
            type: StateSet
            stateSet:
              path:
                - status
              list:
                - Ready
                - Error
              labelName: phase
              valueFrom:
                - phase
    - groupVersionKind:
        group: config.dropapp.ru
        kind: ClusterMetadata
        version: v1alpha1
      labelsFromPath:
        name:
          - metadata
          - name
      metricNamePrefix: dapp
      metrics:
        - each:
            info:
              labelsFromPath:
                dapp_cluster_name:
                  - spec
                  - clusterName
                dapp_cluster_version:
                  - spec
                  - dappVersion
          type: Info
          help: Exposes DropApp cluster metadata
          name: cluster_metadata

releaseNamespace – ограничение сбора ресурсов пространств имен#

Параметр

Описание

Значение по умолчанию

releaseNamespace

Сбор метрик только из пространства имен

false

namespaces – список пространств имен для сбора ресурсов#

Параметр

Описание

Значение по умолчанию

namespaces

Список пространств имен через запятую для сбора метрик (по умолчанию все)

""

namespacesDenylist – список исключенных пространств имен#

Параметр

Описание

Значение по умолчанию

namespacesDenylist

Список исключенных пространств имен через запятую

""

namespaceOverride – переопределение пространства имен#

Параметр

Описание

Значение по умолчанию

namespaceOverride

Переопределение пространства имен для Deployment

""

resources – запросы и ограничения ресурсов контейнера#

Параметр

Описание

Значение по умолчанию

resources

Запросы и ограничения ресурсов для контейнера.
Пример конфигурации:

limits:
  cpu: 100m
  memory: 64Mi
requests:
  cpu: 10m
  memory: 32Mi

{}

selfMonitor – параметры самомониторинга#

Параметр

Описание

Значение по умолчанию

selfMonitor.enabled

Включение экспорта метрик самоконтроля и создание ресурсов Service или ServiceMonitor для их сбора

false

selfMonitor.telemetryHost

Хост для эндпоинта telemetry.
Пример конфигурации:

telemetryHost: 0.0.0.0
telemetryPort: 8081
telemetryNodePort: 0

~

verticalPodAutoscaler – настройки VerticalPodAutoscaler#

Параметр

Описание

Значение по умолчанию

verticalPodAutoscaler.enabled

Создание VerticalPodAutoscaler

false

verticalPodAutoscaler.controlledResources

Список ресурсов, которыми может управлять VPA.
Пример конфигурации:

- cpu
- memory

[]

verticalPodAutoscaler.maxAllowed

Максимально допустимые ресурсы, которые VPA может назначить pod.
Пример конфигурации:

cpu: 200m
memory: 100Mi

{}

verticalPodAutoscaler.minAllowed

Минимально допустимые ресурсы, которые VPA может назначить pod.
Пример конфигурации:

cpu: 200m
memory: 100Mi

{}

verticalPodAutoscaler.updatePolicy

Политика обновления VPA.
Пример конфигурации:

minReplicas: 1
updateMode: Auto

~

volumeMounts – дополнительные точки монтирования томов#

Параметр

Описание

Значение по умолчанию

volumeMounts

Дополнительные точки монтирования томов (VolumeMount).
Пример конфигурации:

- mountPath: /etc/config
  name: config-volume

[]

volumes – дополнительные тома (Volume)#

Параметр

Описание

Значение по умолчанию

volumes

Дополнительные тома (Volume) для pod.
Пример конфигурации:

- configMap:
    name: cm-for-volume
  name: config-volume

[]

extraManifests – дополнительные Kubernetes-манифесты#

Параметр

Описание

Значение по умолчанию

extraManifests

Дополнительные манифесты Kubernetes.
Пример конфигурации:

- apiVersion: v1
  kind: ConfigMap
  metadata:
    labels:
      name: prometheus-extra
  data:
    extra-data: "value"

[]

containers – дополнительные контейнеры#

Параметр

Описание

Значение по умолчанию

containers

Дополнительные контейнеры в pod.
Пример конфигурации:

- name: crd-init
  image: kiwigrid/k8s-sidecar:latest

[]

initContainers – init-контейнеры для pod#

Параметр

Описание

Значение по умолчанию

initContainers

Init-контейнеры для pod.
Пример конфигурации:

- name: crd-sidecar
  image: kiwigrid/k8s-sidecar:latest

[]

dnsPolicy – политика разрешения DNS для pod#

Параметр

Описание

Значение по умолчанию

dnsPolicy

Политика разрешения DNS для pod

ClusterFirst

dnsConfig – пользовательская конфигурация DNS для pod#

Параметр

Описание

Значение по умолчанию

dnsConfig

Пользовательская конфигурация DNS для pod

{}

startupProbe – параметры проверки успешного запуска#

Параметр

Описание

Значение по умолчанию

startupProbe.enabled

Включение проверки успешного запуска приложения внутри контейнера

false

startupProbe.failureThreshold

Количество неудачных попыток проверки запуска

3

startupProbe.httpGet.httpHeaders

HTTP-заголовки для проверки запуска.
Пример конфигурации:

- name: Custom-Header
  value: custom-value

[]

startupProbe.httpGet.scheme

Схема обращения для проверки запуска.
Возможные значения: http, https

http

startupProbe.initialDelaySeconds

Задержка в секундах перед первой стартовой проверкой

0

startupProbe.periodSeconds

Интервал в секундах между проверками запуска

10

startupProbe.successThreshold

Количество успешных проверок запуска, необходимое для перевода контейнера в состояние «запущен»

1

startupProbe.timeoutSeconds

Тайм-аут ожидания проверки запуска

5

livenessProbe – параметры проверки работоспособности#

Параметр

Описание

Значение по умолчанию

livenessProbe.failureThreshold

Количество неудачных попыток до перевода контейнера в статус NotReady

3

livenessProbe.httpGet.httpHeaders

HTTP-заголовки для проверки работоспособности.
Пример конфигурации:

- name: Custom-Header
  value: custom-value

[]

livenessProbe.httpGet.scheme

Схема обращения для проверки работоспособности.
Возможные значения: http, https

http

livenessProbe.initialDelaySeconds

Задержка в секундах перед первой проверкой работоспособности

5

livenessProbe.periodSeconds

Интервал в секундах между проверками работоспособности

10

livenessProbe.successThreshold

Количество успешных попыток для подтверждения работоспособности

1

livenessProbe.timeoutSeconds

Тайм-аут ожидания проверки работоспособности

5

readinessProbe – параметры проверки готовности#

Параметр

Описание

Значение по умолчанию

readinessProbe.failureThreshold

Количество неудачных попыток до перевода контейнера в статус NotReady

3

readinessProbe.httpGet.httpHeaders

HTTP-заголовки для проверки готовности.
Пример конфигурации:

- name: Custom-Header
  value: custom-value

[]

readinessProbe.httpGet.scheme

Схема обращения для проверки готовности.
Возможные значения: http, https

http

readinessProbe.initialDelaySeconds

Задержка в секундах перед первой проверкой готовности

5

readinessProbe.periodSeconds

Интервал в секундах между проверками готовности

10

readinessProbe.successThreshold

Количество успешных попыток для подтверждения готовности

1

readinessProbe.timeoutSeconds

Тайм-аут ожидания проверки готовности

5