Grafana#

Grafana – система визуализации и аналитики данных, применяемая для мониторинга кластеров DropApp. Предназначена для отображения и анализа метрик и логов в режиме реального времени, обеспечивая полную прозрачность состояния инфраструктуры и приложений.

Основные задачи и возможности
  • Визуализация метрик и логов: создание дашбордов для отслеживания состояния узлов, pod, сервисов и других ресурсов кластера.

  • Интеграция с VictoriaMetrics: использование VictoriaMetrics в качестве основного источника данных для Kubernetes. VictoriaMetrics отвечает за сбор метрик, а Grafana – за их визуализацию.

  • Мониторинг в реальном времени: оперативное выявление аномалий, перегрузки ресурсов и снижения производительности.

  • Управление оповещениями: настройка уведомлений о критических событиях (например, высокая нагрузка на CPU или недоступность pod).

  • Корреляция логов и метрик: связывание данных из различных источников для ускорения диагностики инцидентов.

  • Расширяемость: поддержка плагинов и пользовательских шаблонов для адаптации функциональности под специфические задачи проекта.

Примечание

По умолчанию Grafana устанавливается в составе компонента «Monitoring» и интегрируется с Dex. Учетная запись kubeadmin имеет права администратора.

В качестве источника данных (data source) по умолчанию используется VictoriaMetrics (из стека victoria-metrics-k8s-stack). Также предустановлены готовые дашборды для разделов monitoring, logging и security.

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

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

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

Параметр

Описание

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

rbac.create

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

true

rbac.pspEnabled

Включение PodSecurityPolicy

false

rbac.pspUseAppArmor

Использование AppArmor в PodSecurityPolicy

false

rbac.namespaced

Ограничение RBAC пространством имен

false

rbac.namespaces

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

[]

rbac.extraRoleRules

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

- apiGroups: []
  resources: []
  verbs: []

[]

rbac.extraClusterRoleRules

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

- apiGroups: []
  resources: []
  verbs: []

[]

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

Параметр

Описание

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

serviceAccount.create

Создание ServiceAccount

true

serviceAccount.name

Имя ServiceAccount

""

serviceAccount.nameTest

Имя тестового ServiceAccount

""

serviceAccount.labels

Метки для ServiceAccount

{}

serviceAccount.automountServiceAccountToken

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

false

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

Параметр

Описание

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

replicas

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

1

headlessService – создание Headless Service для Deployment#

Параметр

Описание

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

headlessService

Создание Headless Service для Deployment

false

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

Параметр

Описание

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

automountServiceAccountToken

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

true

autoscaling – настройки автомасштабирования#

Параметр

Описание

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

autoscaling.enabled

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

false

autoscaling.minReplicas

Минимальное количество реплик при автоматическом масштабировании

1

autoscaling.maxReplicas

Максимальное количество реплик при автоматическом масштабировании

5

autoscaling.targetCPU

Целевое использование CPU в процентах

"60"

autoscaling.targetMemory

Целевое использование памяти в процентах

""

autoscaling.behavior

Настройки поведения масштабирования

{}

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

Параметр

Описание

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

podDisruptionBudget

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

apiVersion: ""
minAvailable: 1
maxUnavailable: 1
unhealthyPodEvictionPolicy: IfHealthyBudget

{}

deploymentStrategy – стратегия обновления Deployment#

Параметр

Описание

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

deploymentStrategy.type

Тип стратегии развертывания.
Возможные значения: RollingUpdate, Recreate

RollingUpdate

progressDeadlineSeconds – максимальное время прогресса развертывания#

Параметр

Описание

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

progressDeadlineSeconds

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

~

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

Параметр

Описание

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

readinessProbe.httpGet.path

HTTP-путь для проверки готовности

/api/health

readinessProbe.httpGet.port

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

grafana

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

Параметр

Описание

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

livenessProbe.httpGet.path

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

/api/health

livenessProbe.httpGet.port

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

grafana

livenessProbe.initialDelaySeconds

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

60

livenessProbe.timeoutSeconds

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

30

livenessProbe.failureThreshold

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

10

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

Параметр

Описание

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

image.registry

Реестр Docker-образа

'{{ .Values.global.image.registry }}'

image.repository

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

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-grafana-13/grafana'

image.tag

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

"13.1.0"

image.sha

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

""

image.pullPolicy

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

IfNotPresent

image.pullSecrets

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

[]

testFramework – параметры тестового фреймворка чарта#

Параметр

Описание

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

testFramework.enabled

Включение тестового pod для Helm-чарта

false

testFramework.image.registry

Реестр Docker-образа тестового фреймворка

docker.io

testFramework.image.repository

Репозиторий Docker-образа тестового фреймворка

bats/bats

testFramework.image.tag

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

"1.13.0"

testFramework.imagePullPolicy

Политика загрузки образа

IfNotPresent

testFramework.securityContext

Контекст безопасности тестового pod

{}

testFramework.containerSecurityContext

Контекст безопасности тестового контейнера

{}

testFramework.resources

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

limits:
  cpu: 100m
  memory: 128Mi
requests:
  cpu: 100m
  memory: 128Mi

{}

dnsPolicy – политика DNS для pod#

Параметр

Описание

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

dnsPolicy

Политика DNS для pod.
Возможные значения: ClusterFirst, Default, ClusterFirstWithHostNet

~

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

Параметр

Описание

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

dnsConfig

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

nameservers:
  - 8.8.8.8
options:
  - name: ndots
    value: "2"
  - name: edns0

{}

hostUsers – монтирование /etc/passwd хоста#

Параметр

Описание

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

hostUsers

Монтирование /etc/passwd хоста в pod

~

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

Параметр

Описание

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

securityContext.runAsNonRoot

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

true

securityContext.runAsUser

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

10472

securityContext.runAsGroup

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

10472

securityContext.fsGroup

ID группы для файловой системы

10472

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

Параметр

Описание

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

containerSecurityContext.allowPrivilegeEscalation

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

false

containerSecurityContext.privileged

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

false

containerSecurityContext.readOnlyRootFilesystem

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

true

containerSecurityContext.capabilities.drop

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

- ALL

containerSecurityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

containerSecurityContext.runAsUser

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

10472

containerSecurityContext.runAsGroup

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

10472

createConfigmap – создание основного ConfigMap#

Параметр

Описание

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

createConfigmap

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

true

extraConfigmapMounts – дополнительные монтирования ConfigMap#

Параметр

Описание

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

extraConfigmapMounts

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

- name: certs-configmap
  mountPath: /etc/grafana/ssl/
  subPath: certificates.crt
  configMap: certs-configmap
  readOnly: true
  optional: false

[]

extraEmptyDirMounts – дополнительные тома EmptyDir для монтирования#

Параметр

Описание

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

extraEmptyDirMounts

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

- name: provisioning-notifiers
  mountPath: /etc/grafana/provisioning/notifiers

[]

