Victoria-metrics-k8s-stack#

Victoria-metrics-k8s-stack - это высокопроизводительная и масштабируемая система мониторинга и база данных временных рядов, оптимизированная для хранения и обработки большого количества метрик. Она совместима с Prometheus и может использоваться как в одиночном, так и в кластерном режиме.

Основные задачи и возможности
  • Высокая производительность:

    VictoriaMetrics способна обрабатывать и хранить миллионы метрик в секунду, что делает ее эффективным решением для крупных кластеров Kubernetes.

  • Поддержка удаленного хранения метрик:

    Может использоваться как долгосрочное хранилище метрик для Prometheus, обеспечивая экономию ресурсов и централизованное хранение данных.

  • Гибкая архитектура:

    Поддерживает как монолитный (single-node), так и кластерный режим работы, что позволяет адаптировать решение под любые сценарии использования.

  • Встроенный HTTP API и Grafana интеграция:

    Позволяет легко интегрироваться с Grafana для построения панелей и визуализации метрик кластера.

Примечание

Victoria-metrics-k8s-stack устанавливается по умолчанию с компонентом Monitoring. По умолчанию в кластере DropApp работает в высокодоступном режиме cluster. С этим инструментом автоматически устанавливаются все нужные правила для alerting, все нужные service/node scrapes. Все правила интегрируются в инструмент Console и автоматически создается интеграция с инструментом Grafana.

Конфигурация values#

Значения можно переопределить через редактирование инструмента с именем victoria-metrics-k8s-stack и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».

nameOverride - переопределить имя релиза#

Параметр

Описание

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

nameOverride

Переопределить имя чарта

""

fullnameOverride - полное переопределение имен Kubernetes-объектов#

Параметр

Описание

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

fullnameOverride

Полное переопределение имени ресурсов

""

tenant - идентификатор тенанта (мульти-тенантный режим VM)#

Параметр

Описание

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

tenant

Идентификатор тенанта для мульти-тенантности

"0"

defaultDashboards - настройки панелей по умолчанию для Grafana#

Параметр

Описание

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

defaultDashboards.enabled

Включить/отключить компонент

true

defaultDashboards.defaultTimezone

Временная зона по умолчанию

"utc"

defaultDashboards.labels

Метки Kubernetes для ресурсов

{}

defaultDashboards.annotations

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

{}

defaultDashboards.grafanaOperator.enabled

Создать ресурсы для Grafana Operator

false

defaultDashboards.grafanaOperator.spec.instanceSelector.matchLabels.dashboards

Настройки панелей

"grafana"

defaultDashboards.grafanaOperator.spec.allowCrossNamespaceImport

Разрешить импорт из других namespace

false

defaultDashboards.dashboards.victoriametrics-vmalert.enabled

Включить панель VMAlert

true

defaultDashboards.dashboards.victoriametrics-operator.enabled

Включить панель VM Operator

true

defaultDashboards.dashboards.node-exporter-full.enabled

Включить полный панель Node Exporter

true

defaultRules - настройки правил мониторинга и оповещений по умолчанию#

Параметр

Описание

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

defaultRules.create

Создать ресурс

false

defaultRules.group.spec.params

HTTP-параметры для запросов

{}

defaultRules.rule.spec.labels

Метки Kubernetes для ресурсов

{}

defaultRules.rule.spec.annotations

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

{}

defaultRules.alerting.spec.labels

Метки Kubernetes для ресурсов

{}

defaultRules.alerting.spec.annotations

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

{}

defaultRules.recording.spec.labels

Метки Kubernetes для ресурсов

{}

defaultRules.recording.spec.annotations

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

{}

defaultRules.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.etcd.create

Создать правила для Etcd

true

defaultRules.groups.etcd.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.general.create

Создать общие правила

true

defaultRules.groups.general.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerCpuLimits.create

Создать правила CPU-лимитов контейнеров

true

defaultRules.groups.k8sContainerCpuLimits.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerCpuRequests.create

Создать правила CPU-запросов контейнеров

true

defaultRules.groups.k8sContainerCpuRequests.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerCpuUsageSecondsTotal.create

