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

Переопределить имя Helm-чарта при формировании имен Kubernetes-ресурсов

""

Отчет:

  • Параметры добавлены: 0

  • Параметры удалены: 0

  • Изменения значений по умолчанию: нет (обновлено описание)

  • Новые разделы: нет

  • Удаленные разделы: нет

fullnameOverride - переопределить полное имя ресурсов#

Параметр

Описание

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

fullnameOverride

Переопределить полное имя создаваемых ресурсов вместо стандартного шаблона именования

""

Отчет:

  • Параметры добавлены: 0

  • Параметры удалены: 0

  • Изменения значений по умолчанию: нет (обновлено описание)

  • Новые разделы: нет

  • Удаленные разделы: нет

tenant - определить tenant для Grafana datasource и remote write#

Параметр

Описание

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

tenant

Tenant, который используется для datasource в Grafana и для отправки данных через remote write

"0"

Отчет:

  • Параметры добавлены: 0

  • Параметры удалены: 0

  • Изменения значений по умолчанию: нет (обновлено описание)

  • Новые разделы: нет

  • Удаленные разделы: нет

argocdReleaseOverride - переопределить имя релиза для совместимости с Argo CD#

Параметр

Описание

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

argocdReleaseOverride

Переопределить имя релиза для корректного выбора сервисов объектами VMServiceScrape при использовании чарта через Argo CD с полем releaseName

""

Отчет:

  • Параметры добавлены: 1 (argocdReleaseOverride)

  • Параметры удалены: 0

  • Изменения значений по умолчанию: нет

  • Новые разделы: нет

  • Удаленные разделы: нет

victoria-metrics-operator - определить параметры зависимого чарта VictoriaMetrics Operator#

Параметр

Описание

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

victoria-metrics-operator.enabled

Включить установку зависимого чарта VictoriaMetrics Operator

false

victoria-metrics-operator.crds.plain

Установить CRD в обычном виде без дополнительной обработки

true

victoria-metrics-operator.crds.cleanup.enabled

Включить очистку CRD при выполнении cleanup-задачи

true

victoria-metrics-operator.crds.cleanup.image.repository

Репозиторий образа для cleanup-задачи CRD

bitnami/kubectl

victoria-metrics-operator.crds.cleanup.image.pullPolicy

Политика загрузки образа для cleanup-задачи CRD

IfNotPresent

victoria-metrics-operator.serviceMonitor.enabled

Создать ServiceMonitor для самого оператора

true

victoria-metrics-operator.operator.disable_prometheus_converter

Отключить автоматическое преобразование объектов prometheus-operator оператором VictoriaMetrics

false

Отчет:

  • Параметры добавлены: 7

  • Параметры удалены: 0

  • Изменения значений по умолчанию: нет

  • Новые разделы: 1

  • Удаленные разделы: нет

defaultDashboards - определить установку и способ публикации стандартных дашбордов#

Параметр

Описание

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

defaultDashboards.enabled

Включить установку пользовательских дашбордов

true

defaultDashboards.defaultTimezone

Часовой пояс по умолчанию для создаваемых дашбордов

utc

defaultDashboards.labels

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

{}

defaultDashboards.annotations

Дополнительные аннотации для ресурсов с дашбордами

{}

defaultDashboards.grafanaOperator.enabled

Создавать дашборды в виде CRD, если установлен grafana-operator

false

defaultDashboards.grafanaOperator.spec.instanceSelector.matchLabels.dashboards

Метка для выбора экземпляра Grafana, в который будут импортироваться дашборды

grafana

defaultDashboards.grafanaOperator.spec.allowCrossNamespaceImport

Разрешить импорт дашбордов между пространствами имен

false

defaultDashboards.dashboards.victoriametrics-vmalert.enabled

Создать стандартный дашборд для компонента vmalert

true

defaultDashboards.dashboards.victoriametrics-operator.enabled

Создать стандартный дашборд для VictoriaMetrics Operator

true

defaultDashboards.dashboards.node-exporter-full.enabled

Создать дашборд node-exporter-full. В Argo CD с client-side apply этот дашборд может превышать лимит размера annotations

true

defaultRules - определить создание и общие параметры стандартных правил мониторинга#

Параметр

Описание

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

defaultRules.additionalGroupByLabels

Дополнительные labels для группировки результатов запросов; объединяются с .Values.global.clusterLabel

[]

defaultRules.create

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

false

defaultRules.group.spec.params

Дополнительные HTTP-параметры URL, добавляемые к каждому запросу правила

{}

defaultRules.rule.spec.labels

Дополнительные labels для всех объектов VMRule

{}

defaultRules.rule.spec.annotations

Дополнительные annotations для всех объектов VMRule

{}

defaultRules.alerting.spec.labels

Дополнительные labels для alerting-правил VMRule

{}

defaultRules.alerting.spec.annotations

Дополнительные annotations для alerting-правил VMRule

{}

defaultRules.recording.spec.labels

Дополнительные labels для recording-правил VMRule

{}

defaultRules.recording.spec.annotations

Дополнительные annotations для recording-правил VMRule

{}

defaultRules.rules

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

CPUThrottlingHigh:
create: true
spec:
for: 15m
labels:
severity: critical

{}

defaultRules.groups.etcd.create

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

true

defaultRules.groups.etcd.rules

Общие свойства для всех правил в группе etcd. Пример конфигурации:

spec:
annotations:
dashboard: https://example.com/dashboard/1

{}

defaultRules.groups.etcd.recording

Общие свойства для recording-правил в группе etcd. Пример конфигурации:

spec:
annotations:
dashboard: https://example.com/dashboard/1

{}

defaultRules.groups.etcd.alerting

Общие свойства для alerting-правил в группе etcd. Пример конфигурации:

spec:
annotations:
dashboard: https://example.com/dashboard/1

{}

defaultRules.groups.general.create

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

true

defaultRules.groups.general.rules

Общие свойства для всех правил в группе general

{}

defaultRules.groups.k8sContainerCpuLimits.create

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

true

defaultRules.groups.k8sContainerCpuLimits.rules

Общие свойства для всех правил в группе k8sContainerCpuLimits

{}

defaultRules.groups.k8sContainerCpuRequests.create

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

true

defaultRules.groups.k8sContainerCpuRequests.rules

Общие свойства для всех правил в группе k8sContainerCpuRequests

{}

defaultRules.groups.k8sContainerCpuUsageSecondsTotal.create

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

true

defaultRules.groups.k8sContainerCpuUsageSecondsTotal.rules

Общие свойства для всех правил в группе k8sContainerCpuUsageSecondsTotal