shadowBundledPlugins — скрытие встроенных плагинов#

Параметр

Описание

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

shadowBundledPlugins

Активация монтирования тома EmptyDir поверх каталога /usr/share/grafana/data/plugins-bundled. Обеспечивает корректную установку плагинов (из списка plugins:) в /var/lib/grafana/plugins, предотвращая ошибки доступа к каталогу только для чтения, который используется в официальном образе Grafana. При активации параметра все встроенные плагины, не указанные явно в списке plugins:, становятся недоступны.

false

extraLabels – дополнительные метки#

Параметр

Описание

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

extraLabels

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

{}

downloadDashboardsImage – параметры образа для загрузки дашбордов#

Параметр

Описание

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

downloadDashboardsImage.registry

Реестр Docker-образа для загрузки дашбордов

'{{ .Values.global.image.registry }}'

downloadDashboardsImage.repository

Репозиторий образа для загрузки дашбордов

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-curl/curl'

downloadDashboardsImage.tag

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

7.76.1

downloadDashboardsImage.sha

SHA-хеш образа

""

downloadDashboardsImage.pullPolicy

Политика загрузки образа

IfNotPresent

downloadDashboards – параметры загрузки внешних дашбордов#

Параметр

Описание

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

downloadDashboards.env

Переменные окружения для загрузки дашбордов

{}

downloadDashboards.envFromSecret

Переменные окружения из Secret

""

downloadDashboards.resources.limits.cpu

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

300m

downloadDashboards.resources.limits.memory

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

512Mi

downloadDashboards.resources.requests.cpu

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

50m

downloadDashboards.resources.requests.memory

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

128Mi

downloadDashboards.securityContext.allowPrivilegeEscalation

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

false

downloadDashboards.securityContext.readOnlyRootFilesystem

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

true

downloadDashboards.securityContext.runAsUser

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

10001

downloadDashboards.securityContext.runAsGroup

ID группы для запуска

10001

downloadDashboards.securityContext.capabilities.drop

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

- ALL

downloadDashboards.securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

downloadDashboards.envValueFrom

Переменные окружения из источников.
Пример конфигурации:

ENV_NAME:
  configMapKeyRef:
    name: configmap-name
    key: value_key

{}

podPortName – имя основного порта pod#

Параметр

Описание

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

podPortName

Имя порта в pod

grafana

gossipPortName – имя gossip-порта#

Параметр

Описание

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

gossipPortName

Имя порта для протокола gossip

gossip

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

Параметр

Описание

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

service.enabled

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

true

service.type

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

ClusterIP

service.ipFamilyPolicy

Политика IP-семейств для Service с двойным стеком

""

service.ipFamilies

Список IP-семейств, поддерживаемых Service

[]

service.loadBalancerIP

IP-адрес для LoadBalancer

""

service.loadBalancerClass

Класс LoadBalancer

""

service.loadBalancerSourceRanges

Диапазоны IP для доступа к LoadBalancer

[]

service.port

Порт Service

80

service.targetPort

Целевой порт контейнера

3000

service.annotations

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

{}

service.labels

Метки для Service

{}

service.portName

Имя порта в Service

service

service.appProtocol

Протокол, используемый портом Service для корректной работы Ingress и Istio

""

service.sessionAffinity

Режим привязки сессии для Service

""

service.trafficDistribution

Распределение трафика на эндпоинты Service

""

serviceMonitor – параметры ServiceMonitor#

Параметр

Описание

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

serviceMonitor.enabled

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

false

serviceMonitor.path

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

/metrics

serviceMonitor.labels

Метки для ServiceMonitor

{}

serviceMonitor.scheme

Схема подключения.
Возможные значения: http, https

http

serviceMonitor.tlsConfig

Настройки TLS-параметров для безопасного сбора метрик Prometheus по протоколу HTTP

{}

serviceMonitor.relabelings

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

[]

serviceMonitor.metricRelabelings

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

[]

serviceMonitor.basicAuth

Настройки базовой аутентификации для безопасного сбора метрик Prometheus через ServiceMonitor

{}

serviceMonitor.targetLabels

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

[]

extraExposePorts – дополнительные порты для Service#

Параметр

Описание

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

extraExposePorts

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

- name: keycloak
  port: 8080
  targetPort: 8080

[]

hostAliases – псевдонимы хостов#

Параметр

Описание

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

hostAliases

Пользовательские записи хостов для добавления в /etc/hosts pod.
Пример конфигурации:

- ip: "1.2.3.4"
  hostnames:
    - "my.host.com"

[]

Параметр

Описание

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

consoleLink.enabled

Включение отображения ссылки на Grafana в веб-консоли

true

ingress – настройки Ingress для маршрутизации внешнего трафика#

Параметр

Описание

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

ingress.enabled

Включение Ingress для внешнего доступа

true

ingress.ingressClassName

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

nginx

ingress.annotations

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

{}

ingress.labels

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

{}

ingress.path

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

/

ingress.pathType

Тип пути в Ingress.
Возможные значения: Prefix, Exact, ImplementationSpecific

Prefix

ingress.hosts

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

- 'grafana.{{ include "ingress.domain" . }}'

ingress.extraPaths

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

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

[]

ingress.tls

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

- secretName: ingress-tls
  hosts:
    - 'grafana.{{ include "ingress.domain" . }}'

route – настройки маршрутизации трафика через шлюз API#

Параметр

Описание

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

route.main.enabled

Создание маршрута Gateway API для внешнего доступа

false

route.main.apiVersion

Версия Gateway API

gateway.networking.k8s.io/v1

route.main.kind

Тип маршрута Gateway API.
Возможные значения: GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute

HTTPRoute

route.main.annotations

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

{}

route.main.labels

Метки для классификации ресурса маршрута

{}

route.main.hostnames

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

- my-filter.example.com

[]

route.main.parentRefs

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

- name: acme-gw

[]

route.main.matches

Условия сопоставления запросов для HTTPRoute

- path:
    type: PathPrefix
    value: /

route.main.timeouts

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

request: 10s
backendRequest: 5s

{}

route.main.sessionPersistence

Сохранение сессий.
Пример конфигурации:

sessionName: grafana-session
type: Cookie
absoluteTimeout: 48h
cookieConfig:
  lifetimeType: Permanent

{}

route.main.filters

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

[]

route.main.additionalRules

Дополнительные пользовательские правила маршрутизации трафика

[]

route.main.httpsRedirect

Включение перенаправления HTTP-запросов на HTTPS

false

listenerSet – параметры Gateway API ListenerSet#

Параметр

Описание

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

listenerSet.main.enabled

Включение создания ListenerSet

false

listenerSet.main.apiVersion

Версия API для ListenerSet

gateway.networking.k8s.io/v1

listenerSet.main.annotations

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

{}

listenerSet.main.labels

Метки для ListenerSet

{}

listenerSet.main.parentRef

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