Создать правила использования CPU

true

defaultRules.groups.k8sContainerCpuUsageSecondsTotal.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerMemoryLimits.create

Создать правила лимитов памяти

true

defaultRules.groups.k8sContainerMemoryLimits.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerMemoryRequests.create

Создать правила запросов памяти

true

defaultRules.groups.k8sContainerMemoryRequests.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerMemoryRss.create

Создать правила RSS памяти

true

defaultRules.groups.k8sContainerMemoryRss.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerMemoryCache.create

Создать правила кеша памяти

true

defaultRules.groups.k8sContainerMemoryCache.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerMemoryWorkingSetBytes.create

Создать правила рабочего набора памяти

true

defaultRules.groups.k8sContainerMemoryWorkingSetBytes.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerMemorySwap.create

Создать правила swap памяти

true

defaultRules.groups.k8sContainerMemorySwap.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sPodOwner.create

Создать правила владельцев подов

true

defaultRules.groups.k8sPodOwner.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.k8sContainerResource.create

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

true

defaultRules.groups.k8sContainerResource.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubeApiserver.create

Создать правила API сервера

true

defaultRules.groups.kubeApiserver.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubeApiserverAvailability.create

Создать правила доступности API

true

defaultRules.groups.kubeApiserverAvailability.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubeApiserverBurnrate.create

Создать правила скорости ошибок API

true

defaultRules.groups.kubeApiserverBurnrate.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubeApiserverHistogram.create

Создать правила гистограмм API

true

defaultRules.groups.kubeApiserverHistogram.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubeApiserverSlos.create

Создать правила SLO API

true

defaultRules.groups.kubeApiserverSlos.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubelet.create

Создать правила Kubelet

true

defaultRules.groups.kubelet.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubePrometheusGeneral.create

Создать общие правила Prometheus

true

defaultRules.groups.kubePrometheusGeneral.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubePrometheusNodeRecording.create

Создать recording правила узлов

true

defaultRules.groups.kubePrometheusNodeRecording.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesApps.create

Создать правила приложений

true

defaultRules.groups.kubernetesApps.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesApps.targetNamespace

Регулярное выражение для целевых namespace

".*"

defaultRules.groups.kubernetesResources.create

Создать правила ресурсов Kubernetes

true

defaultRules.groups.kubernetesResources.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesStorage.create

Создать правила хранилища

true

defaultRules.groups.kubernetesStorage.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesStorage.targetNamespace

Регулярное выражение для целевых namespace

".*"

defaultRules.groups.kubernetesSystem.create

Создать правила системы Kubernetes

true

defaultRules.groups.kubernetesSystem.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesSystemKubelet.create

Создать правила системы Kubelet

true

defaultRules.groups.kubernetesSystemKubelet.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesSystemApiserver.create

Создать правила системы API сервера

true

defaultRules.groups.kubernetesSystemApiserver.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesSystemControllerManager.create

Создать правила системы Controller Manager

true

defaultRules.groups.kubernetesSystemControllerManager.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubeScheduler.create

Создать правила планировщика

true

defaultRules.groups.kubeScheduler.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubernetesSystemScheduler.create

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

true

defaultRules.groups.kubernetesSystemScheduler.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.kubeStateMetrics.create

Создать правила Kube State Metrics

true

defaultRules.groups.kubeStateMetrics.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.nodeNetwork.create

Создать правила сети узлов

true

defaultRules.groups.nodeNetwork.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.node.create

Создать правила узлов

true

defaultRules.groups.node.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.vmagent.create

Создать правила VMAgent

true

defaultRules.groups.vmagent.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.vmsingle.create

Создать правила VMSingle

true

defaultRules.groups.vmsingle.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.vmcluster.create

Создать правила VMCluster

true

defaultRules.groups.vmcluster.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.vmHealth.create

Создать правила здоровья VM

true

defaultRules.groups.vmHealth.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.vmoperator.create

Создать правила VM Operator

true

defaultRules.groups.vmoperator.rules

Правила мониторинга и оповещений

{}

defaultRules.groups.alertmanager.create