{}

defaultRules.groups.k8sContainerMemoryLimits.create

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

true

defaultRules.groups.k8sContainerMemoryLimits.rules

Общие свойства для всех правил в группе k8sContainerMemoryLimits

{}

defaultRules.groups.k8sContainerMemoryRequests.create

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

true

defaultRules.groups.k8sContainerMemoryRequests.rules

Общие свойства для всех правил в группе k8sContainerMemoryRequests

{}

defaultRules.groups.k8sContainerMemoryRss.create

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

true

defaultRules.groups.k8sContainerMemoryRss.rules

Общие свойства для всех правил в группе k8sContainerMemoryRss

{}

defaultRules.groups.k8sContainerMemoryCache.create

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

true

defaultRules.groups.k8sContainerMemoryCache.rules

Общие свойства для всех правил в группе k8sContainerMemoryCache

{}

defaultRules.groups.k8sContainerMemoryWorkingSetBytes.create

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

true

defaultRules.groups.k8sContainerMemoryWorkingSetBytes.rules

Общие свойства для всех правил в группе k8sContainerMemoryWorkingSetBytes

{}

defaultRules.groups.k8sContainerMemorySwap.create

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

true

defaultRules.groups.k8sContainerMemorySwap.rules

Общие свойства для всех правил в группе k8sContainerMemorySwap

{}

defaultRules.groups.k8sPodOwner.create

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

true

defaultRules.groups.k8sPodOwner.rules

Общие свойства для всех правил в группе k8sPodOwner

{}

defaultRules.groups.k8sContainerResource.create

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

true

defaultRules.groups.k8sContainerResource.rules

Общие свойства для всех правил в группе k8sContainerResource

{}

defaultRules.groups.kubeApiserver.create

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

true

defaultRules.groups.kubeApiserver.rules

Общие свойства для всех правил в группе kubeApiserver

{}

defaultRules.groups.kubeApiserverAvailability.create

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

true

defaultRules.groups.kubeApiserverAvailability.rules

Общие свойства для всех правил в группе kubeApiserverAvailability

{}

defaultRules.groups.kubeApiserverBurnrate.create

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

true

defaultRules.groups.kubeApiserverBurnrate.rules

Общие свойства для всех правил в группе kubeApiserverBurnrate

{}

defaultRules.groups.kubeApiserverHistogram.create

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

true

defaultRules.groups.kubeApiserverHistogram.rules

Общие свойства для всех правил в группе kubeApiserverHistogram

{}

defaultRules.groups.kubeApiserverSlos.create

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

true

defaultRules.groups.kubeApiserverSlos.rules

Общие свойства для всех правил в группе kubeApiserverSlos

{}

defaultRules.groups.kubelet.create

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

true

defaultRules.groups.kubelet.rules

Общие свойства для всех правил в группе kubelet

{}

defaultRules.groups.kubePrometheusGeneral.create

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

true

defaultRules.groups.kubePrometheusGeneral.rules

Общие свойства для всех правил в группе kubePrometheusGeneral

{}

defaultRules.groups.kubePrometheusNodeRecording.create

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

true

defaultRules.groups.kubePrometheusNodeRecording.rules

Общие свойства для всех правил в группе kubePrometheusNodeRecording

{}

defaultRules.groups.kubernetesApps.create

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

true

defaultRules.groups.kubernetesApps.rules

Общие свойства для всех правил в группе kubernetesApps

{}

defaultRules.groups.kubernetesApps.targetNamespace

Регулярное выражение для выбора namespace, к которым применяется группа kubernetesApps

".*"

defaultRules.groups.kubernetesResources.create

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

true

defaultRules.groups.kubernetesResources.rules

Общие свойства для всех правил в группе kubernetesResources

{}

defaultRules.groups.kubernetesStorage.create

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

true

defaultRules.groups.kubernetesStorage.rules

Общие свойства для всех правил в группе kubernetesStorage

{}

defaultRules.groups.kubernetesStorage.targetNamespace

Регулярное выражение для выбора namespace, к которым применяется группа kubernetesStorage

".*"

defaultRules.groups.kubernetesSystem.create

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

true

defaultRules.groups.kubernetesSystem.rules

Общие свойства для всех правил в группе kubernetesSystem

{}

defaultRules.groups.kubernetesSystemKubelet.create

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

true

defaultRules.groups.kubernetesSystemKubelet.rules

Общие свойства для всех правил в группе kubernetesSystemKubelet

{}

defaultRules.groups.kubernetesSystemApiserver.create

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

true

defaultRules.groups.kubernetesSystemApiserver.rules

Общие свойства для всех правил в группе kubernetesSystemApiserver

{}

defaultRules.groups.kubernetesSystemControllerManager.create

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

true

defaultRules.groups.kubernetesSystemControllerManager.rules

Общие свойства для всех правил в группе kubernetesSystemControllerManager

{}

defaultRules.groups.kubeScheduler.create

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

true

defaultRules.groups.kubeScheduler.rules

Общие свойства для всех правил в группе kubeScheduler

{}

defaultRules.groups.kubernetesSystemScheduler.create

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

true

defaultRules.groups.kubernetesSystemScheduler.rules

Общие свойства для всех правил в группе kubernetesSystemScheduler

{}

defaultRules.groups.kubeStateMetrics.create

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

true

defaultRules.groups.kubeStateMetrics.rules

Общие свойства для всех правил в группе kubeStateMetrics

{}

defaultRules.groups.nodeNetwork.create

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

true

defaultRules.groups.nodeNetwork.rules

Общие свойства для всех правил в группе nodeNetwork

{}

defaultRules.groups.node.create

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

true

defaultRules.groups.node.rules

Общие свойства для всех правил в группе node

{}

defaultRules.groups.vmagent.create

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

true

defaultRules.groups.vmagent.rules

Общие свойства для всех правил в группе vmagent

{}

defaultRules.groups.vmsingle.create

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

true

defaultRules.groups.vmsingle.rules

Общие свойства для всех правил в группе vmsingle

{}

defaultRules.groups.vmcluster.create

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

true

defaultRules.groups.vmcluster.rules

Общие свойства для всех правил в группе vmcluster

{}

defaultRules.groups.vmHealth.create

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

true

defaultRules.groups.vmHealth.rules

Общие свойства для всех правил в группе vmHealth

{}

defaultRules.groups.vmoperator.create

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

true

defaultRules.groups.vmoperator.rules

Общие свойства для всех правил в группе vmoperator

{}

defaultRules.groups.alertmanager.create

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

true

defaultRules.groups.alertmanager.rules

Общие свойства для всех правил в группе alertmanager