name: my-gateway
namespace: default
group: gateway.networking.k8s.io
kind: Gateway

{}

listenerSet.main.listeners

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

- name: https
  port: 443
  protocol: HTTPS
  hostname: grafana.example.com
  tls:
    mode: Terminate
    certificateRefs:
      - name: grafana-tls
  allowedRoutes:
    namespaces:
      from: Same

[]

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

Параметр

Описание

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

resources.limits.cpu

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

300m

resources.limits.memory

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

512Mi

resources.requests.cpu

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

100m

resources.requests.memory

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

128Mi

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

Параметр

Описание

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

nodeSelector

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

{}

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

Параметр

Описание

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

tolerations

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

[]

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

Параметр

Описание

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

affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам

{}

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

Параметр

Описание

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

topologySpreadConstraints

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

[]

extraInitContainers – дополнительные init-контейнеры#

Параметр

Описание

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

extraInitContainers

Дополнительные init-контейнеры для pod

[]

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

Параметр

Описание

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

extraContainers

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

- name: proxy
  image: quay.io/gambol99/keycloak-proxy:latest
  args:
    - -provider=github
    - -client-id=
    - -client-secret=
    - -github-org=<ORG_NAME>
    - -email-domain=*
    - -cookie-secret=
    - -http-address=http://0.0.0.0:4181
    - -upstream-url=http://127.0.0.1:3000
  ports:
    - name: proxy-web
      containerPort: 4181

""

extraContainerVolumes – тома для дополнительных контейнеров#

Параметр

Описание

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

extraContainerVolumes

Тома для использования в init-контейнерах без монтирования в основной pod.
Пример конфигурации:

- name: volume-from-secret
  secret:
    secretName: secret-to-mount
- name: empty-dir-volume
  emptyDir: {}

[]

persistence – параметры постоянного хранилища (PersistentVolumeClaim)#

Параметр

Описание

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

persistence.type

Тип постоянного хранилища.
Возможные значения: pvc, hostPath, emptyDir

pvc

persistence.enabled

Включение постоянного хранилища через PersistentVolumeClaim

false

persistence.volumeName

Имя существующего PersistentVolume для привязки PersistentVolumeClaim

""

persistence.accessModes

Режимы доступа к Volume

- ReadWriteOnce

persistence.size

Размер запрашиваемого Volume

10Gi

persistence.finalizers

Финализаторы для PersistentVolumeClaim

- kubernetes.io/pvc-protection

persistence.extraPvcLabels

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

{}

persistence.disableWarning

Отключение предупреждения о работе постоянного хранилища

false

persistence.persistentVolumeClaimRetentionPolicy

Политика удержания PersistentVolumeClaim для StatefulSet.
Пример конфигурации:

whenDeleted: Retain
whenScaled: Retain

{}

persistence.inMemory.enabled

Хранение данных в оперативной памяти pod вместо постоянного хранилища

false

persistence.lookupVolumeName

Поиск текущего значения spec.volumeName при обновлении Helm-чарта

true

initChownData – параметры init-контейнера для смены владельца данных#

Параметр

Описание

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

initChownData.enabled

Включение смены владельца данных при запуске

false

initChownData.image.registry

Реестр Docker-образа init-контейнера

docker.io

initChownData.image.repository

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

library/busybox

initChownData.image.tag

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

"1.38.0"

initChownData.image.sha

SHA-хеш образа

""

initChownData.image.pullPolicy

Политика загрузки образа

IfNotPresent

initChownData.resources

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

limits:
  cpu: 100m
  memory: 128Mi
requests:
  cpu: 100m
  memory: 128Mi

{}

initChownData.securityContext.readOnlyRootFilesystem

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

false

initChownData.securityContext.runAsNonRoot

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

false

initChownData.securityContext.runAsUser

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

0

initChownData.securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

initChownData.securityContext.capabilities.add

Добавляемые возможности

- CHOWN
- DAC_OVERRIDE

initChownData.securityContext.capabilities.drop

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

- ALL

adminUser – имя пользователя с административными полномочиями#

Параметр

Описание

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

adminUser

Имя пользователя с административными полномочиями Grafana

admin

admin – параметры существующего Secret пользователя с административными полномочиями#

Параметр

Описание

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

admin.existingSecret

Имя существующего Secret с учетными данными пользователя с административными полномочиями

""

admin.userKey

Ключ в Secret с именем пользователя

admin-user

admin.passwordKey

Ключ в Secret с паролем

admin-password

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

Параметр

Описание

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

env.GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET

Secret клиента для OAuth-аутентификации

~

env.GF_SERVER_ROOT_URL

Корневой URL сервера Grafana

'https://grafana.{{ include "ingress.domain" . }}'

envValueFrom – значения переменной окружения без явного указания значения#

Параметр

Описание

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

envValueFrom

Переменные окружения из ConfigMap или Secret.
Пример конфигурации:

ENV_NAME:
  configMapKeyRef:
    name: configmap-name
    key: value_key

{}

envFromSecret – импорт переменных среды из существующего объекта Secret#

Параметр

Описание

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

envFromSecret

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

""

envRenderSecret – значения для генерации Secret#

Параметр

Описание

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

envRenderSecret

Конфиденциальные переменные окружения, которые будут отрендерены как отдельный Secret

{}

envFromSecrets – список Secret для envFrom#

Параметр

Описание

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

envFromSecrets

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

- name: secret-name
  prefix: prefix
  optional: true

[]

envFromConfigMaps – список ConfigMap для envFrom#

Параметр

Описание

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

envFromConfigMaps

Список ConfigMap для добавления всех ключей как переменных окружения.
Пример конфигурации:

- name: configmap-name
  prefix: prefix
  optional: true

[]

Параметр

Описание

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

enableServiceLinks

Включение ServiceLinks в pod

true

extraSecretMounts – дополнительные монтирования Secret#

Параметр

Описание

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

extraSecretMounts

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

- name: ingress-tls
  mountPath: /etc/ingress-tls
  secretName: ingress-tls
  readOnly: true
  projected:
    defaultMode: 420

extraVolumeMounts – дополнительные точки монтирования томов (VolumeMounts)#

Параметр

Описание

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

extraVolumeMounts

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

- name: extra-volume-0
  mountPath: /mnt/volume0
  readOnly: true
- name: extra-volume-1
  mountPath: /mnt/volume1
  readOnly: true
- name: grafana-secrets
  mountPath: /mnt/volume2

[]

extraVolumes – дополнительные тома для pod#

Параметр

Описание

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

extraVolumes

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

- name: extra-volume-0
  existingClaim: volume-claim
- name: extra-volume-1
  hostPath:
    path: /usr/shared/
    type: ""
- name: grafana-secrets
  csi:
    driver: secrets-store.csi.k8s.io
    readOnly: true
    volumeAttributes:
      secretProviderClass: "grafana-env-spc"

[]

lifecycleHooks – хуки жизненного цикла контейнера#