Создать правила AlertManager

true

defaultRules.groups.alertmanager.rules

Правила мониторинга и оповещений

{}

defaultRules.runbookUrl

Базовый URL для runbook-документации

"https://runbooks.prometheus-operator.dev/runbooks"

defaultRules.labels.app.kubernetes.io/part-of

Метка части приложения

"dropapp-monitoring"

defaultRules.labels.prometheus

Метка Prometheus

"k8s"

defaultRules.annotations

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

{}

vmsingle - настройки VMSingle (одиночная инсталляция VictoriaMetrics)#

Параметр

Описание

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

vmsingle.annotations

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

{}

vmsingle.enabled

Включить/отключить компонент

false

vmsingle.spec.port

Порт сервиса

"8429"

vmsingle.spec.image.repository

Репозиторий Docker-образа

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-victoriametrics/victoria-metrics'

vmsingle.spec.image.tag

Тег Docker-образа

"v1.110.5"

vmsingle.spec.retentionPeriod

Период хранения данных

"1"

vmsingle.spec.replicaCount

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

1

vmsingle.spec.extraArgs

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

{}

vmsingle.spec.storage.accessModes

Режимы доступа к хранилищу

['ReadWriteOnce']

vmsingle.spec.storage.resources.requests.storage

Запрашиваемый размер хранилища

"20Gi"

vmsingle.ingress.enabled

Включить создание Ingress

false

vmsingle.ingress.annotations

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

{}

vmsingle.ingress.labels

Метки Kubernetes для ресурсов

{}

vmsingle.ingress.path

Путь для Ingress

""

vmsingle.ingress.pathType

Тип пути для Ingress (Prefix, Exact)

"Prefix"

vmsingle.ingress.ingressClassName

Класс Ingress-контроллера

""

vmsingle.ingress.hosts

Список хостов для Ingress

[]

vmsingle.ingress.extraPaths

Дополнительные пути для Ingress

[]

vmsingle.ingress.tls

Настройки TLS для Ingress

[]

vmcluster - настройки VMCluster (кластерная инсталляция VictoriaMetrics)#

Параметр

Описание

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

vmcluster.enabled

Включить/отключить компонент

true

vmcluster.annotations

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

{}

vmcluster.spec.retentionPeriod

Период хранения данных

"1"

vmcluster.spec.replicationFactor

Фактор репликации данных

2

vmcluster.spec.vmstorage.image.repository

Репозиторий Docker-образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-victoriametrics-cluster/vmstorage'

vmcluster.spec.vmstorage.image.tag

Тег Docker-образа

"v1.110.0-cluster"

vmcluster.spec.vmstorage.replicaCount

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

2

vmcluster.spec.vmstorage.storageDataPath

Путь к данным в хранилище

"/vm-data"

vmcluster.spec.vmstorage.resources

Ресурсы CPU и памяти для pod

{}

vmcluster.spec.vmselect.port

Порт сервиса

"8481"

vmcluster.spec.vmselect.image.repository

Репозиторий Docker-образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-victoriametrics-cluster/vmselect'

vmcluster.spec.vmselect.image.tag

Тег Docker-образа

"v1.110.0-cluster"

vmcluster.spec.vmselect.replicaCount

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

2

vmcluster.spec.vmselect.cacheMountPath

Путь монтирования кеша

"/select-cache"

vmcluster.spec.vmselect.extraArgs

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

{}

vmcluster.spec.vmselect.resources

Ресурсы CPU и памяти для pod

{}

vmcluster.spec.vminsert.port

Порт сервиса

"8480"

vmcluster.spec.vminsert.image.repository

Репозиторий Docker-образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-victoriametrics-cluster/vminsert'

vmcluster.spec.vminsert.image.tag

Тег Docker-образа

"v1.110.0-cluster"

vmcluster.spec.vminsert.replicaCount

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

2

vmcluster.spec.vminsert.extraArgs

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

{}

vmcluster.spec.vminsert.resources

Ресурсы CPU и памяти для pod

{}

vmcluster.ingress.storage.enabled

Включить создание Ingress

false

vmcluster.ingress.storage.annotations

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