{}

defaultRules.runbookUrl

Префикс URL для runbook-ссылок в стандартных правилах

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

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

Labels, добавляемые ко всем стандартным правилам

dropapp-monitoring

defaultRules.labels.prometheus

Labels, добавляемые ко всем стандартным правилам

k8s

defaultRules.annotations

Annotations для стандартных правил

{}

extraRules - определить дополнительные recording и alerting rules#

Параметр

Описание

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

extraRules

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

rule-name:
groups:
- name: my_group
rules:
- record: my_record
expr: 100 * my_record

{}

additionalVictoriaMetricsMap - определить дополнительные правила в устаревшем формате#

Параметр

Описание

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

additionalVictoriaMetricsMap

Устаревший параметр для задания дополнительных правил, рекомендуется использовать extraRules. Пример конфигурации:

rule-name:
groups:
- name: my_group
rules:
- record: my_record
expr: 100 * my_record

{}

external - определить подключения к внешним Grafana и VictoriaMetrics#

Параметр

Описание

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

external.grafana.host

Хост внешннего экземпляра Grafana

""

external.grafana.datasource

Имя datasource во внешней Grafana для VictoriaMetrics

VictoriaMetrics

external.vm.read.url

URL внешней точки чтения VictoriaMetrics. Пример конфигурации:

bearerTokenSecret:
name: dbaas-read-access-token
key: bearerToken

""

external.vm.write.url

URL внешней точки записи VictoriaMetrics. Пример конфигурации:

bearerTokenSecret:
name: dbaas-read-access-token
key: bearerToken

""

vmsingle - определить параметры развертывания одиночного экземпляра VictoriaMetrics#

Параметр

Описание

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

vmsingle.labels

Labels для ресурса VMSingle

{}

vmsingle.annotations

Annotations для ресурса VMSingle

{}

vmsingle.enabled

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

false

vmsingle.spec.port

Порт, на котором VMSingle принимает запросы

"8428"

vmsingle.spec.image.repository

Репозиторий образа для VMSingle

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

vmsingle.spec.image.tag

Тег образа для VMSingle

"v1.136.1"

vmsingle.spec.retentionPeriod

Период хранения данных; допустимы суффиксы h, d, w, y, без суффикса используется месяц, минимальное значение 24h

"1"

vmsingle.spec.replicaCount

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

1

vmsingle.spec.extraArgs

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

{}

vmsingle.spec.storage.accessModes

Режимы доступа для PVC с данными VMSingle

- ReadWriteOnce

vmsingle.spec.storage.resources.requests.storage

Запрашиваемый объем хранилища для VMSingle

20Gi

vmsingle.ingress.enabled

Включить создание ingress для серверного компонента

false

vmsingle.ingress.annotations

Annotations для ingress. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

vmsingle.ingress.labels

Дополнительные labels для ingress

{}

vmsingle.ingress.path

Путь по умолчанию для ingress

""

vmsingle.ingress.pathType

Тип пути ingress

Prefix

vmsingle.ingress.ingressClassName

Имя ingress-класса

"nginx"

vmsingle.ingress.hosts

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

- vmsingle.domain.com

[]

vmsingle.ingress.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

vmsingle.ingress.tls

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

- secretName: vmsingle-ingress-tls
hosts:
- vmsingle.domain.com

[]

vmsingle.route.enabled

Включить создание HTTPRoute для серверного компонента

false

vmsingle.route.annotations

Annotations для HTTPRoute

{}

vmsingle.route.labels

Дополнительные labels для HTTPRoute

{}

vmsingle.route.parentRefs

Ссылки на объекты HTTPGateway

[]

vmsingle.route.hostnames

Список hostnames для HTTPRoute

[]

vmsingle.route.extraRules

Дополнительные правила, которые будут добавлены перед основным route

[]

vmsingle.route.port

Порт для HTTPRoute

{{ .Values.vmsingle.spec.port }}

vmsingle.route.filters

Фильтры для правила по умолчанию в HTTPRoute

[]

vmsingle.route.matches

Условия сопоставления для правила по умолчанию в HTTPRoute

- path:
type: PathPrefix
value: „“

vmcluster - определить параметры развертывания кластерного режима VictoriaMetrics#

Параметр

Описание

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

vmcluster.enabled

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

true

vmcluster.labels

Labels для ресурса VMCluster

{}

vmcluster.annotations

Annotations для ресурса VMCluster

{}

vmcluster.spec.clusterVersion

Версия VictoriaMetrics Cluster

v1.136.0-cluster

vmcluster.spec.retentionPeriod

Период хранения данных; допустимы суффиксы h, d, w, y, без суффикса используется месяц, минимальное значение 24h

"1"

vmcluster.spec.replicationFactor

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

2

vmcluster.spec.vmstorage.image.repository

Репозиторий образа для vmstorage

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

vmcluster.spec.vmstorage.image.tag

Тег образа для vmstorage

v1.136.0-cluster

vmcluster.spec.vmstorage.replicaCount

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

2

vmcluster.spec.vmstorage.storageDataPath

Путь хранения данных внутри контейнера vmstorage

"/vm-data"

vmcluster.spec.vmstorage.resources

Ресурсные ограничения и запросы для vmstorage. Пример конфигурации:

limits:
cpu: «1»
memory: 1500Mi

{}

vmcluster.spec.vmselect.enabled

Отключить или включить компонент VMSelect

true

vmcluster.spec.vmselect.port

Порт VMSelect

"8481"

vmcluster.spec.vmselect.image.repository

Репозиторий образа для vmselect

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

vmcluster.spec.vmselect.image.tag

Тег образа для vmselect

v1.136.0-cluster

vmcluster.spec.vmselect.replicaCount

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

2

vmcluster.spec.vmselect.cacheMountPath

Путь монтирования кэша для vmselect

/select-cache

vmcluster.spec.vmselect.extraArgs

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

{}

vmcluster.spec.vmselect.resources

Ресурсные ограничения и запросы для vmselect. Пример конфигурации:

limits:
cpu: «1»
memory: «1000Mi»
requests:
cpu: «0.5»
memory: «500Mi»

{}

vmcluster.spec.vminsert.enabled

Отключить или включить компонент VMInsert

true

vmcluster.spec.vminsert.port

Порт VMInsert

"8480"

vmcluster.spec.vminsert.image.repository

Репозиторий образа для vminsert

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

vmcluster.spec.vminsert.image.tag

Тег образа для vminsert

v1.136.0-cluster

vmcluster.spec.vminsert.replicaCount

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

2

vmcluster.spec.vminsert.extraArgs

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