Параметр

Описание

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

lifecycleHooks

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

postStart:
  exec:
    command: []

{}

plugins – список плагинов#

Параметр

Описание

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

plugins

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

- digrich-bubblechart-panel
- grafana-clock-panel
- marcusolsson-json-datasource@1.3.24@https://grafana.com/api/plugins/marcusolsson-json-datasource/versions/1.3.24/download

[]

datasources – источники данных для визуализации и анализа#

Параметр

Описание

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

datasources.datasources.yaml.apiVersion

Версия API для конфигурации источников данных

1

datasources.datasources.yaml.datasources

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

- name: victoriametrics
  type: prometheus
  orgId: 1
  url: http://vmselect-victoria-metrics-k8s-stack.dapp-monitoring.svc.cluster.local:8481/select/0/prometheus/
  access: proxy
  isDefault: true
  updateIntervalSeconds: 10
  editable: true
- name: Loki
  type: loki
  uid: P8E80F9AEF21F6940
  orgId: 1
  url: http://loki.dapp-logging.svc.cluster.local:3100
  access: proxy
  isDefault: false
  updateIntervalSeconds: 10
  editable: true

alerting – параметры уведомлений#

Параметр

Описание

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

alerting

Настройка уведомлений ресурсов оповещения Grafana: правила, политики, контакты, шаблоны, периоды без оповещений.
Пример конфигурации:

policies.yaml:
  apiVersion: 1
  policies:
    - orgId: 1
      receiver: first_uid
rules.yaml:
  apiVersion: 1
  groups:
    - orgId: 1
      name: '{{ .Chart.Name }}_my_rule_group'
      folder: my_first_folder
      interval: 60s
      rules:
        - uid: my_id_1
          title: my_first_rule
          condition: A
contactpoints.yaml:
  secret:
    apiVersion: 1
    contactPoints:
      - orgId: 1
        name: cp_1
        receivers:
          - uid: first_uid
            type: pagerduty
            settings:
              integrationKey: XXX
              severity: critical
templates.yaml:
  apiVersion: 1
  templates:
    - orgId: 1
      name: my_first_template
      template: ""

{}

notifiers – каналы и сервисы доставки оповещений#

Параметр

Описание

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

notifiers

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

notifiers.yaml:
  notifiers:
    - name: email-notifier
      type: email
      uid: email1
      org_id: 1
      is_default: true
      settings:
        addresses: an_email_address@example.com
  delete_notifiers:

{}

dashboardProviders – сервисы автоматического импорта и обновления дашбордов#

Параметр

Описание

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

dashboardProviders.dashboardproviders.yaml.apiVersion

Версия API для провайдеров дашбордов

1

dashboardProviders.dashboardproviders.yaml.providers

Список провайдеров для автоматической загрузки дашбордов

- name: 'cluster'
  orgId: 1
  folder: 'cluster'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/cluster
- name: 'cni'
  orgId: 1
  folder: 'cni'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/cni
- name: 'cri'
  orgId: 1
  folder: 'cri'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/cri
- name: 'ingress-controller'
  orgId: 1
  folder: 'ingress-controller'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/ingress-controller
- name: 'cert-management'
  orgId: 1
  folder: 'cert-management'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/cert-management
- name: 'auth'
  orgId: 1
  folder: 'auth'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/auth
- name: 'alerting'
  orgId: 1
  folder: 'alerting'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/alerting
- name: 'monitoring'
  orgId: 1
  folder: 'monitoring'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/monitoring
- name: 'security'
  orgId: 1
  folder: 'security'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/security
- name: 'logging'
  orgId: 1
  folder: 'logging'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/logging
- name: 'aiops'
  orgId: 1
  folder: 'aiops'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/aiops
- name: 'storage'
  orgId: 1
  folder: 'storage'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/storage
- name: 'ai-system'
  orgId: 1
  folder: 'ai-system'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/ai-system
- name: 'audit'
  orgId: 1
  folder: 'audit'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/audit
- name: 'gitops'
  orgId: 1
  folder: 'gitops'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/gitops
- name: 'devops'
  orgId: 1
  folder: 'devops'
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /var/lib/grafana/dashboards/devops

defaultCurlOptions – параметры curl для загрузки дашбордов#

Параметр

Описание

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

defaultCurlOptions

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

-skf

dashboards – список дашбордов#

Параметр

Описание

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

dashboards.cluster

Дашборды кластера

k8s-overview:
  file: dashboards/cluster/k8s-overview.json
k8s-apiserver:
  file: dashboards/cluster/k8s-apiserver.json
k8s-controller-manager:
  file: dashboards/cluster/k8s-controller-manager.json
k8s-coredns:
  file: dashboards/cluster/k8s-coredns.json
k8s-etcd:
  file: dashboards/cluster/k8s-etcd.json
k8s-kubelet:
  file: dashboards/cluster/k8s-kubelet.json
k8s-pvs:
  file: dashboards/cluster/k8s-pvs.json
k8s-scheduler:
  file: dashboards/cluster/k8s-scheduler.json
k8s-api-performance:
  file: dashboards/cluster/k8s-api-performance.json
k8s-resources-cluster:
  file: dashboards/cluster/k8s-resources-cluster.json
k8s-resources-namespace:
  file: dashboards/cluster/k8s-resources-namespace.json
k8s-resources-node:
  file: dashboards/cluster/k8s-resources-node.json
k8s-resources-pod:
  file: dashboards/cluster/k8s-resources-pod.json
k8s-resources-workload:
  file: dashboards/cluster/k8s-resources-workload.json
k8s-resources-workload-namespace:
  file: dashboards/cluster/k8s-resources-workload-namespace.json
network-cluster-total:
  file: dashboards/cluster/network-cluster-total.json
network-namespace-by-pod:
  file: dashboards/cluster/network-namespace-by-pod.json
network-pod-total:
  file: dashboards/cluster/network-pod-total.json

dashboards.cni

Дашборды CNI

cilium-agent:
  file: dashboards/cni/cilium-agent.json

dashboards.auth

Дашборды аутентификации

dex:
  file: dashboards/auth/dex.json

dashboards.cert-management

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

cert-manager:
  file: dashboards/cert-management/cert-manager.json
x509-certificate-exporter:
  file: dashboards/cert-management/x509-certificate-exporter.json

dashboards.ingress-controller

Дашборды Ingress-контроллера

ingress-nginx-controller:
  file: dashboards/ingress-controller/ingress-nginx-controller.json
ingress-nginx-overview:
  file: dashboards/ingress-controller/ingress-nginx-overview.json
ingress-nginx-request-performance:
  file: dashboards/ingress-controller/ingress-nginx-request-performance.json

dashboards.alerting

Дашборды алертинга

alertmanager-overview:
  file: dashboards/alerting/alertmanager-overview.json

dashboards.monitoring

Дашборды мониторинга

vmagent:
  file: dashboards/monitoring/vmagent.json