{}

vmcluster.ingress.storage.labels

Метки Kubernetes для ресурсов

{}

vmcluster.ingress.storage.ingressClassName

Класс Ingress-контроллера

"nginx"

vmcluster.ingress.storage.pathType

Тип пути для Ingress (Prefix, Exact)

"Prefix"

vmcluster.ingress.storage.path

Путь для Ingress

""

vmcluster.ingress.storage.hosts

Список хостов для Ingress

[]

vmcluster.ingress.storage.extraPaths

Дополнительные пути для Ingress

[]

vmcluster.ingress.storage.tls

Настройки TLS для Ingress

[]

vmcluster.ingress.select.enabled

Включить создание Ingress

true

vmcluster.ingress.select.annotations

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

{}

vmcluster.ingress.select.labels

Метки Kubernetes для ресурсов

{}

vmcluster.ingress.select.ingressClassName

Класс Ingress-контроллера

"nginx"

vmcluster.ingress.select.pathType

Тип пути для Ingress (Prefix, Exact)

"Prefix"

vmcluster.ingress.select.path

Путь для Ingress

'{{ dig "extraArgs" "http.pathPrefix" "/" .Values.vmcluster.spec.vmselect }}'

vmcluster.ingress.select.hosts

Список хостов для Ingress

['metrics.{{ .Values.global.publicDomain

vmcluster.ingress.select.extraPaths

Дополнительные пути для Ingress

[]

vmcluster.ingress.select.tls

Настройки TLS для Ingress

[{'secretName': 'ingress-tls', 'hosts': ['metrics.{{ .Values.global.publicDomain

vmcluster.ingress.insert.enabled

Включить создание Ingress

false

vmcluster.ingress.insert.annotations

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

{}

vmcluster.ingress.insert.labels

Метки Kubernetes для ресурсов

{}

vmcluster.ingress.insert.ingressClassName

Класс Ingress-контроллера

"nginx

vmcluster.ingress.insert.pathType

Тип пути для Ingress (Prefix, Exact)

"Prefix"

vmcluster.ingress.insert.path

Путь для Ingress

"/"

vmcluster.ingress.insert.hosts

Список хостов для Ingress

['vminsert.{{ .Values.global.publicDomain

vmcluster.ingress.insert.extraPaths

Дополнительные пути для Ingress

[]

vmcluster.ingress.insert.tls

Настройки TLS для Ingress

[{'secretName': 'ingress-tls', 'hosts': ['vminsert.{{ .Values.global.publicDomain

vmalert - настройки VMAlert для выполнения правил оповещений#

Параметр

Описание

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

vmalert.annotations

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

{}

vmalert.enabled

Включить/отключить компонент

true

vmalert.remoteWriteVMAgent

Использовать VMAgent для remote write

false

vmalert.spec.port

Порт сервиса

"8080"

vmalert.spec.selectAllByDefault

Выбирать все ресурсы по умолчанию

true

vmalert.spec.image.repository

Репозиторий Docker-образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-victoriametrics/vmalert'

vmalert.spec.image.tag

Тег Docker-образа

"v1.110.5"

vmalert.spec.evaluationInterval

Интервал выполнения правил

"20s"

vmalert.spec.notifier.url

URL Alertmanager для отправки оповещений

"http://alertmanager.dapp-alerting.svc:9093"

vmalert.spec.extraArgs.http.pathPrefix

Префикс пути HTTP

"/"

vmalert.spec.externalLabels

Внешние метки для метрик

{}

vmalert.templateFiles

Файлы шаблонов для оповещений

{}

vmalert.additionalNotifierConfigs

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

{}

vmalert.ingress.enabled

Включить создание Ingress

false

vmalert.ingress.ingressClassName

Класс Ingress-контроллера

"nginx"

vmalert.ingress.annotations

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

{}

vmalert.ingress.labels

Метки Kubernetes для ресурсов

{}

vmalert.ingress.path

Путь для Ingress

"/"

vmalert.ingress.pathType

Тип пути для Ingress (Prefix, Exact)

"Prefix"

vmalert.ingress.hosts

Список хостов для Ingress

['vmalert.{{ .Values.global.publicDomain }}']

vmalert.ingress.extraPaths

Дополнительные пути для Ingress

[]

vmalert.ingress.tls

Настройки TLS для Ingress

[{'secretName': 'ingress-tls', 'hosts': ['vmalert.{{ .Values.global.publicDomain }}']

vmauth - настройки VMAuth для аутентификации и авторизации#

Параметр

Описание

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

vmauth.enabled

Включить/отключить компонент

false

vmauth.annotations

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

{}

vmauth.spec.port

Порт сервиса

"8427"

vmauth.spec.image.repository

Репозиторий Docker-образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-victoriametrics/vmauth'

vmauth.spec.image.tag

Тег Docker-образа

"v1.110.5"

vmauth.spec.unauthorizedUserAccessSpec.discover_backend_ips

Обнаруживать IP-адреса бэкендов

true

vmauth.spec.unauthorizedUserAccessSpec.url_map

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

[{'src_paths': ['{{ .vm.read.path }}/.*'], 'url_prefix': ['{{ urlJoin (omit .vm.read "path") }}/']}]

vmagent - настройки VMAgent для сбора метрик#

Параметр

Описание

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

vmagent.enabled

Включить/отключить компонент

true

vmagent.annotations

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

{}

vmagent.additionalRemoteWrites

Дополнительные удаленные источники записи

[]

vmagent.spec.port

Порт сервиса

"8429"

vmagent.spec.selectAllByDefault

Выбирать все ресурсы по умолчанию

true

vmagent.spec.image.repository

Репозиторий Docker-образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-victoriametrics/vmagent'

vmagent.spec.image.tag

Тег Docker-образа

"v1.110.5"

vmagent.spec.scrapeInterval

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

"20s"

vmagent.spec.externalLabels

Внешние метки для метрик

{}

vmagent.spec.extraArgs.promscrape.streamParse

Включить потоковый парсинг метрик

"true"

vmagent.spec.extraArgs.promscrape.dropOriginalLabels

Удалять оригинальные метки

"true"

vmagent.ingress.enabled

Включить создание Ingress

false

vmagent.ingress.ingressClassName

Класс Ingress-контроллера

"nginx"

vmagent.ingress.annotations

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

{}

vmagent.ingress.labels

Метки Kubernetes для ресурсов

{}

vmagent.ingress.path

Путь для Ingress

"/"

vmagent.ingress.pathType

Тип пути для Ingress (Prefix, Exact)

"Prefix"

vmagent.ingress.hosts

Список хостов для Ingress

['vmagent.{{ .Values.global.publicDomain

vmagent.ingress.extraPaths

Дополнительные пути для Ingress

[]

vmagent.ingress.tls

Настройки TLS для Ingress

[{'secretName': 'ingress-tls', 'hosts': ['vmagent.{{ .Values.global.publicDomain

kubelet - настройки сбора метрик с kubelet#

Параметр

Описание

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

kubelet.enabled

Включить/отключить компонент

false

kubelet.vmScrapes.cadvisor.enabled

Включить сбор метрик cAdvisor

true

kubelet.vmScrapes.cadvisor.spec.path

Путь к метрикам cAdvisor

"/metrics/cadvisor"

kubelet.vmScrapes.probes.enabled

Включить сбор метрик проверок

true

kubelet.vmScrapes.probes.spec.path

Путь к метрикам проверок

"/metrics/probes"

kubelet.vmScrapes.resources.enabled

Включить сбор метрик ресурсов

true

kubelet.vmScrapes.resources.spec.path

Путь к метрикам ресурсов

"/metrics/resource"

kubelet.vmScrapes.kubelet.spec

Спецификация для сбора метрик kubelet

{}

kubelet.vmScrape.kind

Тип ресурса для сбора метрик

"VMNodeScrape"

kubelet.vmScrape.spec.scheme

Схема подключения (http/https)

"https"

kubelet.vmScrape.spec.honorLabels

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

true

kubelet.vmScrape.spec.interval

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

"30s"

kubelet.vmScrape.spec.scrapeTimeout

Время ожидания сбора метрик

"5s"

kubelet.vmScrape.spec.tlsConfig.insecureSkipVerify

Пропустить проверку TLS-сертификата

true

kubelet.vmScrape.spec.tlsConfig.caFile

Файл с CA-сертификатом

"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"

kubelet.vmScrape.spec.bearerTokenFile

Файл с bearer token для аутентификации

"/var/run/secrets/kubernetes.io/serviceaccount/token"

kubelet.vmScrape.spec.metricRelabelConfigs

Конфигурация relabeling метрик

[{'action': 'labeldrop', 'regex': '(uid)'}, {'action': 'labeldrop', 'regex': '(id

kubelet.vmScrape.spec.relabelConfigs

Конфигурация relabeling целей

[{'action': 'labelmap', 'regex': '_meta_kubernetes_node_label(.+)'}, {'sourceLabels': ['metrics_path'], 'targetLabel': 'metrics_path'}, {'targetLabel': 'job', 'replacement': 'kubelet'}]

kubelet.vmScrape.spec.honorTimestamps

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

false

kubeApiServer - настройки сбора метрик с Kubernetes API Server#

Параметр

Описание

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

kubeApiServer.enabled

Включить/отключить компонент

true

kubeApiServer.vmScrape.spec.endpoints

Список конечных точек для сбора метрик

[{'bearerTokenFile': '/var/run/secrets/kubernetes.io/serviceaccount/token', 'port': 'https', 'scheme': 'https', 'tlsConfig': {'caFile': '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt', 'serverName': 'kubernetes', 'insecureSkipVerify': True}}]

kubeApiServer.vmScrape.spec.jobLabel

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

"component"

kubeApiServer.vmScrape.spec.namespaceSelector.matchNames

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

["default"]

kubeApiServer.vmScrape.spec.selector.matchLabels.component

Метка компонента Kubernetes

"apiserver"

kubeApiServer.vmScrape.spec.selector.matchLabels.provider

Метка провайдера

"kubernetes"

kubeControllerManager - настройки сбора метрик с Controller Manager#

Параметр

Описание

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

kubeControllerManager.enabled

Включить/отключить компонент

true

kubeControllerManager.endpoints

Список конечных точек для сбора метрик

[]

kubeControllerManager.service.enabled

Включить создание Service

true

kubeControllerManager.service.port

Порт Service

10257

kubeControllerManager.service.targetPort

Целевой порт Service

10257

kubeControllerManager.service.selector.component

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

"kube-controller-manager"

kubeControllerManager.vmScrape.spec.jobLabel

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

"jobLabel"

kubeControllerManager.vmScrape.spec.namespaceSelector.matchNames

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

["kube-system"]

kubeControllerManager.vmScrape.spec.endpoints

Список конечных точек для сбора метрик

[{'bearerTokenFile': '/var/run/secrets/kubernetes.io/serviceaccount/token', 'port': 'http-metrics', 'scheme': 'https', 'tlsConfig': {'caFile': '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt', 'serverName': 'kubernetes', 'insecureSkipVerify': True}}]

kubeDns - настройки сбора метрик с KubeDNS#

Параметр

Описание

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

kubeControllerManager.enabled

Включить/отключить компонент

true

kubeControllerManager.endpoints

Список конечных точек для сбора метрик

[]

kubeControllerManager.service.enabled

Включить создание Service

true

kubeControllerManager.service.port

Порт Service

10257

kubeControllerManager.service.targetPort

Целевой порт Service

10257

kubeControllerManager.service.selector.component

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

"kube-controller-manager"

kubeControllerManager.vmScrape.spec.jobLabel

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

"jobLabel"

kubeControllerManager.vmScrape.spec.namespaceSelector.matchNames

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

["kube-system"]

kubeControllerManager.vmScrape.spec.endpoints

Список конечных точек для сбора метрик

[{'bearerTokenFile': '/var/run/secrets/kubernetes.io/serviceaccount/token', 'port': 'http-metrics', 'scheme': 'https', 'tlsConfig': {'caFile': '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt', 'serverName': 'kubernetes', 'insecureSkipVerify': True}}]

coreDns - настройки сбора метрик с CoreDNS#

Параметр

Описание

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

coreDns.enabled

Включить/отключить компонент

true

coreDns.service.enabled

Включить создание Service

true

coreDns.service.port

Порт Service

9153

coreDns.service.targetPort

Целевой порт Service

9153

coreDns.service.selector.k8s-app

Метка приложения для селектора

"kube-dns"

coreDns.vmScrape.spec.jobLabel

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

"jobLabel"

coreDns.vmScrape.spec.namespaceSelector.matchNames

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

[«kube-system»]

coreDns.vmScrape.spec.endpoints

Список конечных точек для сбора метрик

[{'port': 'http-metrics', 'bearerTokenFile': '/var/run/secrets/kubernetes.io/serviceaccount/token'}]

kubeEtcd - настройки сбора метрик с ETCD#

Параметр

Описание

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

kubeEtcd.enabled

Включить/отключить компонент

false

kubeEtcd.endpoints

Список конечных точек для сбора метрик

[]

kubeEtcd.service.enabled

Включить создание Service

true

kubeEtcd.service.port

Порт Service

2379

kubeEtcd.service.targetPort

Целевой порт Service

2379

kubeEtcd.service.selector.component

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

"etcd"

kubeEtcd.vmScrape.spec.jobLabel

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

"jobLabel"

kubeEtcd.vmScrape.spec.namespaceSelector.matchNames

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

["kube-system"]

kubeEtcd.vmScrape.spec.endpoints

Список конечных точек для сбора метрик

[{'bearerTokenFile': '/var/run/secrets/kubernetes.io/serviceaccount/token', 'port': 'http-metrics', 'scheme': 'https', 'tlsConfig': {'caFile': '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt', 'insecureSkipVerify': True}}]

kubeScheduler - настройки сбора метрик с Kubernetes Scheduler#

Параметр

Описание

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

kubeScheduler.enabled

Включить/отключить компонент

true

kubeScheduler.endpoints

Список конечных точек для сбора метрик

[]

kubeScheduler.service.enabled

Включить создание Service

true

kubeScheduler.service.port

Порт Service

10259

kubeScheduler.service.targetPort

Целевой порт Service

10259

kubeScheduler.service.selector.component

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

"kube-scheduler"

kubeScheduler.vmScrape.spec.jobLabel

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

"jobLabel"

kubeScheduler.vmScrape.spec.namespaceSelector.matchNames

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

["kube-system"]

kubeScheduler.vmScrape.spec.endpoints

Список конечных точек для сбора метрик

[{'bearerTokenFile': '/var/run/secrets/kubernetes.io/serviceaccount/token', 'port': 'http-metrics', 'scheme': 'https', 'tlsConfig': {'caFile': '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt', 'insecureSkipVerify': True}}]

kubeProxy - настройки сбора метрик с Kube Proxy#

Параметр

Описание

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

kubeProxy.enabled

Включить/отключить компонент

false

kubeProxy.endpoints

Список конечных точек для сбора метрик

[]

kubeProxy.service.enabled

Включить создание Service

true

kubeProxy.service.port

Порт Service

10249

kubeProxy.service.targetPort

Целевой порт Service

10249

kubeProxy.service.selector.k8s-app

Метка приложения для селектора

"kube-proxy"

kubeProxy.vmScrape.spec.jobLabel

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

"jobLabel"

kubeProxy.vmScrape.spec.namespaceSelector.matchNames

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

["kube-system"]

kubeProxy.vmScrape.spec.endpoints

Список конечных точек для сбора метрик

[{'bearerTokenFile': '/var/run/secrets/kubernetes.io/serviceaccount/token', 'port': 'http-metrics', 'scheme': 'https', 'tlsConfig': {'caFile': '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'}}]

prometheus-operator-crds - установка CRD Prometheus Operator#

Параметр

Описание

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

prometheus-operator-crds.enabled

Включить/отключить компонент

false

extraObjects - дополнительные объекты Kubernetes для развертывания#

Параметр

Описание

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

extraObjects

Дополнительные Kubernetes-объекты

[]