{}

vmcluster.spec.vminsert.resources

Ресурсные ограничения и запросы для vminsert. Пример конфигурации:

limits:
cpu: «1»
memory: 1000Mi
requests:
cpu: «0.5»
memory: «500Mi»

{}

vmcluster.ingress.storage.enabled

Включить создание ingress для компонента storage

false

vmcluster.ingress.storage.annotations

Annotations для ingress storage. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

vmcluster.ingress.storage.labels

Дополнительные labels для ingress storage

{}

vmcluster.ingress.storage.ingressClassName

Имя ingress-класса для storage

"nginx"

vmcluster.ingress.storage.pathType

Тип пути ingress для storage

Prefix

vmcluster.ingress.storage.path

Путь по умолчанию для ingress storage

""

vmcluster.ingress.storage.hosts

Список host-объектов для ingress storage. Пример конфигурации:

- vmstorage.domain.com

[]

vmcluster.ingress.storage.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

vmcluster.ingress.storage.tls

Список TLS-объектов для ingress storage. Пример конфигурации:

- secretName: vmstorage-ingress-tls
hosts:
- vmstorage.domain.com

[]

vmcluster.ingress.select.enabled

Включить создание ingress для компонента select

false

vmcluster.ingress.select.annotations

Annotations для ingress select. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

vmcluster.ingress.select.labels

Дополнительные labels для ingress select

{}

vmcluster.ingress.select.ingressClassName

Имя ingress-класса для select

"nginx"

vmcluster.ingress.select.pathType

Тип пути ingress для select

Prefix

vmcluster.ingress.select.path

Путь по умолчанию для ingress select

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

vmcluster.ingress.select.hosts

Список host-объектов для ingress select

- „metrics.“

vmcluster.ingress.select.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

vmcluster.ingress.select.tls

Список TLS-объектов для ingress select

- secretName: ingress-tls
hosts:
- „metrics.“

vmcluster.ingress.insert.enabled

Включить создание ingress для компонента insert

false

vmcluster.ingress.insert.annotations

Annotations для ingress insert. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

vmcluster.ingress.insert.labels

Дополнительные labels для ingress insert

{}

vmcluster.ingress.insert.ingressClassName

Имя ingress-класса для insert

"nginx"

vmcluster.ingress.insert.pathType

Тип пути ingress для insert

Prefix

vmcluster.ingress.insert.path

Путь по умолчанию для ingress insert

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

vmcluster.ingress.insert.hosts

Список host-объектов для ingress insert

- „vminsert.“

vmcluster.ingress.insert.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

vmcluster.ingress.insert.tls

Список TLS-объектов для ingress insert

- secretName: ingress-tls
hosts:
- „vminsert.“

vmcluster.route.storage.enabled

Включить создание HTTPRoute для компонента storage

false

vmcluster.route.storage.annotations

Annotations для HTTPRoute storage

{}

vmcluster.route.storage.labels

Дополнительные labels для HTTPRoute storage

{}

vmcluster.route.storage.parentRefs

Ссылки на объекты HTTPGateway для storage

[]

vmcluster.route.storage.hostnames

Список hostnames для HTTPRoute storage

[]

vmcluster.route.storage.extraRules

Дополнительные правила для HTTPRoute storage

[]

vmcluster.route.storage.port

Порт для HTTPRoute storage

{{ .Values.vmcluster.spec.vmstorage.port }}

vmcluster.route.storage.filters

Фильтры для правила по умолчанию в HTTPRoute storage

[]

vmcluster.route.storage.matches

Условия сопоставления для правила по умолчанию в HTTPRoute storage

- path:
type: PathPrefix
value: „“

vmcluster.route.select.enabled

Включить создание HTTPRoute для компонента select

false

vmcluster.route.select.annotations

Annotations для HTTPRoute select

{}

vmcluster.route.select.labels

Дополнительные labels для HTTPRoute select

{}

vmcluster.route.select.parentRefs

Ссылки на объекты HTTPGateway для select

[]

vmcluster.route.select.hostnames

Список hostnames для HTTPRoute select

[]

vmcluster.route.select.extraRules

Дополнительные правила для HTTPRoute select

[]

vmcluster.route.select.port

Порт для HTTPRoute select

{{ .Values.vmcluster.spec.vmselect.port }}

vmcluster.route.select.filters

Фильтры для правила по умолчанию в HTTPRoute select

[]

vmcluster.route.select.matches

Условия сопоставления для правила по умолчанию в HTTPRoute select

- path:
type: PathPrefix
value: „“

vmcluster.route.insert.enabled

Включить создание HTTPRoute для компонента insert

false

vmcluster.route.insert.annotations

Annotations для HTTPRoute insert

{}

vmcluster.route.insert.labels

Дополнительные labels для HTTPRoute insert

{}

vmcluster.route.insert.parentRefs

Ссылки на объекты HTTPGateway для insert

[]

vmcluster.route.insert.hostnames

Список hostnames для HTTPRoute insert

[]

vmcluster.route.insert.extraRules

Дополнительные правила для HTTPRoute insert

[]

vmcluster.route.insert.port

Порт для HTTPRoute insert

{{ .Values.vmcluster.spec.vminsert.port }}

vmcluster.route.insert.filters

Фильтры для правила по умолчанию в HTTPRoute insert

[]

vmcluster.route.insert.matches

Условия сопоставления для правила по умолчанию в HTTPRoute insert

- path:
type: PathPrefix
value: „“

alertmanager - определить параметры развертывания VMAlertmanager#

Параметр

Описание

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

alertmanager.enabled

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

false

alertmanager.labels

Labels для ресурса VMAlertmanager

{}

alertmanager.annotations

Annotations для ресурса VMAlertmanager

{}

alertmanager.spec.replicaCount

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

1

alertmanager.spec.port

Порт VMAlertmanager

"9093"

alertmanager.spec.selectAllByDefault

Выбирать все объекты по умолчанию, если селекторы явно не заданы

true

alertmanager.spec.image.tag

Тег образа VMAlertmanager

v0.28.1

alertmanager.spec.externalURL

Внешний URL VMAlertmanager

""

alertmanager.spec.routePrefix

Префикс маршрута для веб-интерфейса и API

/

alertmanager.spec.configSecret

Имя существующего секрета с конфигурацией Alertmanager; если указано, параметр config игнорируется

""

alertmanager.useManagedConfig

Хранить .Values.alertmanager.config в VMAlertmanagerConfig вместо Kubernetes Secret; структура конфигурации зависит от значения параметра

false

alertmanager.config.route.receiver

Получатель по умолчанию для корневого маршрута Alertmanager