vmcluster:
  file: dashboards/monitoring/vmcluster.json

dashboards.security

Дашборды безопасности

gatekeeper:
  file: dashboards/security/gatekeeper.json
kyverno:
  file: dashboards/security/kyverno.json
openbao:
  file: dashboards/security/openbao.json

dashboards.logging

Дашборды логирования

vector:
  file: dashboards/logging/vector.json

dashboards.gitops

Дашборды GitOps

argocd:
  file: dashboards/gitops/argocd.json

dashboards.devops

Дашборды DevOps

argo-workflows:
  file: dashboards/devops/argo-workflows.json

dashboards.aiops

Дашборды AIOps

k8sgpt-overview:
  file: dashboards/aiops/k8sgpt-overview.json

dashboards.ai-system

Дашборды AI-системы

dcgm-gpu-nodes:
  file: dashboards/ai-system/dcgm-gpu-nodes.json
dcgm-gpu-overview:
  file: dashboards/ai-system/dcgm-gpu-overview.json
dcgm-gpu-per-mig:
  file: dashboards/ai-system/dcgm-gpu-per-mig.json

dashboards.audit

Дашборды аудита

audit-events:
  file: dashboards/audit/audit-events.json

dashboards.storage

Дашборды хранилища

longhorn:
  file: dashboards/storage/longhorn.json

dashboardsConfigMaps – внешние ConfigMap с дашбордами#

Параметр

Описание

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

dashboardsConfigMaps

Ссылки на внешние ConfigMap с дашбордами, где ключ — имя сервиса, значение — имя ConfigMap.
Пример конфигурации:

default: ""

{}

grafana.ini – основная конфигурация#

Параметр

Описание

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

grafana.ini.paths.data

Путь к каталогу с данными

/var/lib/grafana/

grafana.ini.paths.logs

Путь к каталогу с логами

/var/log/grafana

grafana.ini.paths.plugins

Путь к каталогу с плагинами

/var/lib/grafana/plugins

grafana.ini.paths.provisioning

Путь к каталогу с файлами конфигурации для автозагрузки дашбордов и источников данных

/etc/grafana/provisioning

grafana.ini.analytics.check_for_updates

Включение проверки обновлений

true

grafana.ini.log.mode

Режим логирования

console

grafana.ini.metrics.enabled

Включение встроенных метрик

false

grafana.ini.server.domain

Доменное имя сервера

'{{ if (and .Values.ingress.enabled .Values.ingress.hosts) }}{{ tpl (.Values.ingress.hosts | first) . }}{{ else if (and .Values.route.main.enabled .Values.route.main.hostnames) }}{{ tpl (.Values.route.main.hostnames | first) . }}{{ else }}''{{ end }}'

grafana.ini.unified_storage.index_path

Путь к индексу унифицированного хранилища

/var/lib/grafana-search/bleve

grafana.ini.auth.disable_login_form

Отключение стандартной формы входа

false

grafana.ini.auth.login_maximum_inactive_lifetime_duration

Максимальное время неактивной сессии

30m

grafana.ini.auth.login_maximum_lifetime_duration

Максимальное время жизни сессии

24h

grafana.ini.auth.token_rotation_interval_minutes

Интервал ротации токенов в минутах

10

grafana.ini.auth.generic_oauth.enabled

Включение аутентификации пользователей через внешний OAuth-провайдер

true

grafana.ini.auth.generic_oauth.auto_login

Автоматический вход через OAuth

true

grafana.ini.auth.generic_oauth.name

Имя OAuth-провайдера

Platform V DropApp Auth

grafana.ini.auth.generic_oauth.allow_sign_up

Разрешение регистрации пользователя, прошедшего аутентификацию

true

grafana.ini.auth.generic_oauth.client_id

Идентификатор OAuth-клиента

grafana

grafana.ini.auth.generic_oauth.auth_url

URL авторизации OAuth

'https://auth.{{ include "ingress.domain" . }}/auth'

grafana.ini.auth.generic_oauth.api_url

URL API OAuth для получения информации о пользователе

'https://auth.{{ include "ingress.domain" . }}/userinfo'

grafana.ini.auth.generic_oauth.token_url

URL получения токена OAuth

'https://auth.{{ include "ingress.domain" . }}/token'

grafana.ini.auth.generic_oauth.scopes

Набор OAuth-областей (scopes), запрашиваемых Grafana у провайдера

openid profile email groups

grafana.ini.auth.generic_oauth.tls_skip_verify_insecure

Отключение проверки TLS-сертификата при использовании самоподписанного сертификата

true

grafana.ini.auth.generic_oauth.tls_client_cert

Путь к TLS-сертификату клиента

/etc/ingress-tls/tls.crt

grafana.ini.auth.generic_oauth.tls_client_key

Путь к TLS-ключу клиента

/etc/ingress-tls/tls.key

grafana.ini.auth.generic_oauth.role_attribute_strict

Включение строгой проверки атрибута роли

true

grafana.ini.auth.generic_oauth.role_attribute_path

Извлечение роли пользователя из атрибутов, чтобы определить его права доступа в Grafana

"(name == 'kubeadmin') && 'Admin' || contains(groups[*], 'grafana-admin') && 'Admin' || contains(groups[*], 'grafana-editor') && 'Editor' || contains(groups[*], 'grafana-viewer') && 'Viewer'"

ldap – параметры LDAP-конфигурации#

Параметр

Описание

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

ldap.enabled

Включение LDAP-аутентификации

false

ldap.existingSecret

Имя существующего Secret с файлом ldap.toml

""

ldap.config

Настройка ldap.toml для создания Secret.
Пример конфигурации:

verbose_logging = true

[[servers]]
host = "my-ldap-server"
port = 636
use_ssl = true
start_tls = false
ssl_skip_verify = false
bind_dn = "uid=%s,ou=users,dc=myorg,dc=com"

""

shareProcessNamespace – совместное использование пространства имен процессов контейнерами#

Параметр

Описание

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

shareProcessNamespace

Включение общего пространства имен процессов между контейнерами pod. Позволяет контейнерам видеть процессы друг друга и взаимодействовать через сигналы (например, с sidecar-контейнерами)

false

smtp – параметры SMTP#

Параметр

Описание

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

smtp.existingSecret

Имя существующего Secret с конфигурацией SMTP

""

smtp.userKey

Ключ в Secret с именем пользователя SMTP

user

smtp.passwordKey

Ключ в Secret с паролем SMTP

password

sidecar – параметры sidecar-контейнеров#

Параметр

Описание

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

sidecar.image.registry

Реестр Docker-образа sidecar-контейнера

quay.io

sidecar.image.repository

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

kiwigrid/k8s-sidecar

sidecar.image.tag

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

2.8.1

sidecar.image.sha

Дайджест (SHA-хеш) образа sidecar-контейнера

""

sidecar.imagePullPolicy

Политика загрузки образа sidecar-контейнера

IfNotPresent

sidecar.resources

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

limits:
  cpu: 100m
  memory: 100Mi
requests:
  cpu: 50m
  memory: 50Mi

{}

sidecar.securityContext.allowPrivilegeEscalation

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

false

sidecar.securityContext.capabilities.drop

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

- ALL

sidecar.securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

sidecar.enableUniqueFilenames

Использование уникальных имен файлов для загруженных ресурсов

false

sidecar.readinessProbe

Настройки проверки готовности для sidecar-контейнера

{}

sidecar.livenessProbe

Настройки проверки работоспособности для sidecar-контейнера

{}

sidecar.alerts.enabled

Включение sidecar-контейнера оповещений

false

sidecar.alerts.env

Дополнительные переменные окружения для оповещений sidecar-контейнера

{}

sidecar.alerts.envValueFrom

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

ENV_NAME:
  configMapKeyRef:
    name: configmap-name
    key: value_key

{}

sidecar.alerts.label

Метка для поиска ConfigMap и Secret с правилами оповещений

grafana_alert

sidecar.alerts.labelValue

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

""

sidecar.alerts.searchNamespace

Пространство имен для поиска ресурсов с правилами оповещений. ALL – для всех пространств имен

~

sidecar.alerts.watchMethod

Метод обнаружения изменений ресурсов.
Возможные значения: WATCH, SLEEP

WATCH

sidecar.alerts.resource

Тип ресурсов для поиска.
Возможные значения: configmap, secret, both

both

sidecar.alerts.resourceName

Список имен ресурсов, разделенных запятыми, используемых sidecar-контейнером для загрузки конфигурации правил оповещений Grafana. Если значение не задано, проверяются все ресурсы в соответствии с параметром sidecar.alerts.resource

""

sidecar.alerts.reloadURL

URL для перезагрузки ресурсов с правилами оповещений

http://localhost:3000/api/admin/provisioning/alerting/reload

sidecar.alerts.script

Путь к скрипту выполнения после перезагрузки ConfigMap

~

sidecar.alerts.skipReload

Отключение автоматической перезагрузки Grafana после изменения конфигурации правил оповещения

false

Инициализация sidecar-контейнера с текущими правилами оповещения при первом запуске

false

sidecar.alerts.extraMounts

Дополнительные монтирования тома Volume для sidecar-контейнера оповещений

[]

sidecar.alerts.sizeLimit

Ограничение размера тома EmptyDir контейнера

""

sidecar.dashboards.enabled

Включение дашбордов sidecar-контейнера

false

sidecar.dashboards.env

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

{}

sidecar.dashboards.envValueFrom

Переменные окружения дашбордов sidecar-контейнера из источников.
Пример конфигурации:

ENV_NAME:
  configMapKeyRef:
    name: configmap-name
    key: value_key

{}

sidecar.dashboards.SCProvider

Включение автоматического создания конфигурации провайдера для дашбордов sidecar-контейнера

true

sidecar.dashboards.label

Метка для поиска ConfigMap и Secret с дашбордами

grafana_dashboard

sidecar.dashboards.labelValue

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

""

sidecar.dashboards.folder

Каталог в pod для собранных дашбордов

/tmp/dashboards

sidecar.dashboards.defaultFolderName

Имя подкаталога для дашбордов

~

sidecar.dashboards.searchNamespace

Пространство имен для поиска ресурсов с дашбордами, ALL – для всех пространств имен

~

sidecar.dashboards.watchMethod

Метод обнаружения изменений ConfigMap.
Возможные значения: WATCH, SLEEP

WATCH

sidecar.dashboards.resource

Тип ресурсов для поиска.
Возможные значения: configmap, secret, both

both

sidecar.dashboards.folderAnnotation

Имя аннотации для создания папки дашборда

~

sidecar.dashboards.resourceName

Список имен ресурсов, разделенных запятыми, используемых sidecar-контейнером для загрузки конфигурации дашбордов Grafana. Если значение не задано, проверяются все ресурсы в соответствии с параметром sidecar.dashboards.resource

""

sidecar.dashboards.reloadURL

URL эндпоинт для перезагрузки дашбордов

http://localhost:3000/api/admin/provisioning/dashboards/reload

sidecar.dashboards.script

Путь к скрипту выполнения после перезагрузки ConfigMap

~

sidecar.dashboards.skipReload

Отключение автоматической перезагрузки Grafana после изменения конфигурации дашбордов

false

sidecar.dashboards.initDashboards

Отключение развертывания дашборда sidecar-контейнера как init-контейнера

false

sidecar.dashboards.provider.name

Имя провайдера Grafana

sidecarProvider

sidecar.dashboards.provider.orgid

ID организации Grafana

1

sidecar.dashboards.provider.folder

Каталог Grafana для импорта дашбордов

''

sidecar.dashboards.provider.folderUid

UID папки Grafana

''

sidecar.dashboards.provider.type

Тип провайдера для автоматического импорта дашбордов

file

sidecar.dashboards.provider.disableDelete

Отключение удаления дашбордов из провайдера

false

sidecar.dashboards.provider.allowUiUpdates

Изменение автоматически загруженных дашбордов через интерфейс Grafana

false

sidecar.dashboards.provider.foldersFromFilesStructure

Воспроизведение структуры каталогов из файловой системы

false

sidecar.dashboards.extraMounts

Дополнительные монтирования тома Volume для sidecar-контейнера дашбордов

[]

sidecar.dashboards.sizeLimit

Ограничение размера тома EmptyDir контейнера

""

sidecar.datasources.enabled

Включение автообнаружения источников данных

false

sidecar.datasources.env

Дополнительные переменные окружения источников данных

{}

sidecar.datasources.envValueFrom

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

ENV_NAME:
  configMapKeyRef:
    name: configmap-name
    key: value_key

{}

sidecar.datasources.label

Метка для поиска ConfigMap и Secret с конфигурациями источников данных

grafana_datasource

sidecar.datasources.labelValue

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

""

sidecar.datasources.searchNamespace

Пространство имен для поиска ресурсов с источниками данных, ALL – для всех пространств имен

~

sidecar.datasources.watchMethod

Метод обнаружения изменений ресурсов.
Возможные значения: WATCH, SLEEP

WATCH

sidecar.datasources.resource

Тип ресурсов для поиска.
Возможные значения: configmap, secret, both

both

sidecar.datasources.resourceName

Список имен ресурсов, разделенных запятыми, используемых sidecar-контейнером для загрузки конфигурации источников данных Grafana. Если значение не задано, проверяются все ресурсы в соответствии с параметром sidecar.datasources.resource

""

sidecar.datasources.reloadURL

URL эндпоинт для перезагрузки источников данных

http://localhost:3000/api/admin/provisioning/datasources/reload

sidecar.datasources.script

Путь к скрипту выполнения после перезагрузки ConfigMap

~

sidecar.datasources.skipReload

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