"blackhole"

alertmanager.config.receivers

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

- name: blackhole
- name: «slack-monitoring»
slack_configs:
- channel: «#channel»
send_resolved: true
title: „“
icon_emoji: „“
color: „“
text: „“
actions:
- type: button
text: «Runbook :green_book:»
url: «»

- name: blackhole

alertmanager.monzoTemplate.enabled

Включить улучшенные шаблоны уведомлений для Slack

true

alertmanager.templateFiles

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

template_1.tmpl: |-

hello, Victoria!

template_2.tmpl: «»

{}

alertmanager.ingress.enabled

Включить ingress для VMAlertmanager

false

alertmanager.ingress.annotations

Annotations для ingress VMAlertmanager. Значения могут быть шаблонизированы. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

alertmanager.ingress.labels

Дополнительные labels для ingress VMAlertmanager

{}

alertmanager.ingress.path

Путь для ingress VMAlertmanager

{{ .Values.alertmanager.spec.routePrefix | default "/" }}

alertmanager.ingress.pathType

Тип пути ingress VMAlertmanager

Prefix

alertmanager.ingress.hosts

Список host-объектов для ingress VMAlertmanager

- alertmanager.domain.com

alertmanager.ingress.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

alertmanager.ingress.tls

Список TLS-объектов для ingress VMAlertmanager. Пример конфигурации:

- secretName: alertmanager-ingress-tls
hosts:
- alertmanager.domain.com

[]

alertmanager.route.enabled

Включить создание HTTPRoute для компонента alertmanager

false

alertmanager.route.annotations

Annotations для HTTPRoute alertmanager

{}

alertmanager.route.labels

Дополнительные labels для HTTPRoute alertmanager

{}

alertmanager.route.parentRefs

Ссылки на объекты HTTPGateway для alertmanager

[]

alertmanager.route.hostnames

Список hostnames для HTTPRoute alertmanager

[]

alertmanager.route.extraRules

Дополнительные правила для HTTPRoute alertmanager

[]

alertmanager.route.port

Порт для HTTPRoute alertmanager

{{ .Values.alertmanager.spec.port }}

alertmanager.route.filters

Фильтры для правила по умолчанию в HTTPRoute alertmanager

[]

alertmanager.route.matches

Условия сопоставления для правила по умолчанию в HTTPRoute alertmanager

- path:
type: PathPrefix
value: „“

vmalert - определить параметры развертывания VMAlert#

Параметр

Описание

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

vmalert.annotations

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

{}

vmalert.labels

Метки для ресурса VMAlert

{}

vmalert.enabled

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

true

vmalert.remoteWriteVMAgent

Определяет, использовать ли VMAgent вместо VMInsert как цель для remotewrite

false

vmalert.spec.port

Порт, на котором VMAlert принимает запросы

"8080"

vmalert.spec.selectAllByDefault

Выбирать все объекты по умолчанию, если селекторы явно не заданы

true

vmalert.spec.image.repository

Репозиторий образа для VMAlert

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

vmalert.spec.image.tag

Тег образа для VMAlert

"v1.136.1"

vmalert.spec.evaluationInterval

Интервал вычисления правил в VMAlert

20s

vmalert.spec.notifier.url

URL уведомителя, в который VMAlert отправляет алерты

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

vmalert.spec.extraArgs.http.pathPrefix

Префикс HTTP-пути для веб-интерфейса и API VMAlert

"/"

vmalert.spec.externalLabels

Внешние labels, добавляемые ко всем генерируемым recording rules и alert’ам

{}

vmalert.templateFiles

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

template_1.tmpl: |-

hello, Victoria!

template_2.tmpl: «»

{}

vmalert.additionalNotifierConfigs

Дополнительная конфигурация notifier’ов для статического задания или обнаружения через Consul и DNS; создается как отдельный Secret и монтируется в pod VMAlert. Пример конфигурации:

dns_sd_configs:
- names:
- my.domain.com
type: „A“
port: 9093

{}

vmalert.ingress.enabled

Включить создание ingress для VMAlert

false

vmalert.ingress.ingressClassName

Имя ingress-класса для VMAlert

nginx

vmalert.ingress.annotations

Аннотации для ingress VMAlert. Значения могут быть шаблонизированы. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

vmalert.ingress.labels

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

{}

vmalert.ingress.path

Путь ingress для VMAlert

""

vmalert.ingress.pathType

Тип пути ingress для VMAlert

Prefix

vmalert.ingress.hosts

Список host-объектов для ingress VMAlert

- „vmalert.“

vmalert.ingress.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

vmalert.ingress.tls

TLS-конфигурация ingress для VMAlert

- secretName: ingress-tls
hosts:
- „vmalert.“

vmalert.route.enabled

Включить создание HTTPRoute для компонента vmalert

false

vmalert.route.annotations

Аннотации для HTTPRoute vmalert

{}

vmalert.route.labels

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

{}

vmalert.route.parentRefs

Ссылки на объекты HTTPGateway

[]

vmalert.route.hostnames

Список hostnames для HTTPRoute

[]

vmalert.route.extraRules

Дополнительные правила, добавляемые перед основным маршрутом

[]

vmalert.route.port

Порт для HTTPRoute vmalert

'{{ .Values.vmalert.spec.port }}'

vmalert.route.filters

Фильтры для правила по умолчанию в HTTPRoute

[]

vmalert.route.matches

Условия сопоставления для правила по умолчанию в HTTPRoute

- path:
type: PathPrefix
value: „“

vmauth - определить параметры развертывания VMAuth#

Параметр

Описание

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

vmauth.enabled

Включить создание ресурса VMAuth

false

vmauth.labels

Метки для ресурса VMAuth

{}

vmauth.annotations

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

{}

vmauth.spec.port

Порт, на котором VMAuth принимает запросы

"8427"

vmauth.spec.image.repository

Репозиторий образа для VMAuth

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

vmauth.spec.image.tag

Тег образа для VMAuth

"v1.136.1"

vmauth.spec.unauthorizedUserAccessSpec.disabled

Отключить стандартную конфигурацию доступа неавторизованных пользователей в VMAuth

false

vmauth.spec.unauthorizedUserAccessSpec.discover_backend_ips

Разрешить обнаружение IP-адресов backend-сервисов

true

vmauth.spec.unauthorizedUserAccessSpec.url_map

Правила маршрутизации запросов для неавторизованного доступа

- src_paths:
- „/.*“
url_prefix:
- „/“
- src_paths:
- „/.*“
url_prefix:
- „/“

vmagent - определить параметры развертывания VMAgent#

Параметр

Описание

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

vmagent.enabled

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

true

vmagent.labels

Метки для ресурса VMAgent

{}

vmagent.annotations

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

{}

vmagent.rbac.annotations

Аннотации для Role или RoleBinding

{}

vmagent.rbac.namespaced

Определяет, создавать ClusterRole или Role с соответствующими привязками

true

vmagent.rbac.extraLabels

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

{}

vmagent.rbac.rules

Дополнительные правила для роли

[]

vmagent.additionalRemoteWrites

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

- url: http://some-remote-write/api/v1/write

[]

vmagent.spec.port

Порт, на котором VMAgent принимает запросы

"8429"

vmagent.spec.selectAllByDefault

Выбирать все объекты по умолчанию, если селекторы явно не заданы

true

vmagent.spec.image.repository

Репозиторий образа для VMAgent

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

vmagent.spec.image.tag

Тег образа для VMAgent

"v1.136.1"

vmagent.spec.scrapeInterval

Интервал опроса метрик по умолчанию

20s

vmagent.spec.externalLabels

Внешние labels, добавляемые ко всем метрикам. Пример конфигурации:

cluster: cluster-name

{}

vmagent.spec.extraArgs.promscrape.streamParse

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

"true"

vmagent.spec.extraArgs.promscrape.dropOriginalLabels

Не сохранять исходные labels в памяти vmagent для снижения потребления памяти

"true"

vmagent.spec.volumes

Дополнительные volumes для pod’а VMAgent

- name: etcd-certs
secret:
secretName: etcd-client-certs
optional: true

vmagent.spec.volumeMounts

Точки монтирования volumes в контейнер VMAgent

- name: etcd-certs
mountPath: /etc/etcd-certs
readOnly: true

vmagent.ingress.enabled

Включить создание ingress для VMAgent

false

vmagent.ingress.ingressClassName

Имя ingress-класса для VMAgent

nginx

vmagent.ingress.annotations

Аннотации для ingress VMAgent. Значения могут быть шаблонизированы. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

vmagent.ingress.labels

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

{}

vmagent.ingress.path

Путь ingress для VMAgent

""

vmagent.ingress.pathType

Тип пути ingress для VMAgent

Prefix

vmagent.ingress.hosts

Список host-объектов для ingress VMAgent

- „vmagent.“

vmagent.ingress.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

vmagent.ingress.tls

TLS-конфигурация ingress для VMAgent

- secretName: ingress-tls
hosts:
- „vmagent.“

vmagent.route.enabled

Включить создание HTTPRoute для компонента vmagent

false

vmagent.route.annotations

Аннотации для HTTPRoute vmagent

{}

vmagent.route.labels

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

{}

vmagent.route.parentRefs

Ссылки на объекты HTTPGateway

[]

vmagent.route.hostnames

Список hostnames для HTTPRoute

[]

vmagent.route.extraRules

Дополнительные правила, добавляемые перед основным маршрутом

[]

vmagent.route.port

Порт для HTTPRoute vmagent

'{{ .Values.vmagent.spec.port }}'

vmagent.route.filters

Фильтры для правила по умолчанию в HTTPRoute

[]

vmagent.route.matches

Условия сопоставления для правила по умолчанию в HTTPRoute

- path:
type: PathPrefix
value: „“

defaultDatasources - определить стандартные datasource для Grafana#

Параметр

Описание

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

defaultDatasources.grafanaOperator.enabled

Создавать datasource как CRD, если установлен grafana-operator

false

defaultDatasources.grafanaOperator.annotations

Аннотации для CRD datasource

{}

defaultDatasources.grafanaOperator.spec.instanceSelector.matchLabels.dashboards

Метка для выбора экземпляра Grafana, в который будут импортироваться datasource

grafana

defaultDatasources.grafanaOperator.spec.allowCrossNamespaceImport

Разрешить импорт datasource между пространствами имен

false

defaultDatasources.victoriametrics.datasources

Список datasource, совместимых с Prometheus; URL VictoriaMetrics будет добавлен в шаблонах

- name: VictoriaMetrics
type: prometheus
access: proxy
isDefault: true
- name: VictoriaMetrics (DS)
isDefault: false
access: proxy
type: victoriametrics-metrics-datasource

defaultDatasources.alertmanager.datasources

Список datasource для Alertmanager; URL VMAlertmanager будет добавлен в шаблонах, если alertmanager включен

- name: Alertmanager
access: proxy
jsonData:
implementation: prometheus

defaultDatasources.extra

Дополнительные datasource Grafana, передаваемые через tpl. Пример конфигурации:

- name: prometheus-sample
access: proxy
basicAuth: true
basicAuthPassword: pass
basicAuthUser: daco
editable: false
jsonData:
tlsSkipVerify: true
orgId: 1
type: prometheus
url: https://:9090
version: 1

[]

grafana - определить параметры зависимого чарта Grafana#

Параметр

Описание

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

grafana.enabled

Включить установку зависимого чарта Grafana

false

grafana.sidecar.datasources.enabled

Включить sidecar для обнаружения datasource

true

grafana.sidecar.datasources.label

Метка, по которой sidecar ищет ConfigMap или Secret с datasource

grafana_datasource

grafana.sidecar.datasources.labelValue

Значение метки для выбора datasource

"1"

grafana.sidecar.dashboards.provider.name

Имя dashboard provider в Grafana

default

grafana.sidecar.dashboards.provider.orgid

Идентификатор организации Grafana для dashboard provider

1

grafana.sidecar.dashboards.folder

Каталог внутри контейнера Grafana для дашбордов

/var/lib/grafana/dashboards

grafana.sidecar.dashboards.defaultFolderName

Имя папки по умолчанию для импортируемых дашбордов

default

grafana.sidecar.dashboards.enabled

Включить sidecar для обнаружения дашбордов

true

grafana.sidecar.dashboards.multicluster

Включить много-кластерный режим для sidecar дашбордов

false

grafana.sidecar.dashboards.label

Метка, по которой sidecar ищет ConfigMap или Secret с дашбордами

grafana_dashboard

grafana.sidecar.dashboards.labelValue

Значение метки для выбора дашбордов

"1"

grafana.forceDeployDatasource

Создавать ConfigMap с datasource даже если deployment Grafana отключен

false

grafana.ingress.enabled

Включить создание ingress для Grafana

false

grafana.ingress.annotations

Аннотации для ingress Grafana. Значения могут быть шаблонизированы. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: «true»

{}

grafana.ingress.labels

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

{}

grafana.ingress.path

Путь ingress для Grafana

/

grafana.ingress.pathType