false

sidecar.datasources.initDatasources

Инициализация sidecar-контейнера с загрузкой текущих источников данных при первом запуске

false

sidecar.datasources.extraMounts

Дополнительные монтирования Volume для sidecar-контейнера источников данных

[]

sidecar.datasources.sizeLimit

Ограничение размера тома EmptyDir контейнера

{}

sidecar.plugins.enabled

Включение sidecar-контейнера плагинов

false

sidecar.plugins.env

Дополнительные переменные окружения sidecar-контейнера, который устанавливает плагины Grafana

{}

sidecar.plugins.label

Метка для поиска ConfigMap и Secret с конфигурациями плагинов

grafana_plugin

sidecar.plugins.labelValue

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

""

sidecar.plugins.searchNamespace

Пространство имен для поиска ресурсов с плагинами, ALL – для всех пространств имен

~

sidecar.plugins.watchMethod

Метод обнаружения изменений ресурсов.
Возможные значения: WATCH, SLEEP

WATCH

sidecar.plugins.resource

Тип ресурсов для поиска.
Возможные значения: configmap, secret, both

both

sidecar.plugins.resourceName

Список имен ресурсов, разделенных запятыми, которые sidecar-контейнер использует для поиска и загрузки конфигурации плагинов в Grafana. Если значение не задано, проверяются все ресурсы в соответствии с параметром sidecar.plugins.resource

""

sidecar.plugins.reloadURL

URL эндпоинт для перезагрузки плагинов

http://localhost:3000/api/admin/provisioning/plugins/reload

sidecar.plugins.script

Путь к скрипту выполнения после перезагрузки ConfigMap

~

sidecar.plugins.skipReload

Отключение автоматической перезагрузки Grafana после изменения конфигурации плагинов

false

sidecar.plugins.initPlugins

Автоматическая установка плагинов Grafana при запуске

false

sidecar.plugins.extraMounts

Дополнительные монтирования Volume sidecar-контейнера плагинов

[]

sidecar.plugins.sizeLimit

Ограничение размера тома EmptyDir контейнера

""

sidecar.notifiers.enabled

Включение sidecar-контейнера канала уведомлений

false

sidecar.notifiers.env

Дополнительные переменные окружения sidecar-контейнера канала уведомлений

{}

sidecar.notifiers.label

Метка для поиска ConfigMap и Secret с конфигурацией каналов уведомлений

grafana_notifier

sidecar.notifiers.labelValue

Значение метки для поиска ресурсов с sidecar-контейнера канала уведомлений

""

sidecar.notifiers.searchNamespace

Пространство имен для поиска ресурсов с каналами уведомлений, ALL - для всех пространств имен

~

sidecar.notifiers.watchMethod

Метод обнаружения изменений ресурсов.
Возможные значения: WATCH, SLEEP

WATCH

sidecar.notifiers.resource

Тип ресурсов для поиска.
Возможные значения: configmap, secret, both

both

sidecar.notifiers.resourceName

Список имен ресурсов, разделенных запятыми, которые sidecar-контейнер проверяет для загрузки конфигурации каналов уведомлений Grafana. Если значение не задано, проверяются все ресурсы в соответствии с параметром sidecar.notifiers.resource

""

sidecar.notifiers.reloadURL

URL для перезагрузки конфигурации каналов уведомлений

http://localhost:3000/api/admin/provisioning/notifications/reload

sidecar.notifiers.script

Путь к скрипту выполнения после перезагрузки ConfigMap

~

sidecar.notifiers.skipReload

Отключение автоматической перезагрузки Grafana после изменения конфигурации каналов оповещений

false

sidecar.notifiers.initNotifiers

Автоматическая установка каналов уведомлений Grafana при запуске

false

sidecar.notifiers.extraMounts

Дополнительные монтирования Volume для sidecar-контейнера канала уведомлений

[]

sidecar.notifiers.sizeLimit

Ограничение размера тома EmptyDir контейнера

""

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

Параметр

Описание

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

namespaceOverride

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

""

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

Параметр

Описание

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

revisionHistoryLimit

Количество сохраняемых старых ReplicaSet

10

imageRenderer – параметры интеграции с удаленным сервисом рендеринга изображений#

Параметр

Описание

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

imageRenderer.deploymentStrategy

Стратегия обновления Deployment сервиса рендеринга изображений

{}

imageRenderer.progressDeadlineSeconds

Максимальное время прогресса Deployment сервиса рендеринга изображений

~

imageRenderer.enabled

Включение Deployment и Service сервиса рендеринга изображений

false

imageRenderer.replicas

Количество реплик сервиса рендеринга изображений

1

imageRenderer.autoscaling.enabled

Включение HorizontalPodAutoscaler для сервиса рендеринга изображений

false

imageRenderer.autoscaling.minReplicas

Минимальное количество реплик при автоматическом масштабировании

1

imageRenderer.autoscaling.maxReplicas

Максимальное количество реплик при автоматическом масштабировании

5

imageRenderer.autoscaling.targetCPU

Целевое использование CPU для сервиса рендеринга изображений в процентах

"60"

imageRenderer.autoscaling.targetMemory

Целевое использование памяти для сервиса рендеринга изображений в процентах

""

imageRenderer.autoscaling.behavior

Настройки поведения масштабирования сервиса рендеринга изображений

{}

imageRenderer.serverURL

URL удаленного сервиса рендеринга изображений при размещении в другом пространстве имен

""

imageRenderer.renderingCallbackURL

URL-адрес обратного вызова Grafana при размещении сервиса рендеринга изображений в другом пространстве имен

""

imageRenderer.token

Токен для аутентификации между Grafana и сервисом рендеринга

""

imageRenderer.existingSecret

Существующий Secret для токена сервиса рендеринга

""

imageRenderer.image.registry

Реестр Docker-образа сервиса рендеринга изображений

docker.io

imageRenderer.image.repository

Репозиторий образа сервиса рендеринга изображений

grafana/grafana-image-renderer

imageRenderer.image.tag

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

latest

imageRenderer.image.sha

Дайджест (SHA-хеш) образа сервиса рендеринга изображений

""

imageRenderer.image.pullSecrets

Secret для загрузки образа сервиса рендеринга изображений

[]

imageRenderer.image.pullPolicy

Политика загрузки образа

Always

imageRenderer.env

Политика DNS для pod сервиса рендеринга изображений

~

imageRenderer.dnsConfig

DNS-конфигурация для pod сервиса рендеринга изображений.
Пример конфигурации:

nameservers:
  - 8.8.8.8
options:
  - name: ndots
    value: "2"
  - name: edns0

{}

imageRenderer.env.HTTP_HOST

Хост для HTTP-прислушивания сервиса рендеринга изображений

0.0.0.0

imageRenderer.env.XDG_CONFIG_HOME

Каталог конфигурации для Chromium

/tmp/.chromium

imageRenderer.env.XDG_CACHE_HOME

Каталог кеша для Chromium

/tmp/.chromium

imageRenderer.envValueFrom

Переменные окружения сервиса рендеринга изображений из источников.
Пример конфигурации:

ENV_NAME:
  configMapKeyRef:
    name: configmap-name
    key: value_key

{}

imageRenderer.serviceAccountName

Имя ServiceAccount для сервиса рендеринга изображений

""

imageRenderer.automountServiceAccountToken

Автоматическое монтирование токена ServiceAccount для сервиса рендеринга изображений

false

imageRenderer.securityContext

Pod security context для сервиса рендеринга изображений

{}

imageRenderer.containerSecurityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

imageRenderer.containerSecurityContext.capabilities.drop

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

- ALL

imageRenderer.containerSecurityContext.allowPrivilegeEscalation

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

false

imageRenderer.containerSecurityContext.readOnlyRootFilesystem

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

true

imageRenderer.podAnnotations

Аннотации pod сервиса рендеринга изображений

{}

imageRenderer.hostAliases

Пользовательские записи хостов для добавления в /etc/hosts pod сервиса рендеринга изображений

[]

imageRenderer.priorityClassName

Имя PriorityClass для сервиса рендеринга изображений

''

imageRenderer.healthcheckPath

Путь эндпоинта проверки работоспособности

/healthz

imageRenderer.service.enabled

Включение Service сервиса рендеринга изображений

true

imageRenderer.service.portName

Имя порта Service сервиса рендеринга изображений

http

imageRenderer.service.port

Порт Service сервиса рендеринга изображений

8081

imageRenderer.service.targetPort

Целевой порт контейнера сервиса рендеринга изображений

8081

imageRenderer.service.appProtocol

Протокол приложения для работы с Istio

""

imageRenderer.serviceMonitor.enabled

Включение ServiceMonitor для сервиса рендеринга изображений

false

imageRenderer.serviceMonitor.path

Путь сбора метрик сервиса рендеринга изображений

/metrics

imageRenderer.serviceMonitor.labels

Метки ServiceMonitor для сервиса рендеринга изображений

{}

imageRenderer.serviceMonitor.scheme

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

http

imageRenderer.serviceMonitor.tlsConfig

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

{}

imageRenderer.serviceMonitor.relabelings

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

[]

imageRenderer.serviceMonitor.targetLabels

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

- targetLabel1
- targetLabel2

[]

imageRenderer.grafanaProtocol

Протокол Grafana для обратного вызова сервиса рендеринга изображений.
Возможные значения: http, https

http

imageRenderer.grafanaSubPath

Подпуть Grafana для обратного вызова сервиса рендеринга изображений

""

imageRenderer.podPortName

Имя порта pod сервиса рендеринга изображений

http

imageRenderer.revisionHistoryLimit

Количество сохраняемых ReplicaSet сервиса рендеринга изображений

10

imageRenderer.networkPolicy.limitIngress

Ограничение входящего трафика для сервиса рендеринга изображений

true

imageRenderer.networkPolicy.limitEgress

Ограничение исходящего трафика для сервиса рендеринга изображений

false

imageRenderer.networkPolicy.extraIngressSelectors

Дополнительные селекторы входящего трафика для сервиса рендеринга изображений

[]

imageRenderer.resources

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

limits:
  cpu: 100m
  memory: 100Mi
requests:
  cpu: 50m
  memory: 50Mi

{}

imageRenderer.nodeSelector

Селектор узлов для сервиса рендеринга изображений

{}

imageRenderer.tolerations

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

[]

imageRenderer.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам

{}

imageRenderer.extraConfigmapMounts

Дополнительные ConfigMap для монтирования в pod сервиса рендеринга изображений

[]

imageRenderer.extraSecretMounts

Дополнительные Secret для монтирования в pod сервиса рендеринга изображений

[]

imageRenderer.extraVolumeMounts

Дополнительные точки монтирования Volume для сервиса рендеринга изображений

[]

imageRenderer.extraVolumes

Дополнительные Volumeа для pod сервиса рендеринга изображений

[]

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

Параметр

Описание

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

networkPolicy.enabled

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

false

networkPolicy.ingress

Включение политики входящего трафика

true

networkPolicy.allowExternal

Разрешение подключений из любых источников с правильным портом

true

networkPolicy.explicitNamespacesSelector

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

matchLabels:
  role: frontend
matchExpressions:
  - key: role
    operator: In
    values:
      - frontend

{}

networkPolicy.explicitIpBlocks

Список CIDR-блоков, разрешенных для входящего трафика.
Пример конфигурации:

- 35.191.0.0/16
- 130.211.0.0/22

[]

networkPolicy.egress.enabled

Включение политики исходящего трафика

false

networkPolicy.egress.blockDNSResolution

Блокировка DNS-разрешения для pod

false

networkPolicy.egress.ports

Разрешенные порты для исходящего трафика.
Пример конфигурации:

- port: 80
- port: 443

[]

networkPolicy.egress.to

Разрешенные назначения для исходящего трафика.
Пример конфигурации:

- namespaceSelector:
    matchExpressions:
      - key: role
        operator: In
        values:
          - grafana

[]

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

Параметр

Описание

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

enableKubeBackwardCompatibility

Обратная совместимость с версиями продукта ниже 1.13 без параметра enableServiceLinks

false

useStatefulSet – использование StatefulSet#

Параметр

Описание

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

useStatefulSet

Использование StatefulSet вместо Deployment

false

extraObjects – дополнительные объекты Helm-чарта#

Параметр

Описание

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

extraObjects

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

- apiVersion: kubernetes-client.io/v1
  kind: ExternalSecret
  metadata:
    name: grafana-secrets-{{ .Release.Name }}
  spec:
    backendType: gcpSecretsManager
    data:
      - key: key
        name: adminPassword

[]

assertNoLeakedSecrets – проверка утечки Secret#

Параметр

Описание

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

assertNoLeakedSecrets

Проверка отсутствия Secret в отрендеренном ConfigMap grafana.ini

true

verticalPodAutoscaler – параметры вертикального автомасштабирования (VPA)#

Параметр

Описание

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

verticalPodAutoscaler.enabled

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

false

verticalPodAutoscaler.updateMode

Режим обновления ресурсов VPA.
Возможные значения: Off, Initial, Recreate, InPlaceOrRecreate

Off

verticalPodAutoscaler.controlledResources.cpu

Управление CPU через VPA

true

verticalPodAutoscaler.controlledResources.memory

Управление памятью через VPA

true

verticalPodAutoscaler.minAllowed.cpu

Минимально допустимые ресурсы CPU для контейнера

25m

verticalPodAutoscaler.minAllowed.memory

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

128Mi

verticalPodAutoscaler.maxAllowed.cpu

Максимально допустимые ресурсы CPU для контейнера

1000m

verticalPodAutoscaler.maxAllowed.memory

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

1Gi