Тип пути ingress для Grafana

Prefix

grafana.ingress.hosts

Список host-объектов для ingress Grafana

- grafana.domain.com

grafana.ingress.extraPaths

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

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: service

[]

grafana.ingress.tls

TLS-конфигурация ingress Grafana. Пример конфигурации:

- secretName: grafana-ingress-tls
hosts:
- grafana.domain.com

[]

grafana.vmScrape.enabled

Создавать ресурс service scrape для Grafana

true

grafana.vmScrape.spec.selector.matchLabels.app.kubernetes.io/name

Метка для выбора Service Grafana при сборе метрик

'{{ include "grafana.name" .Subcharts.grafana }}'

grafana.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик Grafana

- port: „“

defaultScrapeService - определить namespace сервиса scrape по умолчанию#

Параметр

Описание

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

defaultScrapeService.namespace

Namespace, в котором размещается сервис scrape по умолчанию

kube-system

prometheus-node-exporter - определить параметры зависимого чарта prometheus-node-exporter#

Параметр

Описание

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

prometheus-node-exporter.enabled

Включить установку зависимого чарта prometheus-node-exporter

false

prometheus-node-exporter.service.labels.jobLabel

Добавить метку node-exporter для совместимости с типовыми правилами и Grafana-дашбордами

node-exporter

prometheus-node-exporter.extraArgs

Дополнительные аргументы запуска node-exporter

- –collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)(\(|/)<br>- --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|erofs|sysfs|tracefs)\)

prometheus-node-exporter.vmScrape.enabled

Создавать ресурс service scrape для node-exporter

true

prometheus-node-exporter.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

jobLabel

prometheus-node-exporter.vmScrape.spec.selector.matchLabels.app.kubernetes.io/name

Метка для выбора Service node-exporter при сборе метрик

'{{ include "prometheus-node-exporter.name" (index .Subcharts "prometheus-node-exporter") }}'

prometheus-node-exporter.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик node-exporter

- port: metrics
metricRelabelConfigs:
- action: drop
source_labels: [mountpoint]
regex: «/var/lib/kubelet/pods.+»

kube-state-metrics - определить параметры зависимого чарта kube-state-metrics#

Параметр

Описание

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

kube-state-metrics.enabled

Включить установку зависимого чарта kube-state-metrics

false

kube-state-metrics.vmScrape.enabled

Создавать ресурс service scrape для kube-state-metrics

true

kube-state-metrics.vmScrape.spec.selector.matchLabels.app.kubernetes.io/name

Метка имени приложения для выбора Service kube-state-metrics

'{{ include "kube-state-metrics.name" (index .Subcharts "kube-state-metrics") }}'

kube-state-metrics.vmScrape.spec.selector.matchLabels.app.kubernetes.io/instance

Метка экземпляра для выбора Service kube-state-metrics

'{{ include "vm.release" . }}'

kube-state-metrics.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик kube-state-metrics

- port: http
honorLabels: true
metricRelabelConfigs:
- action: labeldrop
regex: (uid|container_id|image_id)

kube-state-metrics.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

app.kubernetes.io/name

kubelet - определить параметры сбора метрик kubelet#

Параметр

Описание

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

kubelet.enabled

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

false

kubelet.vmScrapes.cadvisor.enabled

Включить сбор метрик с пути /metrics/cadvisor у сервиса kubelet

true

kubelet.vmScrapes.cadvisor.spec.path

HTTP-путь для сбора метрик cadvisor

/metrics/cadvisor

kubelet.vmScrapes.probes.enabled

Включить сбор метрик с пути /metrics/probes у сервиса kubelet

true

kubelet.vmScrapes.probes.spec.path

HTTP-путь для сбора метрик probes

/metrics/probes

kubelet.vmScrapes.resources.enabled

Включить сбор метрик с пути /metrics/resource у сервиса kubelet

true

kubelet.vmScrapes.resources.spec.path

HTTP-путь для сбора resource-метрик kubelet

/metrics/resource

kubelet.vmScrapes.kubelet.spec

Дополнительная спецификация для основного scrape kubelet

{}

kubelet.vmScrape.kind

Тип scrape-ресурса для kubelet

VMNodeScrape

kubelet.vmScrape.spec.scheme

Схема подключения к kubelet

"https"

kubelet.vmScrape.spec.honorLabels

Сохранять labels из экспортера при конфликте имен

true

kubelet.vmScrape.spec.interval

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

"30s"

kubelet.vmScrape.spec.scrapeTimeout

Таймаут одного scrape-запроса

"5s"

kubelet.vmScrape.spec.tlsConfig.insecureSkipVerify

Не проверять TLS-сертификат kubelet

true

kubelet.vmScrape.spec.tlsConfig.caFile

Путь к CA-файлу для TLS-подключения к kubelet

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

kubelet.vmScrape.spec.bearerTokenFile

Путь к bearer token для аутентификации при сборе метрик kubelet

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

kubelet.vmScrape.spec.metricRelabelConfigs

Правила metric relabeling для удаления высококардинальных labels и лишних метрик kubelet и cadvisor

- action: labeldrop
regex: (uid)
- action: labeldrop
regex: (id|name)
- action: drop
source_labels: [name]
regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)

kubelet.vmScrape.spec.relabelConfigs

Правила relabeling для преобразования labels узла и добавления служебных labels

- action: labelmap
regex: _meta_kubernetes_node_label(.+)
- sourceLabels: [metrics_path]
targetLabel: metrics_path
- targetLabel: job
replacement: kubelet

kubelet.vmScrape.spec.honorTimestamps

Игнорировать timestamps из метрик cadvisor по умолчанию

false

kubeApiServer - определить параметры сбора метрик kube-apiserver#

Параметр

Описание

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

kubeApiServer.enabled

Включить сбор метрик kube-apiserver

true

kubeApiServer.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик kube-apiserver. Пример конфигурации:

- 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

- 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

Имя label, которое будет использоваться как job

component

kubeApiServer.vmScrape.spec.namespaceSelector.matchNames

Список namespace для поиска целевых сервисов

- default

kubeApiServer.vmScrape.spec.selector.matchLabels.component

Метка component для выбора сервиса kube-apiserver

apiserver

kubeApiServer.vmScrape.spec.selector.matchLabels.provider

Метка provider для выбора сервиса kube-apiserver

kubernetes

kubeControllerManager - определить параметры сбора метрик kube-controller-manager#

Параметр

Описание

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

kubeControllerManager.enabled

Включить сбор метрик kube-controller-manager

true

kubeControllerManager.endpoints

Список IP-адресов, по которым доступен kube-controller-manager, если он не запущен как pod. Пример конфигурации:

- 10.141.4.22
- 10.141.4.23
- 10.141.4.24

[]

kubeControllerManager.service.enabled

Создать Service для сбора метрик kube-controller-manager

true

kubeControllerManager.service.port

Порт Service kube-controller-manager

10257

kubeControllerManager.service.targetPort

Целевой порт Service kube-controller-manager

10257

kubeControllerManager.service.labels

Метки Service kube-controller-manager

{}

kubeControllerManager.service.selector.component

Selector для выбора pod’ов kube-controller-manager

kube-controller-manager

kubeControllerManager.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

jobLabel

kubeControllerManager.vmScrape.spec.namespaceSelector.matchNames

Список namespace для поиска целевых сервисов

[]

kubeControllerManager.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик kube-controller-manager. Пример конфигурации:

- 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

- 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#

Параметр

Описание

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

kubeDns.enabled

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

false

kubeDns.service.enabled

Создать Service для метрик KubeDNS

false

kubeDns.service.labels

Метки Service KubeDNS

{}

kubeDns.service.ports.dnsmasq.port

Порт Service для метрик dnsmasq

10054

kubeDns.service.ports.dnsmasq.targetPort

Целевой порт Service для метрик dnsmasq

10054

kubeDns.service.ports.skydns.port

Порт Service для метрик skydns

10055

kubeDns.service.ports.skydns.targetPort

Целевой порт Service для метрик skydns

10055

kubeDns.service.selector.k8s-app

Selector для выбора pod’ов KubeDNS

kube-dns

kubeDns.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

jobLabel

kubeDns.vmScrape.spec.namespaceSelector.matchNames

Список namespace для поиска целевых сервисов

[]

kubeDns.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик KubeDNS

- port: http-metrics-dnsmasq
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
- port: http-metrics-skydns
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token

coreDns - определить параметры сбора метрик CoreDNS#

Параметр

Описание

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

coreDns.enabled

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

true

coreDns.service.enabled

Создать Service для метрик CoreDNS

true

coreDns.service.port

Порт Service CoreDNS

9153

coreDns.service.targetPort

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

9153

coreDns.service.labels

Метки Service CoreDNS

{}

coreDns.service.selector.k8s-app

Selector для выбора pod’ов CoreDNS

kube-dns

coreDns.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

jobLabel

coreDns.vmScrape.spec.namespaceSelector.matchNames

Список namespace для поиска целевых сервисов

[]

coreDns.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик CoreDNS

- port: http-metrics
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token

kubeEtcd - определить параметры сбора метрик etcd#

Параметр

Описание

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

kubeEtcd.enabled

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

true

kubeEtcd.endpoints

Список IP-адресов, по которым доступен etcd, если он не запущен как pod

[]

kubeEtcd.service.enabled

Создать Service для сбора метрик ETCD

true

kubeEtcd.service.port

Порт Service ETCD

2379

kubeEtcd.service.targetPort

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

2379

kubeEtcd.service.labels

Метки Service ETCD

{}

kubeEtcd.service.selector.component

Selector для выбора pod’ов etcd

etcd

kubeEtcd.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

jobLabel

kubeEtcd.vmScrape.spec.namespaceSelector.matchNames

Список namespace для поиска целевых сервисов

[]

kubeEtcd.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик etcd

- scheme: https
port: http-metrics
path: /metrics
interval: 30s
tlsConfig:
caFile: /etc/etcd-certs/ca.crt
certFile: /etc/etcd-certs/healthcheck-client.crt
keyFile: /etc/etcd-certs/healthcheck-client.key
insecureSkipVerify: true

kubeScheduler - определить параметры сбора метрик kube-scheduler#

Параметр

Описание

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

kubeScheduler.enabled

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

true

kubeScheduler.endpoints

Список IP-адресов, по которым доступен kube-scheduler, если он не запущен как pod. Пример конфигурации:

- 10.141.4.22
- 10.141.4.23
- 10.141.4.24

[]

kubeScheduler.service.enabled

Создать Service для сбора метрик KubeScheduler

true

kubeScheduler.service.port

Порт Service KubeScheduler

10259

kubeScheduler.service.targetPort

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

10259

kubeScheduler.service.labels

Метки Service KubeScheduler

{}

kubeScheduler.service.selector.component

Selector для выбора pod’ов kube-scheduler

kube-scheduler

kubeScheduler.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

jobLabel

kubeScheduler.vmScrape.spec.namespaceSelector.matchNames

Список namespace для поиска целевых сервисов

[]

kubeScheduler.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик kube-scheduler

- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
port: http-metrics
path: /metrics
scheme: https
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecureSkipVerify: true
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
port: http-metrics
path: /metrics/resources
honorLabels: true
scheme: https
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecureSkipVerify: true

kubeProxy - определить параметры сбора метрик kube-proxy#

Параметр

Описание

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

kubeProxy.enabled

Включить сбор метрик kube-proxy

false

kubeProxy.endpoints

Список IP-адресов, по которым доступен kube-proxy, если он не запущен как pod

[]

kubeProxy.service.enabled

Создать Service для сбора метрик kube-proxy

true

kubeProxy.service.port

Порт Service kube-proxy

10249

kubeProxy.service.targetPort

Целевой порт Service kube-proxy

10249

kubeProxy.service.labels

Метки Service kube-proxy

{}

kubeProxy.service.selector.k8s-app

Selector для выбора pod’ов kube-proxy

kube-proxy

kubeProxy.vmScrape.spec.jobLabel

Имя label, которое будет использоваться как job

jobLabel

kubeProxy.vmScrape.spec.namespaceSelector.matchNames

Список namespace для поиска целевых сервисов

[]

kubeProxy.vmScrape.spec.endpoints

Список endpoint’ов для сбора метрик kube-proxy

- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
port: http-metrics
scheme: https
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt

extraObjects - определить дополнительные объекты для динамического добавления в чарт#

Параметр

Описание

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

extraObjects

Дополнительные Kubernetes-объекты, динамически добавляемые в чарт

[]

extraVMServiceScrapeLabels - определить дополнительные метки для VMServiceScrape ресурсов#

Параметр

Описание

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

extraVMServiceScrapeLabels

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

{}

extraVMPodScrapeLabels - определить дополнительные метки для VMPodScrape ресурсов#

Параметр

Описание

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

extraVMPodScrapeLabels

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

{}

extraVMNodeScrapeLabels - определить дополнительные метки для VMNodeScrape ресурсов#

Параметр

Описание

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

extraVMNodeScrapeLabels

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

{}