Loki#

Loki - это масштабируемая, высокодоступная система агрегации логов. В отличие от традиционных решений, Loki не индексирует содержимое логов, а использует только метаданные (метки), что делает ее более простой и экономичной в эксплуатации.

Основные задачи и возможности
  • Эффективное хранение и индексация логов – обеспечиваются за счет индексирования только меток (например, job, pod, namespace), а также хранения логов сжатыми, что снижает нагрузку на ресурсы и упрощает масштабирование.

  • Глубокая интеграция с:

    • Kubernetes – достигается за счет автоматического сбора и индексирования метаданных pod, что позволяет легко фильтровать логи по контексту кластера.

    • Grafana - можно просматривать, искать и визуализировать логи параллельно с метриками, трассировками и событиями.

  • Использование собственного языка запросов LogQL, похожего на PromQL – позволяет выполнять сложные фильтрации и агрегации логов.

  • Мультиарендность и масштабируемость позволяют использовать систему в крупных средах с множеством команд и проектов.

Примечание

Loki устанавливается по умолчанию с компонентом Logging. Интеграция с Vector-aggregator и Grafana преднастроена.

Настройка#

Примечание

В инструменте Grafana преднастроена панель audit, в которой можно смотреть события аудита (если аудит был включен в DropAppConfiguration или настроен отдельно после установки кластера). Также в Grafana по умолчанию доступен Datasource loki, по которому можно искать логи аудита (job=k8s-audit), pod (job=k8s-pods) и узлов (job=k8s-nodes).

Постоянное хранение#

Примечание

По умолчанию Loki устанавливается в режиме Monolithic (бывший SingleBinary) без постоянного хранилища.

Для включения постоянного хранилища используйте следующие параметры спецификации Loki (либо компонента Logging) при установке:

values:
  singleBinary:
    persistence:
      enabled: true
      storageClass: nfs-csi # если установлен инструмент csi-driver-nfs
      size: 10Gi # определяется в зависимости от объема логов
    extraVolumes: []
    extraVolumeMounts: []

Режим SimpleScalable#

Для обеспечения высокой доступности используйте режим SimpleScalable:

values:
  deploymentMode: SimpleScalable
  loki:
    storage:
      type: s3
      s3:
        endpoint: "https://s3.example.local"
        region: "us-east-1"
        s3ForcePathStyle: true
        insecure: false
  singleBinary:
    replicas: 0
  gateway:
    enabled: true
    replicas: 2
  lokiCanary:
    enabled: true
  read:
    replicas: 1
  write:
    replicas: 1
    persistence:
      volumeClaimsEnabled: true
      storageClass: nfs-csi
      size: 200Gi
  backend:
    replicas: 1
    persistence:
      volumeClaimsEnabled: true
      storageClass: nfs-csi
      size: 200Gi

Важно

Для режима SimpleScalable требуется внешнее S3-совместимое объектное хранилище.

Режим Distributed#

Для обработки логов объемов более 1 терабайта в день используйте режим Distributed:

values:
  deploymentMode: Distributed
  loki:
    storage:
      type: s3
      s3:
        endpoint: "https://s3.example.local"
        region: "us-east-1"
        s3ForcePathStyle: true
        insecure: false
  singleBinary:
    replicas: 0 # включение основных микросервисов (по умолчанию replicas=0)
  `Ingester`:
    replicas: 3
    persistence:
      enabled: true
      # PVC создаются как список claims (volumeClaimTemplates)
      claims:
        - name: data
          storageClass: nfs-csi
          size: 200Gi
  `Compactor`:
    replicas: 1
    persistence:
      enabled: true
      claims:
        - name: data
          storageClass: nfs-csi
          size: 50Gi
  indexGateway:
    replicas: 2
    persistence:
      enabled: true
      claims:
        - name: data
          storageClass: nfs-csi
          size: 50Gi
  gateway:
    enabled: true
    replicas: 2
  lokiCanary:
    enabled: true

Важно

Для режима Distributed требуется внешнее S3-совместимое объектное хранилище.

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

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

kubeVersionOverride – переопределение версии Kubernetes для совместимости ресурсов#

Параметр

Описание

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

kubeVersionOverride

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

""

nameOverride – переопределение имени чарта#

Параметр

Описание

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

nameOverride

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

""

fullnameOverride – полное переопределение имени чарта#

Параметр

Описание

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

fullnameOverride

Полное переопределение имени для всех создаваемых ресурсов чарта

""

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

Параметр

Описание

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

namespaceOverride

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

""

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

Параметр

Описание

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

imagePullSecrets

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

[]

deploymentMode – режим DeploymentMode для Loki#

Параметр

Описание

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

deploymentMode

Режим DeploymentMode для Loki.
Возможные значения: Monolithic, SimpleScalable, Distributed

Monolithic

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

Параметр

Описание

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

commonLabels

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

{}

defaults – настройки по умолчанию для компонентов Loki#

Параметр

Описание

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

defaults.goSettings.goMemLimitFactor

Коэффициент для автоматического ограничения памяти Go

0.85

defaults.goSettings.gogc

Целевой процент сбора мусора (GOGC)

80

defaults.dnsConfig

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

{}

defaults.hostAliases

Список псевдонимов хостов для добавления в /etc/hosts

[]

defaults.hostUsers

Использование пространства имен пользователей узла hostUsers для pod

~

defaults.priorityClassName

Имя PriorityClass для pod

""

defaults.podSecurityContext

Параметры контекста безопасности pod

{}

defaults.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

defaults.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

defaults.extraArgs

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

[]

defaults.extraEnv

Дополнительные переменные окружения

[]

defaults.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

defaults.extraVolumes

Дополнительные тома (Volume) для pod

[]

defaults.extraVolumeMounts

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

[]

defaults.containerSecurityContext

Параметры контекста безопасности контейнера

{}

defaults.livenessProbe

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

{}

defaults.readinessProbe

Настройка параметров проверки готовности контейнера

{}

defaults.startupProbe

Настройка проверки успешного запуска приложения внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

defaults.nodeSelector

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

{}

defaults.tolerations

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

[]

defaults.automountServiceAccountToken

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

true

defaults.annotations

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

{}

defaults.labels

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

{}

defaults.podAnnotations

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

{}

defaults.podLabels

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

{}

defaults.enableServiceLinks

Автоматическое внедрение информации о сервисах в переменные окружения pod

true

defaults.service.annotations

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

{}

defaults.service.labels

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

{}

defaults.service.trafficDistribution

Политика распределения трафика Service

""

defaults.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

defaults.service.ipFamilies

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

[]

defaults.kedaAutoscaling.prometheusAddress

Адрес Prometheus для сбора метрик KEDA

""

defaults.kedaAutoscaling.unsafeSsl

Игнорирование ошибок проверки SSL-сертификата при подключении к Prometheus

false

defaults.kedaAutoscaling.ignoreNullValues

Игнорирование нулевых значений при запросе метрик

true

defaults.kedaAutoscaling.customHeaders

Дополнительные HTTP-заголовки для запросов к Prometheus

""

defaults.kedaAutoscaling.pollingInterval

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

30

defaults.kedaAutoscaling.cooldownPeriod

Период охлаждения после последнего события масштабирования (в секундах)

300

defaults.kedaAutoscaling.authentication.enabled

Включение аутентификации для подключения к Prometheus

false

defaults.kedaAutoscaling.authentication.authModes

Режимы аутентификации.
Возможные значения: bearer, basic

""

defaults.kedaAutoscaling.authentication.secretTargetRef

Ссылки на Secret для передачи учетных данных аутентификации

[]

defaults.statefulSetRecreateJob.patchPVC

Обновление PersistentVolumeClaim при пересоздании StatefulSet

true

defaults.statefulSetRecreateJob.image.registry

Адрес реестра контейнерных образов

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

defaults.statefulSetRecreateJob.image.repository

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

{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kubernetes/kubectl

defaults.statefulSetRecreateJob.image.tag

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

v1.29.15

loki – конфигурация Loki#

Параметр

Описание

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

loki.livenessProbe.httpGet.path

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

/loki/api/v1/status/buildinfo

loki.livenessProbe.httpGet.port

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

http-metrics

loki.livenessProbe.periodSeconds

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

30

loki.livenessProbe.successThreshold

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

1

loki.livenessProbe.failureThreshold

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

10

loki.livenessProbe.timeoutSeconds

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

1

loki.readinessProbe.httpGet.path

HTTP-путь, используемый при проверке готовности

/ready

loki.readinessProbe.httpGet.port

Имя порта, используемого при проверке готовности

http-metrics

loki.readinessProbe.periodSeconds

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

10

loki.readinessProbe.initialDelaySeconds

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

15

loki.readinessProbe.successThreshold

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

1

loki.readinessProbe.failureThreshold

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

3

loki.readinessProbe.timeoutSeconds

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

1

loki.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

loki.image.registry

Адрес реестра контейнерных образов

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

loki.image.repository

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

{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-loki/loki

loki.image.tag

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

3.7.3

loki.image.digest

Дайджест (контрольная сумма) контейнерного образа

~

loki.image.pullPolicy

Политика получения контейнерного образа

IfNotPresent

loki.annotations

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

{}

loki.podAnnotations

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

{}

loki.podLabels

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

{}

loki.serviceAnnotations

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

{}

loki.serviceLabels

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

{}

loki.revisionHistoryLimit

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

10

loki.podSecurityContext.fsGroup

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

10001

loki.podSecurityContext.fsGroupChangePolicy

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

OnRootMismatch

loki.podSecurityContext.runAsGroup

Идентификатор группы (GID) для запуска процессов в контейнере

10001

loki.podSecurityContext.runAsNonRoot

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

true

loki.podSecurityContext.runAsUser

Идентификатор пользователя (UID) для запуска процессов в контейнере

10001

loki.podSecurityContext.seccompProfile.type

Тип профиля Seccomp для pod

RuntimeDefault

loki.containerSecurityContext.readOnlyRootFilesystem

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

true

loki.containerSecurityContext.capabilities.drop

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

- ALL

loki.containerSecurityContext.allowPrivilegeEscalation

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

false

loki.containerSecurityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

loki.enableServiceLinks

Автоматическое внедрение информации о сервисах в переменные окружения pod

true

loki.dnsConfig

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

{}

loki.configStorageType

Тип ресурса Kubernetes для хранения конфигурации.
Возможные значения: ConfigMap или Secret

ConfigMap

loki.configObjectName

Имя ресурса, содержащего основную конфигурацию Loki

{{ include "loki.name" . }}

loki.generatedConfigObjectName

Имя ресурса, содержащего сгенерированную конфигурацию Loki

{{ include "loki.name" . }}

loki.config

Основное содержимое конфигурационного файла Loki (loki.yaml)

auth_enabled: {{ .Values.loki.auth_enabled }}

{{- with .Values.loki.server }}
server:
  {{- toYaml . | nindent 2}}
{{- end}}

{{- with .Values.loki.pattern_ingester }}
pattern_ingester:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

memberlist:
{{- if .Values.loki.memberlistConfig }}
  {{- toYaml .Values.loki.memberlistConfig | nindent 2 }}
{{- else }}
{{- if .Values.loki.extraMemberlistConfig}}
{{- toYaml .Values.loki.extraMemberlistConfig | nindent 2}}
{{- end }}
  join_members:
    - {{ include "loki.memberlist" . }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}
    {{- with .Values.migrate.fromDistributed }}
    {{- if .enabled }}
    - {{ .memberlistService }}
    {{- end }}
    {{- end }}
{{- end }}

{{- with .Values.loki.ingester }}
ingester:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.ingester_client }}
ingester_client:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.block_builder }}
block_builder:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- if .Values.loki.commonConfig}}
common:
{{- toYaml .Values.loki.commonConfig | nindent 2}}
  storage:
  {{- include "loki.commonStorageConfig" . | nindent 4}}
{{- end}}

{{- with .Values.loki.limits_config }}
limits_config:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

runtime_config:
  file: /etc/loki/runtime-config/runtime-config.yaml

{{- if .Values.chunksCache.enabled }}
{{- with .Values.chunksCache }}
chunk_store_config:
  chunk_cache_config:
    default_validity: {{ .defaultValidity }}
    background:
      writeback_goroutines: {{ .writebackParallelism }}
      writeback_buffer: {{ .writebackBuffer }}
      writeback_size_limit: {{ .writebackSizeLimit }}
    memcached:
      batch_size: {{ .batchSize }}
      parallelism: {{ .parallelism }}
    memcached_client:
      addresses: {{ .addresses }}
      consistent_hash: true
      timeout: {{ .timeout }}
      max_idle_conns: 72
  {{- end }}
  {{- with .Values.chunksCache.l2 }}
  {{- if .enabled }}
  l2_chunk_cache_handoff: {{ .l2ChunkCacheHandoff }}
  chunk_cache_config_l2:
    default_validity: {{ .defaultValidity }}
    background:
      writeback_goroutines: {{ .writebackParallelism }}
      writeback_buffer: {{ .writebackBuffer }}
      writeback_size_limit: {{ .writebackSizeLimit }}
    memcached:
      batch_size: {{ .batchSize }}
      parallelism: {{ .parallelism }}
    memcached_client:
      addresses: {{ .addresses }}
      consistent_hash: true
      timeout: {{ .timeout }}
      max_idle_conns: 72
  {{- end }}
  {{- end }}
{{- end }}

{{- if .Values.loki.schemaConfig }}
schema_config:
{{- toYaml .Values.loki.schemaConfig | nindent 2}}
{{- end }}

{{- if .Values.loki.useTestSchema }}
schema_config:
{{- toYaml .Values.loki.testSchemaConfig | nindent 2}}
{{- end }}

{{- if .Values.ruler.enabled }}
{{ include "loki.rulerConfig" . }}
{{- end }}

{{- if and .Values.loki.storage.use_thanos_objstore .Values.ruler.enabled}}
ruler_storage:
  {{- include "loki.rulerThanosStorageConfig" . | nindent 2 }}
{{- end }}

{{- if or .Values.tableManager.retention_deletes_enabled .Values.tableManager.retention_period }}
table_manager:
  retention_deletes_enabled: {{ .Values.tableManager.retention_deletes_enabled }}
  retention_period: {{ .Values.tableManager.retention_period }}
{{- end }}

query_range:
  align_queries_with_step: true
  {{- with .Values.loki.query_range }}
  {{- tpl (. | toYaml) $ | nindent 2 }}
  {{- end }}
  {{- if .Values.resultsCache.enabled }}
  {{- with .Values.resultsCache }}
  cache_results: true
  results_cache:
    cache:
      default_validity: {{ .defaultValidity }}
      background:
        writeback_goroutines: {{ .writebackParallelism }}
        writeback_buffer: {{ .writebackBuffer }}
        writeback_size_limit: {{ .writebackSizeLimit }}
      memcached_client:
        addresses: {{ .addresses }}
        consistent_hash: true
        timeout: {{ .timeout }}
        update_interval: 1m
  {{- end }}
  {{- end }}

{{- with .Values.loki.storage_config }}
storage_config:
    {{- if not (hasKey $.Values.loki.storage_config "use_thanos_objstore") }}
    use_thanos_objstore: {{ $.Values.loki.storage.use_thanos_objstore }}
    {{- end }}
    {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.query_scheduler }}
query_scheduler:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.compactor }}
compactor:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.compactor_grpc_client }}
compactor_grpc_client:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.analytics }}
analytics:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- if .Values.loki.ui.enabled }}
ui:
  enabled: true
{{- end }}
{{- with .Values.loki.querier }}
querier:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.index_gateway }}
index_gateway:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.frontend }}
frontend:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.frontend_worker }}
frontend_worker:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.distributor }}
distributor:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

tracing:
  enabled: {{ .Values.loki.tracing.enabled }}

{{- with .Values.loki.bloom_build }}
bloom_build:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.bloom_gateway }}
bloom_gateway:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

{{- with .Values.loki.operational_config }}
operational_config:
  {{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}

loki.auth_enabled

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

false

loki.memberlistConfig

Полная конфигурация memberlist (переопределяет extraMemberlistConfig)

{}

loki.extraMemberlistConfig.abort_if_cluster_join_fails

Прерывание запуска, если не удалось присоединиться к кластеру memberlist

true

loki.extraMemberlistConfig.advertise_port

Порт, объявляемый другим узлам для подключения memberlist

7946

loki.extraMemberlistConfig.bind_port

Локальный порт для прослушивания подключений memberlist

7946

loki.extraMemberlistConfig.max_join_backoff

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

1m

loki.extraMemberlistConfig.max_join_retries

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

10

loki.extraMemberlistConfig.min_join_backoff

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

1s

loki.extraMemberlistConfig.rejoin_interval

Интервал повторных попыток присоединения к кластеру

90s

loki.tenants

Список тенантов для генерации файла аутентификации htpasswd (поля name и password)

[]

loki.server.graceful_shutdown_timeout

Тайм-аут корректного завершения работы сервера

5s

loki.server.grpc_listen_port

Порт для прослушивания gRPC-запросов

9095

loki.server.grpc_server_min_time_between_pings

Минимальное время между ping-запросами gRPC-клиента

10s

loki.server.grpc_server_ping_without_stream_allowed

Разрешение отправки ping-запросов без активного стрима gRPC

true

loki.server.grpc_server_max_concurrent_streams

Максимальное количество одновременных gRPC-стримов на одно соединение

1000

loki.server.grpc_server_max_recv_msg_size

Максимальный размер принимаемого gRPC-сообщения (в байтах)

104857600

loki.server.grpc_server_max_send_msg_size

Максимальный размер отправляемого gRPC-сообщения (в байтах)

104857600

loki.server.http_listen_port

Порт для прослушивания HTTP-запросов

3100

loki.server.http_server_idle_timeout

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

30s

loki.server.http_server_read_timeout

Тайм-аут чтения HTTP-запроса

10m0s

loki.server.http_server_write_timeout

Тайм-аут записи HTTP-ответа

10m0s

loki.server.log_level

Уровень логирования сервера

info

loki.service.trafficDistribution

Политика распределения трафика Service

""

loki.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

loki.service.ipFamilies

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

[]

loki.limits_config.ingestion_rate_mb

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

32

loki.limits_config.ingestion_burst_size_mb

Максимальный размер всплеска (burst) при приеме данных на один тенант

64

loki.limits_config.max_streams_per_user

Максимальное количество активных потоков (streams) на одного пользователя

0

loki.limits_config.max_global_streams_per_user

Максимальное общее количество активных потоков на одного пользователя в кластере

0

loki.limits_config.reject_old_samples

Отклонение образцов (samples) с устаревшими метками времени

true

loki.limits_config.reject_old_samples_max_age

Максимальный возраст образцов, которые будут отклонены как устаревшие

168h

loki.limits_config.max_cache_freshness_per_query

Максимальная «свежесть» данных в кеше для одного запроса

10m

loki.limits_config.split_queries_by_interval

Интервал, на который разбиваются длительные запросы для параллельного выполнения

15m

loki.limits_config.query_timeout

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

300s

loki.limits_config.volume_enabled

Включение поддержки API томов (Volume)

true

loki.runtimeConfig

Динамическая конфигурация, загружаемая во время выполнения

{}

loki.commonConfig.path_prefix

Базовый префикс пути для всех локальных файловых хранилищ

/var/loki

loki.commonConfig.replication_factor

Коэффициент репликации данных в распределенном режиме

1

loki.commonConfig.compactor_grpc_address

gRPC-адрес Compactor

{{ include "loki.compactorAddress" . }}

loki.storage.bucketNames.chunks

Имя бакета для хранения чанков (chunks)

chunks

loki.storage.bucketNames.ruler

Имя бакета для хранения правил Ruler

ruler

loki.storage.bucketNames.admin

Имя бакета для хранения административных данных

admin

loki.storage.type

Тип хранилища.
Возможные значения: filesystem, s3, gcs, azure

filesystem

loki.storage.s3.s3

Устаревший параметр конфигурации S3 (рекомендуется использовать object_store)

~

loki.storage.s3.endpoint

Эндпоинт S3-совместимого хранилища

~

loki.storage.s3.region

Регион S3-хранилища

~

loki.storage.s3.secretAccessKey

Секретный ключ доступа для S3

~

loki.storage.s3.accessKeyId

Идентификатор ключа доступа для S3

~

loki.storage.s3.signatureVersion

Версия подписи запросов к S3

~

loki.storage.s3.s3ForcePathStyle

Принудительное использование path-style адресации для S3

false

loki.storage.s3.insecure

Отключение проверки SSL-сертификата для S3-соединения

false

loki.storage.s3.http_config

Конфигурация HTTP-клиента для S3

{}

loki.storage.s3.backoff_config

Конфигурация повторных попыток при ошибках S3

{}

loki.storage.s3.disable_dualstack

Отключение поддержки IPv4/IPv6 для S3

false

loki.storage.gcs.chunkBufferSize

Размер буфера для чанков при загрузке в Google Cloud Storage (в байтах)

0

loki.storage.gcs.requestTimeout

Тайм-аут запросов к Google Cloud Storage

0s

loki.storage.gcs.enableHttp2

Включение поддержки HTTP/2 для Google Cloud Storage

true

loki.storage.azure.accountName

Имя учетной записи Azure Storage

~

loki.storage.azure.accountKey

Ключ доступа к учетной записи Azure Storage

~

loki.storage.azure.connectionString

Строка подключения к Azure Storage

~

loki.storage.azure.useManagedIdentity

Использование управляемого удостоверения (Managed Identity) для аутентификации в Azure

false

loki.storage.azure.useFederatedToken

Использование федеративного токена для аутентификации в Azure

false

loki.storage.azure.userAssignedId

Идентификатор назначенного пользователем управляемого удостоверения в Azure

~

loki.storage.azure.requestTimeout

Тайм-аут запросов к Azure Storage

~

loki.storage.azure.endpointSuffix

Суффикс конечной точки для Azure Storage

~

loki.storage.azure.chunkDelimiter

Разделитель для имен чанков в Azure Storage

~

loki.storage.swift.auth_version

Версия аутентификации для OpenStack Swift

~

loki.storage.swift.auth_url

URL-адрес службы аутентификации OpenStack Swift

~

loki.storage.swift.internal

Использование внутренней сети для OpenStack Swift

~

loki.storage.swift.username

Имя пользователя для OpenStack Swift

~

loki.storage.swift.user_domain_name

Имя домена пользователя для OpenStack Swift

~

loki.storage.swift.user_domain_id

Идентификатор домена пользователя для OpenStack Swift

~

loki.storage.swift.user_id

Идентификатор пользователя для OpenStack Swift

~

loki.storage.swift.password

Пароль для OpenStack Swift

~

loki.storage.swift.domain_id

Идентификатор домена для OpenStack Swift

~

loki.storage.swift.domain_name

Имя домена для OpenStack Swift

~

loki.storage.swift.project_id

Идентификатор проекта для OpenStack Swift

~

loki.storage.swift.project_name

Имя проекта для OpenStack Swift

~

loki.storage.swift.project_domain_id

Идентификатор домена проекта для OpenStack Swift

~

loki.storage.swift.project_domain_name

Имя домена проекта для OpenStack Swift

~

loki.storage.swift.region_name

Имя региона для OpenStack Swift

~

loki.storage.swift.container_name

Имя контейнера для OpenStack Swift

~

loki.storage.swift.max_retries

Максимальное количество повторных попыток для OpenStack Swift

~

loki.storage.swift.connect_timeout

Тайм-аут подключения для OpenStack Swift

~

loki.storage.swift.request_timeout

Тайм-аут запроса для OpenStack Swift

~

loki.storage.filesystem.chunks_directory

Локальный каталог для хранения чанков

/var/loki/chunks

loki.storage.filesystem.rules_directory

Локальный каталог для хранения правил

/var/loki/rules

loki.storage.use_thanos_objstore

Использование конфигурации хранилища объектов Thanos

false

loki.storage.object_store.type

Тип хранилища объектов.
Возможные значения: s3, gcs, azure

s3

loki.storage.object_store.storage_prefix

Префикс пути внутри хранилища объектов

~

loki.storage.object_store.s3.endpoint

Эндпоинт S3-совместимого хранилища объектов

~

loki.storage.object_store.s3.region

Регион S3-хранилища объектов

~

loki.storage.object_store.s3.access_key_id

Идентификатор ключа доступа для S3

~

loki.storage.object_store.s3.secret_access_key

Секретный ключ доступа для S3

~

loki.storage.object_store.s3.insecure

Отключение проверки SSL-сертификата для S3-соединения

false

loki.storage.object_store.s3.sse

Конфигурация шифрования на стороне сервера (SSE) для S3

{}

loki.storage.object_store.s3.http

Конфигурация HTTP-клиента для S3

{}

loki.storage.object_store.gcs.bucket_name

Имя бакета в Google Cloud Storage

~

loki.storage.object_store.gcs.service_account

Конфигурация учетной записи службы (ServiceAccount) для GCS

~

loki.storage.object_store.azure.account_name

Имя учетной записи Azure Storage

~

loki.storage.object_store.azure.account_key

Ключ доступа к учетной записи Azure Storage

~

loki.schemaConfig

Конфигурация схем хранения данных (индексов и объектов)

configs:
  - from: "2024-01-01"
    store: tsdb
    object_store: filesystem
    schema: v13
    index:
      prefix: index_
      period: 24h

loki.useTestSchema

Использование тестовой схемы хранения (только для отладки)

false

loki.testSchemaConfig

Конфигурация тестовой схемы хранения

configs:
  - from: 2024-04-01
    store: tsdb
    object_store: '{{ include "loki.testSchemaObjectStore" . }}'
    schema: v13
    index:
      prefix: index_
      period: 24h

loki.rulerConfig

Конфигурация Ruler (управление правилами оповещений и записи)

storage:
  type: local
  local:
    directory: /var/loki/rules/fake
wal:
  dir: /var/loki/ruler-wal
rule_path: /tmp/loki/rules-temp
alertmanager_url: 'http://alertmanager.dapp-alerting.svc:9093'
enable_alertmanager_v2: true
ring:
  kvstore:
    store: inmemory
enable_api: true
remote_write:
  enabled: false
  client:
    url: http://vminsert-victoria-metrics-k8s-stack.dapp-monitoring.svc:8480/insert/0/prometheus/api/v1/write

loki.structuredConfig

Дополнительная структурированная конфигурация, объединяемая с основной

{}

loki.query_scheduler.max_outstanding_requests_per_tenant

Максимальное количество ожидающих выполнения запросов на одного тенанта в планировщике

10000

loki.storage_config

Конфигурация хранилища (устаревший формат, рекомендуется использовать storage)

boltdb_shipper:
  index_gateway_client:
    server_address: '{{ include "loki.indexGatewayAddress" . }}'
tsdb_shipper:
  index_gateway_client:
    server_address: '{{ include "loki.indexGatewayAddress" . }}'
bloom_shipper:
  working_directory: /var/loki/data/bloomshipper
hedging:
  at: "250ms"
  max_per_second: 20
  up_to: 3
filesystem:
  directory: /var/loki/chunks

loki.compactor.working_directory

Локальный рабочий каталог для Compactor

/var/loki/boltdb-shipper-compactor

loki.compactor.retention_enabled

Включение механизма хранения данных с учетом срока жизни (retention)

true

loki.compactor.delete_request_store

Тип хранилища для обработки запросов на удаление данных

filesystem

loki.compactor_grpc_client

Конфигурация gRPC-клиента для взаимодействия с компонентом Compactor

{}

loki.pattern_ingester.enabled

Включение механизма pattern_ingester

false

loki.analytics

Конфигурация сбора анонимной аналитики использования

{}

loki.ui.enabled

Включение встроенного веб-интерфейса (Loki UI)

false

loki.ui.gateway.enabled

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

true

loki.query_range

Конфигурация обработки и кеширования запросов за диапазон времени

{}

loki.querier

Конфигурация Querier (выполнение запросов)

{}

loki.ingester.chunk_block_size

Размер блока данных в чанке (в байтах) перед его сжатием

262144

loki.ingester.chunk_idle_period

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

15m

loki.ingester.chunk_retain_period

Время хранения чанка в памяти после выгрузки в хранилище (для обработки задержанных данных)

5m

loki.ingester.wal.dir

Локальный каталог для хранения журнала упреждающей записи (WAL)

/var/loki/wal

loki.ingester.wal.flush_on_shutdown

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

true

loki.ingester_client

Конфигурация gRPC-клиента для взаимодействия с Ingester

{}

loki.block_builder

Конфигурация Block Builder (построение TSDB-блоков)

{}

loki.index_gateway.mode

Режим работы Index Gateway.
Возможные значения: simple или ring

simple

loki.frontend.scheduler_address

Адрес планировщика запросов (Query Scheduler)

{{ include "loki.querySchedulerAddress" . }}

loki.frontend.tail_proxy_url

URL-адрес для проксирования tail-запросов к компоненту Querier

{{ include "loki.querierAddress" . }}

loki.frontend_worker.scheduler_address

Адрес планировщика запросов (Query Scheduler)

{{ include "loki.querySchedulerAddress" . }}

loki.distributor

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

{}

loki.tracing.enabled

Включение трассировки (tracing) внутренних запросов Loki

false

loki.bloom_build.enabled

Включение механизма построения фильтров Bloom для ускорения запросов

false

loki.bloom_build.builder.planner_address

Адрес планировщика

{{ include "loki.bloomPlannerAddress" . }}

loki.bloom_gateway.enabled

Включение шлюза для обслуживания запросов с использованием фильтров Bloom

false

loki.bloom_gateway.client.addresses

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

{{ include "loki.bloomGatewayAddresses" . }}

loki.operational_config

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

{}

test – параметры опционального Helm-теста#

Параметр

Описание

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

test.enabled

Включение выполнения опционального теста Helm (helm test)

false

test.canaryServiceAddress

Адрес сервиса pod canary для сбора метрик

http://{{ include "loki-canary.fullname" $ }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}:3500/metrics

test.prometheusAddress

URL-адрес сервера Prometheus для выполнения тестовых запросов

""

test.timeout

Тайм-аут выполнения теста

1m

test.labels

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

{}

test.annotations

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

{}

test.image.registry

Адрес реестра контейнерных образов

docker.io

test.image.repository

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

grafana/loki-helm-test

test.image.tag

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

latest

test.image.digest

Дайджест (контрольная сумма) контейнерного образа

~

test.image.pullPolicy

Политика получения контейнерного образа

IfNotPresent

test.hostUsers

Использование пространства имен пользователей узла (hostUsers) для pod

~

lokiCanary – настройки приложения loki-canary#

Параметр

Описание

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

lokiCanary.enabled

Включение развертывания loki-canary

false

lokiCanary.kind

Тип ресурса Kubernetes.
Возможные значения: DaemonSet или Deployment

DaemonSet

lokiCanary.push

Включение отправки тестовых логов в Loki

true

lokiCanary.lokiurl

URL-адрес конечной точки Loki для отправки логов

~

lokiCanary.labelname

Имя метки, используемой для идентификации подов canary

pod

lokiCanary.annotations

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

{}

lokiCanary.labels

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

{}

lokiCanary.podAnnotations

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

{}

lokiCanary.podLabels

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

{}

lokiCanary.revisionHistoryLimit

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

10

lokiCanary.service.annotations

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

{}

lokiCanary.service.labels

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

{}

lokiCanary.extraArgs

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

[]

lokiCanary.extraEnv

Дополнительные переменные окружения

[]

lokiCanary.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

lokiCanary.extraVolumeMounts

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

[]

lokiCanary.extraVolumes

Дополнительные тома (Volume) для pod

[]

lokiCanary.resources

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

{}

lokiCanary.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

lokiCanary.dnsConfig

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

{}

lokiCanary.nodeSelector

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

{}

lokiCanary.tolerations

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

[]

lokiCanary.affinity

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

{}

lokiCanary.automountServiceAccountToken

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

false

lokiCanary.priorityClassName

Имя PriorityClass для pod

~

lokiCanary.hostUsers

Использование пространства имен пользователей узла (hostUsers) для pod

~

lokiCanary.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

lokiCanary.podDisruptionBudget.annotations

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

{}

lokiCanary.podDisruptionBudget.labels

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

{}

lokiCanary.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

lokiCanary.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

lokiCanary.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

lokiCanary.podSecurityContext.fsGroup

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

10001

lokiCanary.podSecurityContext.fsGroupChangePolicy

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

OnRootMismatch

lokiCanary.podSecurityContext.runAsGroup

Идентификатор группы (GID) для запуска процессов в контейнере

10001

lokiCanary.podSecurityContext.runAsNonRoot

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

true

lokiCanary.podSecurityContext.runAsUser

Идентификатор пользователя (UID) для запуска процессов в контейнере

10001

lokiCanary.podSecurityContext.seccompProfile.type

Тип профиля Seccomp для pod

RuntimeDefault

lokiCanary.containerSecurityContext.readOnlyRootFilesystem

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

true

lokiCanary.containerSecurityContext.capabilities.drop

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

- ALL

lokiCanary.containerSecurityContext.allowPrivilegeEscalation

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

false

lokiCanary.containerSecurityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

lokiCanary.image.registry

Адрес реестра контейнерных образов

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

lokiCanary.image.repository

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

{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-loki/loki-canary

lokiCanary.image.tag

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

3.7.3

lokiCanary.image.digest

Дайджест (контрольная сумма) контейнерного образа

~

lokiCanary.image.pullPolicy

Политика получения контейнерного образа

IfNotPresent

lokiCanary.livenessProbe.httpGet.path

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

/metrics

lokiCanary.livenessProbe.httpGet.port

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

http-metrics

lokiCanary.livenessProbe.initialDelaySeconds

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

15

lokiCanary.livenessProbe.timeoutSeconds

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

1

lokiCanary.readinessProbe.httpGet.path

HTTP-путь, используемый при проверке готовности

/metrics

lokiCanary.readinessProbe.httpGet.port

Имя порта, используемого при проверке готовности

http-metrics

lokiCanary.readinessProbe.initialDelaySeconds

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

15

lokiCanary.readinessProbe.timeoutSeconds

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

1

lokiCanary.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

lokiCanary.updateStrategy.type

Тип стратегии обновления ресурса

RollingUpdate

lokiCanary.updateStrategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных pod при обновлении

1

lokiCanary.replicas

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

1

lokiCanary.tenant.name

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

self-monitoring

lokiCanary.tenant.password

Пароль для аутентификации тенанта

~

lokiCanary.serviceAccount.create

Создание ServiceAccount

true

lokiCanary.serviceAccount.name

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

~

lokiCanary.serviceAccount.imagePullSecrets

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

[]

lokiCanary.serviceAccount.annotations

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

{}

lokiCanary.serviceAccount.labels

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

{}

lokiCanary.serviceAccount.automountServiceAccountToken

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

false

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

Параметр

Описание

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

serviceAccount.create

Создание ServiceAccount

true

serviceAccount.name

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

~

serviceAccount.imagePullSecrets

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

[]

serviceAccount.annotations

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

{}

serviceAccount.labels

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

{}

serviceAccount.automountServiceAccountToken

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

true

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

Параметр

Описание

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

rbac.sccEnabled

Включение создания ресурса SecurityContextConstraints для OpenShift

false

rbac.sccAllowHostDirVolumePlugin

Разрешение использования плагина томов hostDir в SecurityContextConstraints

false

rbac.namespaced

Ограничение области действия правил RBAC текущим пространством имен вместо кластера (ClusterRole)

false

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

Параметр

Описание

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

networkPolicy.enabled

Включение создания ресурсов NetworkPolicy

false

networkPolicy.metrics.podSelector

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

{}

networkPolicy.metrics.namespaceSelector

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

{}

networkPolicy.metrics.cidrs

Список CIDR-диапазонов, которым разрешен доступ к порту метрик

[]

networkPolicy.ingress.podSelector

Селектор pod для разрешения входящего трафика

{}

networkPolicy.ingress.namespaceSelector

Селектор пространства имен для разрешения входящего трафика

{}

networkPolicy.alertmanager.port

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

9093

networkPolicy.alertmanager.podSelector

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

{}

networkPolicy.alertmanager.namespaceSelector

Селектор пространства имен для разрешения доступа к Alertmanager

{}

networkPolicy.externalStorage.ports

Список портов внешних хранилищ (например, S3), к которым требуется доступ

[]

networkPolicy.externalStorage.cidrs

Список CIDR-диапазонов внешних хранилищ, к которым разрешен доступ

[]

networkPolicy.discovery.port

Порт для discovery-запросов (memberlist)

~

networkPolicy.discovery.podSelector

Селектор pod для разрешения discovery-запросов

{}

networkPolicy.discovery.namespaceSelector

Селектор Namespace для разрешения discovery-запросов

{}

memberlist – настройки службы memberlist#

Параметр

Описание

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

memberlist.service.publishNotReadyAddresses

Публикация адресов pod в сервисе memberlist до их перехода в статус Ready

false

memberlist.service.annotations

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

{}

gateway – настройки gateway для маршрутизации трафика к Loki#

Параметр

Описание

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

gateway.enabled

Включение gateway для маршрутизации трафика

false

gateway.replicas

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

1

gateway.containerPort

Порт контейнера для приема входящего трафика

8080

gateway.verboseLogging

Включение подробного логирования HTTP-запросов (включая коды состояния 2xx и 3xx)

true

gateway.autoscaling.enabled

Включение автоматического горизонтального масштабирования (HPA) для gateway

false

gateway.autoscaling.minReplicas

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

1

gateway.autoscaling.maxReplicas

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

3

gateway.autoscaling.targetCPUUtilizationPercentage

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

60

gateway.autoscaling.targetMemoryUtilizationPercentage

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

~

gateway.autoscaling.behavior

Настройки поведения автомасштабирования (политики масштабирования вверх и вниз).
Пример конфигурации:

scaleUp:
  stabilizationWindowSeconds: 300
  policies:
    - type: Pods
      value: 1
      periodSeconds: 60
scaleDown:
  stabilizationWindowSeconds: 300
  policies:
    - type: Pods
      value: 1
      periodSeconds: 180

{}

gateway.kedaAutoscaling.enabled

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

false

gateway.kedaAutoscaling.pollingInterval

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

~

gateway.kedaAutoscaling.minReplicas

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

1

gateway.kedaAutoscaling.maxReplicas

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

3

gateway.kedaAutoscaling.cooldownPeriod

Период охлаждения после последнего события масштабирования (в секундах)

~

gateway.kedaAutoscaling.behavior

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

{}

gateway.kedaAutoscaling.fallback

Резервная конфигурация (fallback) для KEDA при недоступности метрик

{}

gateway.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

gateway.deploymentStrategy.type

Стратегия обновления ресурса Deployment

RollingUpdate

gateway.image.registry

Адрес реестра контейнерных образов

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

gateway.image.repository

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

{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-nginx/nginx

gateway.image.tag

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

1.31.3

gateway.image.digest

Дайджест (контрольная сумма) контейнерного образа

~

gateway.image.pullPolicy

Политика получения контейнерного образа

IfNotPresent

gateway.priorityClassName

Имя PriorityClass для pod

~

gateway.annotations

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

{}

gateway.podAnnotations

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

{}

gateway.podLabels

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

{}

gateway.extraArgs

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

[]

gateway.extraEnv

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

[]

gateway.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

gateway.lifecycle

Параметры lifecycle для контейнера

{}

gateway.extraVolumes

Дополнительные тома (Volume) для pod

[]

gateway.extraVolumeMounts

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

[]

gateway.podSecurityContext.fsGroup

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

101

gateway.podSecurityContext.runAsGroup

Идентификатор группы (GID) для запуска процессов в контейнере

101

gateway.podSecurityContext.runAsNonRoot

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

true

gateway.podSecurityContext.runAsUser

Идентификатор пользователя (UID) для запуска процессов в контейнере

101

gateway.podSecurityContext.seccompProfile.type

Тип профиля Seccomp для pod

RuntimeDefault

gateway.containerSecurityContext.readOnlyRootFilesystem

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

true

gateway.containerSecurityContext.capabilities.drop

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

- ALL

gateway.containerSecurityContext.capabilities.add

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

- NET_BIND_SERVICE

gateway.containerSecurityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

gateway.containerSecurityContext.allowPrivilegeEscalation

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

false

gateway.hostUsers

Использование пространства имен пользователей узла (hostUsers) для pod

~

gateway.resources

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

{}

gateway.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

gateway.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

gateway.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

gateway.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

gateway.podDisruptionBudget.annotations

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

{}

gateway.podDisruptionBudget.labels

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

{}

gateway.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

gateway.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

gateway.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

gateway.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: gateway
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

gateway.dnsConfig

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

{}

gateway.nodeSelector

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

{}

gateway.automountServiceAccountToken

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

false

gateway.topologySpreadConstraints

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

[]

gateway.tolerations

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

[]

gateway.service.port

Порт ресурса Service

80

gateway.service.type

Тип Service

ClusterIP

gateway.service.clusterIP

Статический ClusterIP для ресурса Service

~

gateway.service.nodePort

Порт NodePort для HTTP-трафика (выделяется автоматически, если не указан)

~

gateway.service.loadBalancerIP

Статический IP-адрес для ресурса Service типа LoadBalancer

~

gateway.service.annotations

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

{}

gateway.service.labels

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

{}

gateway.service.trafficDistribution

Политика распределения трафика Service

""

gateway.service.sessionAffinity

Параметры сохранения сессии для Service

""

gateway.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

gateway.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

gateway.service.ipFamilies

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

[]

gateway.serviceAccount.create

Создание ServiceAccount

true

gateway.serviceAccount.name

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

~

gateway.serviceAccount.imagePullSecrets

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

[]

gateway.serviceAccount.annotations

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

{}

gateway.serviceAccount.labels

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

{}

gateway.serviceAccount.automountServiceAccountToken

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

false

gateway.ingress.enabled

Включение Ingress для компонента сервера

false

gateway.ingress.ingressClassName

Имя класса контроллера Ingress

nginx

gateway.ingress.annotations

Аннотации Ingress

{}

gateway.ingress.labels

Дополнительные метки Ingress

{}

gateway.ingress.hosts

Массив хостов Ingress

- host: 'gateway-loki.{{ include "ingress.domain" . }}'
  paths:
    - path: /

gateway.ingress.tls

Массив объектов TLS для Ingress

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

gateway.basicAuth.enabled

Включение базовой аутентификации для gateway

false

gateway.basicAuth.username

Имя пользователя для базовой аутентификации

~

gateway.basicAuth.password

Пароль для базовой аутентификации

~

gateway.basicAuth.htpasswd

Содержимое файла htpasswd для базовой аутентификации (генерируется автоматически на основе loki.tenants или указанных учетных данных)

{{- with $tenants := .Values.loki.tenants }}
  {{- range $t := $tenants }}
    {{- $username := required "All tenants must have a 'name' set" $t.name }}
    {{- if $passwordHash := $t.passwordHash }}
      {{- printf "%s:%s\n" $username $passwordHash }}
    {{- else if $password := $t.password }}
      {{- printf "%s\n" (htpasswd $username $password) }}
    {{- else }}
      {{- fail "All tenants must have a 'password' or 'passwordHash' set" }}
    {{- end }}
  {{- end }}
{{- else }}
  {{- printf "%s\n" (htpasswd (required "'gateway.basicAuth.username' is required" .Values.gateway.basicAuth.username) (required "'gateway.basicAuth.password' is required" .Values.gateway.basicAuth.password)) }}
{{- end }}

gateway.basicAuth.existingSecret

Имя существующего Secret, содержащего данные для базовой аутентификации (должен содержать ключ .htpasswd)

~

gateway.route.main.enabled

Включение создания основного маршрута (например, HTTPRoute)

false

gateway.route.main.apiVersion

Версия API для ресурса маршрута

""

gateway.route.main.kind

Тип ресурса маршрута (например, HTTPRoute)

HTTPRoute

gateway.route.main.annotations

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

{}

gateway.route.main.labels

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

{}

gateway.route.main.hostnames

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

[]

gateway.route.main.parentRefs

Ссылки на родительские ресурсы (например, Gateway) для маршрута

[]

gateway.route.main.additionalRules

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

[]

gateway.route.main.matches

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

- path:
    type: PathPrefix
    value: /

gateway.route.main.filters

Фильтры, применяемые к маршруту

[]

gateway.route.main.timeouts

Настройки тайм-аутов для маршрута

{}

gateway.livenessProbe

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

{}

gateway.readinessProbe.httpGet.path

HTTP-путь, используемый при проверке готовности

/

gateway.readinessProbe.httpGet.port

Имя порта, используемого при проверке готовности

http

gateway.readinessProbe.initialDelaySeconds

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

15

gateway.readinessProbe.timeoutSeconds

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

1

gateway.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

gateway.nginxConfig.schema

Схема конфигурации Nginx

http

gateway.nginxConfig.enableIPv6

Включение прослушивания IPv6-адресов

true

gateway.nginxConfig.logFormat

Формат логов Nginx

main '$remote_addr - $remote_user [$time_local]  $status '
        '"$request" $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "$http_x_forwarded_for"';

gateway.nginxConfig.serverSnippet

Пользовательская конфигурация, добавляемая в блок server Nginx

""

gateway.nginxConfig.httpSnippet

Пользовательская конфигурация, добавляемая в блок http Nginx (поддерживает шаблонизацию)

""

gateway.nginxConfig.locationSnippet

Пользовательская конфигурация, добавляемая в блок location Nginx

{{ if .Values.loki.tenants }}proxy_set_header X-Scope-OrgID $remote_user;{{ end }}

gateway.nginxConfig.clientMaxBodySize

Максимальный размер тела HTTP-запроса, принимаемого Nginx

4M

gateway.nginxConfig.ssl

Включение поддержки SSL/TLS в Nginx

false

gateway.nginxConfig.customReadUrl

Переопределение URL-адреса для маршрутизации read-трафика (запросы)

~

gateway.nginxConfig.customWriteUrl

Переопределение URL-адреса для маршрутизации write-трафика (запись)

~

gateway.nginxConfig.customBackendUrl

Переопределение URL-адреса для маршрутизации backend-трафика

~

gateway.nginxConfig.resolver

Переопределение адреса DNS-резолвера в конфигурации Nginx

""

gateway.nginxConfig.file

Содержимое основного конфигурационного файла Nginx (поддерживает шаблонизацию)

{{- include "loki.nginxFile" . -}}

gateway.metrics.enabled

Активация экспорта метрик

false

gateway.metrics.image.registry

Адрес реестра контейнерных образов

ghcr.io

gateway.metrics.image.repository

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

jkroepke/access-log-exporter

gateway.metrics.image.tag

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

0.4.6

gateway.metrics.image.pullPolicy

Политика получения контейнерного образа

IfNotPresent

gateway.metrics.resources.limits

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

{}

gateway.metrics.resources.requests

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

{}

gateway.metrics.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

gateway.metrics.containerSecurityContext.allowPrivilegeEscalation

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

false

gateway.metrics.containerSecurityContext.readOnlyRootFilesystem

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

true

gateway.metrics.containerSecurityContext.capabilities.drop

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

- ALL

gateway.metrics.containerSecurityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

gateway.metrics.containerSecurityContext.privileged

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

false

gateway.metrics.containerSecurityContext.runAsNonRoot

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

true

gateway.metrics.containerSecurityContext.runAsUser

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

65532

gateway.metrics.containerSecurityContext.runAsGroup

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

65532

gateway.metrics.extraArgs

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

[]

gateway.metrics.livenessProbe.httpGet.path

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

/health

gateway.metrics.livenessProbe.httpGet.port

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

http-metrics

gateway.metrics.livenessProbe.initialDelaySeconds

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

30

gateway.metrics.livenessProbe.periodSeconds

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

10

gateway.metrics.livenessProbe.timeoutSeconds

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

5

gateway.metrics.livenessProbe.failureThreshold

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

3

gateway.metrics.readinessProbe.httpGet.path

HTTP-путь, используемый при проверке готовности

/health

gateway.metrics.readinessProbe.httpGet.port

Имя порта, используемого при проверке готовности

http-metrics

gateway.metrics.readinessProbe.initialDelaySeconds

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

5

gateway.metrics.readinessProbe.periodSeconds

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

5

gateway.metrics.readinessProbe.timeoutSeconds

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

3

gateway.metrics.readinessProbe.failureThreshold

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

3

gateway.metrics.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

gateway.metrics.service.annotations

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

{}

gateway.metrics.service.labels

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

{}

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

Параметр

Описание

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

ingress.enabled

Включение Ingress для компонента сервера

false

ingress.ingressClassName

Имя класса контроллера Ingress

nginx

ingress.annotations

Аннотации Ingress

{}

ingress.labels

Дополнительные метки Ingress

{}

ingress.distributor

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

- /api/prom/push
- /loki/api/v1/push
- /otlp/v1/logs

ingress.queryFrontend

Список путей для маршрутизации трафика запросов к QueryFrontend

- /api/prom/query
- /api/prom/label
- /api/prom/series
- /api/prom/tail
- /loki/api/v1/query
- /loki/api/v1/query_range
- /loki/api/v1/tail
- /loki/api/v1/label
- /loki/api/v1/labels
- /loki/api/v1/series
- /loki/api/v1/index/stats
- /loki/api/v1/index/volume
- /loki/api/v1/index/volume_range
- /loki/api/v1/format_query
- /loki/api/v1/detected_field
- /loki/api/v1/detected_fields
- /loki/api/v1/detected_labels
- /loki/api/v1/patterns
- /ui

ingress.ruler

Список путей для маршрутизации трафика управления правилами и оповещениями к Ruler

- /api/prom/rules
- /api/prom/api/v1/rules
- /api/prom/api/v1/alerts
- /loki/api/v1/rules
- /prometheus/api/v1/rules
- /prometheus/api/v1/alerts

ingress.compactor

Список путей для маршрутизации трафика управления удалением данных к Compactor

- /loki/api/v1/delete

ingress.hosts

Массив хостов Ingress

- loki.{{ include "ingress.domain" . }}

ingress.tls

Массив объектов TLS для Ingress

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

route – параметры маршрута Gateway API#

Параметр

Описание

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

route.main.enabled

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

false

route.main.apiVersion

Версия API для ресурса маршрута

""

route.main.kind

Тип ресурса маршрута

HTTPRoute

route.main.annotations

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

{}

route.main.labels

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

{}

route.main.hostnames

Список имен хостов, для которых применяется данное правило маршрутизации

[]

route.main.parentRefs

Ссылки на родительские ресурсы (например, Gateway), к которым привязывается данный маршрут

[]

route.main.additionalRules

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

[]

route.main.backendPort

Порт конечной точки (backend), на который перенаправляется трафик

~

route.main.paths.distributor

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

- /api/prom/push
- /loki/api/v1/push
- /otlp/v1/logs

route.main.paths.queryFrontend

Список путей для маршрутизации трафика запросов к QueryFrontend

- /api/prom/query
- /api/prom/label
- /api/prom/series
- /api/prom/tail
- /loki/api/v1/query
- /loki/api/v1/query_range
- /loki/api/v1/tail
- /loki/api/v1/label
- /loki/api/v1/labels
- /loki/api/v1/series
- /loki/api/v1/index/stats
- /loki/api/v1/index/volume
- /loki/api/v1/index/volume_range
- /loki/api/v1/format_query
- /loki/api/v1/detected_field
- /loki/api/v1/detected_fields
- /loki/api/v1/detected_labels
- /loki/api/v1/patterns
- /ui

route.main.paths.ruler

Список путей для маршрутизации трафика управления правилами и оповещениями к Ruler

- /api/prom/rules
- /api/prom/api/v1/rules
- /api/prom/api/v1/alerts
- /loki/api/v1/rules
- /prometheus/api/v1/rules
- /prometheus/api/v1/alerts

route.main.paths.compactor

Список путей для маршрутизации трафика управления удалением данных к Compactor

- /loki/api/v1/delete

migrate – параметры миграции с другого Helm-чарта#

Параметр

Описание

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

migrate.fromDistributed.enabled

Включение режим миграции с распределенного Helm-чарта (например, loki-distributed или enterprise-logs)

false

migrate.fromDistributed.memberlistService

DNS-адрес службы memberlist существующего распределенного развертывания для подключения нового кластера

""

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

Параметр

Описание

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

podDisruptionBudget.enabled

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

true

singleBinary – настройки развертывания Loki в режиме single binary#

Параметр

Описание

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

singleBinary.enabled

Включение развертывания singleBinary

true

singleBinary.kind

Тип ресурса Kubernetes для развертывания.
Возможные значения: StatefulSet или Deployment

StatefulSet

singleBinary.replicas

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

1

singleBinary.statefulSetRecreateJob.enabled

Включение Job для пересоздания StatefulSet при обновлении PersistentVolumeClaim

false

singleBinary.strategy.rollingUpdate.partition

Порядковый номер pod, с которого начинается обновление

0

singleBinary.sidecar

Включение sidecar-контейнера для синхронизации конфигурации

true

singleBinary.autoscaling.enabled

Включение автоматического горизонтального масштабирования (HPA) для singleBinary

false

singleBinary.autoscaling.minReplicas

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

1

singleBinary.autoscaling.maxReplicas

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

3

singleBinary.autoscaling.targetCPUUtilizationPercentage

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

60

singleBinary.autoscaling.targetMemoryUtilizationPercentage

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

~

singleBinary.autoscaling.customMetrics

Пользовательские метрики для автомасштабирования

[]

singleBinary.autoscaling.behavior.enabled

Включение настраиваемых политик масштабирования

false

singleBinary.autoscaling.behavior.scaleDown

Политика масштабирования вниз

{}

singleBinary.autoscaling.behavior.scaleUp

Политика масштабирования вверх

{}

singleBinary.kedaAutoscaling.enabled

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

false

singleBinary.kedaAutoscaling.pollingInterval

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

~

singleBinary.kedaAutoscaling.minReplicas

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

1

singleBinary.kedaAutoscaling.maxReplicas

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

3

singleBinary.kedaAutoscaling.cooldownPeriod

Период охлаждения после последнего события масштабирования (в секундах)

~

singleBinary.kedaAutoscaling.behavior

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

{}

singleBinary.kedaAutoscaling.fallback

Резервная конфигурация (fallback) для KEDA при недоступности метрик

{}

singleBinary.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

singleBinary.image.registry

Адрес реестра контейнерных образов

~

singleBinary.image.repository

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

~

singleBinary.image.tag

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

~

singleBinary.priorityClassName

Имя PriorityClass для pod

~

singleBinary.annotations

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

{}

singleBinary.labels

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

{}

singleBinary.podAnnotations

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

{}

singleBinary.podLabels

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

{}

singleBinary.selectorLabels

Метки селектора для идентификации pod

{}

singleBinary.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

singleBinary.podDisruptionBudget.annotations

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

{}

singleBinary.podDisruptionBudget.labels

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

{}

singleBinary.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

singleBinary.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

singleBinary.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

singleBinary.service.annotations

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

{}

singleBinary.service.labels

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

{}

singleBinary.service.type

Тип Service

ClusterIP

singleBinary.service.trafficDistribution

Политика распределения трафика Service

""

singleBinary.service.sessionAffinity

Параметры сохранения сессии для Service

""

singleBinary.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

singleBinary.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

singleBinary.service.ipFamilies

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

[]

singleBinary.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

singleBinary.targetModule

Список модулей Loki, запускаемых в составе singleBinary (через запятую)

all

singleBinary.extraArgs

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

[]

singleBinary.extraEnv.name

Имя дополнительной переменной окружения

GOMEMLIMIT

singleBinary.extraEnv.value

Значение дополнительной переменной окружения

5750MiB

singleBinary.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

singleBinary.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

singleBinary.initContainers

Список init-контейнеров, запускаемых перед основными

[]

singleBinary.extraVolumeMounts

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

[]

singleBinary.extraVolumes

Дополнительные тома (Volume) для pod

[]

singleBinary.resources.requests.cpu

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

500m

singleBinary.resources.requests.memory

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

1Gi

singleBinary.resources.limits.cpu

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

2

singleBinary.resources.limits.memory

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

6Gi

singleBinary.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

singleBinary.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

singleBinary.hostUsers

Использование пространства имен пользователей узла (hostUsers) для pod

~

singleBinary.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: single-binary
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

singleBinary.topologySpreadConstraints

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

[]

singleBinary.dnsConfig

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

{}

singleBinary.nodeSelector

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

{}

singleBinary.tolerations

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

[]

singleBinary.podManagementPolicy

Политика управления жизненным циклом pod в StatefulSet.
Возможные значения: Parallel или OrderedReady

Parallel

singleBinary.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet.
Возможные значения: Retain или Delete

Delete

singleBinary.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Delete

singleBinary.persistence.enableStatefulSetAutoDeletePVC

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

true

singleBinary.persistence.enabled

Включение использования постоянного тома (PersistentVolume) для хранения данных

false

singleBinary.persistence.accessModes

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

- ReadWriteOnce

singleBinary.persistence.size

Запрашиваемый размер постоянного тома

10Gi

singleBinary.persistence.storageClass

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

~

singleBinary.persistence.selector

Селектор меток для привязки к существующему постоянному тому

~

singleBinary.persistence.annotations

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

{}

singleBinary.persistence.labels

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

{}

singleBinary.persistence.dataVolumeParameters

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

{}

write – настройки компонента write для режима SimpleScalable#

Параметр

Описание

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

write.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение SimpleScalable

true

write.kind

Тип развертывания write.
Возможные значения: StatefulSet или Deployment

StatefulSet

write.fullnameOverride

Переопределение полного имени write (по умолчанию генерируется на основе имени чарта с суффиксом -write)

'{{ include "loki.name" . }}-write'

write.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet write при изменении конфигурации compactor (применимо при compactor.kind: StatefulSet)

false

write.replicas

Количество реплик write. Для управления внешним контроллером установите значение null

0

write.strategy.rollingUpdate.partition

Порядковый номер pod, с которого начинается обновление

0

write.autoscaling.enabled

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

false

write.autoscaling.minReplicas

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

2

write.autoscaling.maxReplicas

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

6

write.autoscaling.targetCPUUtilizationPercentage

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

60

write.autoscaling.targetMemoryUtilizationPercentage

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

~

write.autoscaling.behavior.scaleUp.policies

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

- type: Pods
  value: 1
  periodSeconds: 900

write.autoscaling.behavior.scaleDown.policies

Настройки поведения при уменьшении количества реплик

- type: Pods
  value: 1
  periodSeconds: 1800

write.autoscaling.behavior.scaleDown.stabilizationWindowSeconds

Окно стабилизации (в секундах) при демасштабировании

3600

write.kedaAutoscaling.enabled

Включение автомасштабирования KEDA для write (взаимоисключается с autoscaling.enabled)

false

write.kedaAutoscaling.pollingInterval

Интервал опроса метрик (в секундах). По умолчанию defaults.kedaAutoscaling.pollingInterval

~

write.kedaAutoscaling.minReplicas

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

2

write.kedaAutoscaling.maxReplicas

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

6

write.kedaAutoscaling.cooldownPeriod

Период ожидания (в секундах) после последнего активного события перед масштабированием до 0

~

write.kedaAutoscaling.fallback

Резервная конфигурация ScaledObject KEDA при недоступности метрик

{}

write.kedaAutoscaling.behavior

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

{}

write.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

write.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

write.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

write.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

write.priorityClassName

Имя PriorityClass для pod

~

write.annotations

Аннотации, добавляемые к StatefulSet write

{}

write.labels

Метки, добавляемые к StatefulSet write

{}

write.podAnnotations

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

{}

write.podLabels

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

{}

write.selectorLabels

Метки селектора для идентификации pod

{}

write.service.annotations

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

{}

write.service.labels

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

{}

write.service.type

Тип Service

ClusterIP

write.service.trafficDistribution

Политика распределения трафика Service

""

write.service.sessionAffinity

Параметры сохранения сессии для Service

""

write.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

write.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

write.service.ipFamilies

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

[]

write.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

write.extraArgs

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

[]

write.extraEnv

Дополнительные переменные окружения

[]

write.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

write.lifecycle

Параметры lifecycle для контейнера

{}

write.initContainers

Список init-контейнеров, запускаемых перед основными

[]

write.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

write.extraVolumeMounts

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

[]

write.extraVolumes

Дополнительные тома (Volume) для pod

[]

write.extraVolumeClaimTemplates

Список volumeClaimTemplates для StatefulSet

[]

write.resources

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

{}

write.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

write.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod (для ingester должно быть увеличено)

300

write.hostUsers

Использование пространства имен пользователей узла (hostUsers) для pod

~

write.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: write
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

write.dnsConfig

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

{}

write.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

1

write.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

write.podDisruptionBudget.annotations

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

{}

write.podDisruptionBudget.labels

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

{}

write.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

write.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

write.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

write.nodeSelector

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

{}

write.topologySpreadConstraints

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

[]

write.tolerations

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

[]

write.podManagementPolicy

Политика управления жизненным циклом pod в StatefulSet

Parallel

write.persistence.volumeClaimsEnabled

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

true

write.persistence.accessModes

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

- ReadWriteOnce

write.persistence.dataVolumeParameters.emptyDir

Параметры тома data (emptyDir), используемые при отключенных volumeClaim

{}

write.persistence.enableStatefulSetAutoDeletePVC

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

false

write.persistence.size

Запрашиваемый размер постоянного тома

10Gi

write.persistence.storageClass

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

~

write.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

write.persistence.selector

Селектор меток для привязки к существующему постоянному тому

~

write.persistence.annotations

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

{}

write.persistence.labels

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

{}

write.serviceAccount.create

Создание ServiceAccount

true

write.serviceAccount.name

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

~

write.serviceAccount.imagePullSecrets

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

[]

write.serviceAccount.annotations

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

{}

write.serviceAccount.labels

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

{}

write.serviceAccount.automountServiceAccountToken

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

true

read – настройки компонента read для режима SimpleScalable#

Параметр

Описание

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

read.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение SimpleScalable

true

read.kind

Тип развертывания read.
Возможные значения: StatefulSet или Deployment

Deployment

read.fullnameOverride

Переопределение полного имени read (по умолчанию генерируется на основе имени чарта с суффиксом -read)

'{{ include "loki.name" . }}-read'

read.replicas

Количество реплик read. Для управления внешним контроллером установите значение null

0

read.strategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при обновлении

0

read.strategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных pod при обновлении

1

read.autoscaling.enabled

Включение автомасштабирования read (используется при queryIndex.enabled: true)

false

read.autoscaling.minReplicas

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

2

read.autoscaling.maxReplicas

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

6

read.autoscaling.targetCPUUtilizationPercentage

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

60

read.autoscaling.targetMemoryUtilizationPercentage

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

~

read.autoscaling.behavior

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

scaleUp:
  stabilizationWindowSeconds: 300
  policies:
  - type: Pods
    value: 1
    periodSeconds: 60
scaleDown:
  stabilizationWindowSeconds: 300
  policies:
  - type: Pods
    value: 1
    periodSeconds: 180

{}

read.kedaAutoscaling.enabled

Включение автомасштабирования KEDA для read (взаимоисключается с autoscaling.enabled)

false

read.kedaAutoscaling.pollingInterval

Интервал опроса метрик (в секундах). По умолчанию defaults.kedaAutoscaling.pollingInterval

~

read.kedaAutoscaling.minReplicas

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

2

read.kedaAutoscaling.maxReplicas

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

6

read.kedaAutoscaling.cooldownPeriod

Период ожидания (в секундах) после последнего активного события перед масштабированием до 0

~

read.kedaAutoscaling.fallback

Резервная конфигурация ScaledObject KEDA при недоступности метрик

{}

read.kedaAutoscaling.behavior

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

{}

read.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

read.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

read.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

read.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

read.priorityClassName

Имя PriorityClass для pod

~

read.annotations

Аннотации, добавляемые к Deployment read

{}

read.labels

Метки, добавляемые к Deployment read

{}

read.podAnnotations

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

{}

read.podLabels

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

{}

read.selectorLabels

Метки селектора для идентификации pod

{}

read.service.annotations

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

{}

read.service.labels

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

{}

read.service.type

Тип Service

ClusterIP

read.service.trafficDistribution

Политика распределения трафика Service

""

read.service.sessionAffinity

Параметры сохранения сессии для Service

""

read.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

read.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

read.service.ipFamilies

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

[]

read.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

read.extraArgs

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

[]

read.initContainers

Список init-контейнеров, запускаемых перед основными

[]

read.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

read.extraEnv

Дополнительные переменные окружения

[]

read.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

read.lifecycle

Параметры lifecycle для контейнера

{}

read.extraVolumeMounts

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

[]

read.extraVolumes

Дополнительные тома (Volume) для pod

[]

read.resources

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

{}

read.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

read.livenessProbe

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

{}

read.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

read.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

read.hostUsers

Использование пространства имен пользователей узла (hostUsers) для pod

~

read.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: read
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

read.dnsConfig

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

{}

read.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

1

read.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

read.podDisruptionBudget.annotations

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

{}

read.podDisruptionBudget.labels

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

{}

read.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

read.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

read.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

read.nodeSelector

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

{}

read.topologySpreadConstraints

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

[]

read.tolerations

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

[]

read.serviceAccount.create

Создание ServiceAccount

false

read.serviceAccount.name

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

~

read.serviceAccount.imagePullSecrets

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

[]

read.serviceAccount.annotations

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

{}

read.serviceAccount.labels

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

{}

read.serviceAccount.automountServiceAccountToken

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

true

backend – настройки компонента для режима SimpleScalable#

Параметр

Описание

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

backend.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение SimpleScalable

true

backend.kind

Тип развертывания backend.
Возможные значения: StatefulSet или Deployment

StatefulSet

backend.fullnameOverride

Переопределение полного имени backend (по умолчанию генерируется на основе имени чарта с суффиксом -backend)

'{{ include "loki.name" . }}-backend'

backend.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet backend при изменении конфигурации compactor (применимо при compactor.kind: StatefulSet, полезно для изменения размера PersistentVolumeClaim)

false

backend.replicas

Количество реплик backend. Для управления внешним контроллером установите значение null

0

backend.strategy.rollingUpdate.partition

Порядковый номер pod, с которого начинается обновление

0

backend.sidecar

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

true

backend.automountServiceAccountToken

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

true

backend.autoscaling.enabled

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

false

backend.autoscaling.minReplicas

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

3

backend.autoscaling.maxReplicas

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

6

backend.autoscaling.targetCPUUtilizationPercentage

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

60

backend.autoscaling.targetMemoryUtilizationPercentage

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

~

backend.autoscaling.behavior

Настройки поведения автомасштабирования (политики вертикальног масштабирования и демасштабирования).
Пример конфигурации:

scaleUp:
  stabilizationWindowSeconds: 300
  policies:
  - type: Pods
    value: 1
    periodSeconds: 60
scaleDown:
  stabilizationWindowSeconds: 300
  policies:
  - type: Pods
    value: 1
    periodSeconds: 180

{}

backend.kedaAutoscaling.enabled

Включение автомасштабирования KEDA для backend (взаимоисключается с autoscaling.enabled)

false

backend.kedaAutoscaling.pollingInterval

Интервал опроса метрик (в секундах). По умолчанию defaults.kedaAutoscaling.pollingInterval

~

backend.kedaAutoscaling.minReplicas

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

3

backend.kedaAutoscaling.maxReplicas

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

6

backend.kedaAutoscaling.cooldownPeriod

Период ожидания (в секундах) после последнего активного события перед масштабированием до 0

~

backend.kedaAutoscaling.fallback

Резервная конфигурация ScaledObject KEDA при недоступности метрик

{}

backend.kedaAutoscaling.behavior

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

{}

backend.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

backend.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

backend.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

backend.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

backend.priorityClassName

Имя PriorityClass для pod

~

backend.annotations

Аннотации, добавляемые к StatefulSet backend

{}

backend.labels

Метки, добавляемые к StatefulSet backend

{}

backend.podAnnotations

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

{}

backend.podLabels

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

{}

backend.selectorLabels

Метки селектора для идентификации pod

{}

backend.service.annotations

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

{}

backend.service.labels

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

{}

backend.service.type

Тип Service

ClusterIP

backend.service.trafficDistribution

Политика распределения трафика Service

""

backend.service.sessionAffinity

Параметры сохранения сессии для Service

""

backend.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

backend.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

backend.service.ipFamilies

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

[]

backend.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

backend.extraArgs

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

[]

backend.extraEnv

Дополнительные переменные окружения

[]

backend.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

backend.initContainers

Список init-контейнеров, запускаемых перед основными

[]

backend.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

backend.extraVolumeMounts

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

[]

backend.extraVolumes

Дополнительные тома (Volume) для pod

[]

backend.resources

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

{}

backend.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

backend.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod (для ingester должно быть увеличено)

300

backend.hostUsers

Использование пространства имен пользователей узла (hostUsers) для pod

~

backend.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: backend
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

backend.dnsConfig

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

{}

backend.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

1

backend.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

backend.podDisruptionBudget.annotations

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

{}

backend.podDisruptionBudget.labels

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

{}

backend.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

backend.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

backend.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

backend.nodeSelector

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

{}

backend.topologySpreadConstraints

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

[]

backend.tolerations

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

[]

backend.podManagementPolicy

Политика управления жизненным циклом pod в StatefulSet

Parallel

backend.persistence.enabled

Включение использования постоянного тома (PersistentVolume) для хранения данных

false

backend.persistence.volumeClaimsEnabled

Включение использования постоянного хранилища PersistentVolumeClaim (устаревший параметр, рекомендуется использовать persistence.enabled)

true

backend.persistence.accessModes

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

- ReadWriteOnce

backend.persistence.dataVolumeParameters.emptyDir

Параметры тома data (emptyDir), используемые при отключенных volumeClaim

{}

backend.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet

Delete

backend.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Delete

backend.persistence.enableStatefulSetAutoDeletePVC

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

true

backend.persistence.size

Запрашиваемый размер постоянного тома

10Gi

backend.persistence.storageClass

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

~

backend.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

backend.persistence.selector

Селектор меток для привязки к существующему постоянному тому

~

backend.persistence.annotations

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

{}

backend.persistence.labels

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

{}

backend.serviceAccount.create

Создание ServiceAccount

false

backend.serviceAccount.name

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

~

backend.serviceAccount.imagePullSecrets

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

[]

backend.serviceAccount.annotations

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

{}

backend.serviceAccount.labels

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

{}

backend.serviceAccount.automountServiceAccountToken

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

true

ingester – настройки компонента ingester для режима Distributed#

Параметр

Описание

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

ingester.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

true

ingester.kind

Тип развертывания Ingester.
Возможные значения: StatefulSet или Deployment

StatefulSet

ingester.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet Ingester (применимо при ingester.kind: StatefulSet, полезно для изменения размера PersistentVolumeClaim)

false

ingester.strategy.type

Стратегия обновления StatefulSet Ingester

RollingUpdate

ingester.podManagementPolicy

Политика управления жизненным циклом pod в StatefulSet.
Возможные значения: OrderedReady или Parallel

Parallel

ingester.replicas

Количество реплик Ingester. При zoneAwareReplication.enabled: true в каждой зоне будет 1/3 общего числа реплик. Для управления внешним контроллером установите значение в null

0

ingester.dnsConfig

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

{}

ingester.hostAliases

Список псевдонимов хостов для добавления в /etc/hosts

[]

ingester.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

ingester.autoscaling.enabled

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

false

ingester.autoscaling.minReplicas

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

1

ingester.autoscaling.maxReplicas

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

3

ingester.autoscaling.targetCPUUtilizationPercentage

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

60

ingester.autoscaling.targetMemoryUtilizationPercentage

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

~

ingester.autoscaling.customMetrics

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

- type: Pods
  pods:
    metric:
      name: loki_lines_total
    target:
      type: AverageValue
      averageValue: 10k

[]

ingester.autoscaling.behavior.enabled

Включение настраиваемых политик масштабирования

false

ingester.autoscaling.behavior.scaleDown

Настройки поведения при уменьшении количества реплик

{}

ingester.autoscaling.behavior.scaleUp

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

{}

ingester.kedaAutoscaling.enabled

Включение автомасштабирования KEDA для Ingester (взаимоисключается с autoscaling.enabled)

false

ingester.kedaAutoscaling.pollingInterval

Интервал опроса метрик (в секундах). По умолчанию defaults.kedaAutoscaling.pollingInterval

~

ingester.kedaAutoscaling.minReplicas

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

1

ingester.kedaAutoscaling.maxReplicas

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

3

ingester.kedaAutoscaling.cooldownPeriod

Период ожидания (в секундах) после последнего активного события перед масштабированием до 0

~

ingester.kedaAutoscaling.fallback

Резервная конфигурация ScaledObject KEDA при недоступности метрик

{}

ingester.kedaAutoscaling.behavior

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

{}

ingester.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

ingester.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

ingester.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

ingester.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

ingester.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

ingester.labels

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

{}

ingester.annotations

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

{}

ingester.podLabels

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

{}

ingester.podAnnotations

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

{}

ingester.priorityClassName

Имя PriorityClass для pod

~

ingester.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать ingester.service.labels)

{}

ingester.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать ingester.service.annotations)

{}

ingester.serviceType

Тип Service (устаревший параметр, рекомендуется использовать ingester.service.type)

ClusterIP

ingester.service.annotations

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

{}

ingester.service.labels

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

{}

ingester.service.type

Тип Service

ClusterIP

ingester.service.trafficDistribution

Политика распределения трафика Service

""

ingester.service.sessionAffinity

Параметры сохранения сессии для Service

""

ingester.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

ingester.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

ingester.service.ipFamilies

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

[]

ingester.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

ingester.extraArgs

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

[]

ingester.extraEnv

Дополнительные переменные окружения

[]

ingester.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

ingester.extraVolumeMounts

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

[]

ingester.extraVolumes

Дополнительные тома (Volume) для pod

[]

ingester.resources

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

{}

ingester.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

ingester.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

ingester.initContainers

Список init-контейнеров, запускаемых перед основными

[]

ingester.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod (для корректной выгрузки данных должно быть увеличено)

300

ingester.lifecycle

Параметры lifecycle для контейнера

{}

ingester.topologySpreadConstraints

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

- maxSkew: 1
  topologyKey: kubernetes.io/hostname
  whenUnsatisfiable: ScheduleAnyway
  labelSelector:
    matchLabels:
      app.kubernetes.io/component: ingester
      app.kubernetes.io/name: '{{ include "loki.name" . }}'
      app.kubernetes.io/instance: '{{ .Release.Name }}'

ingester.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам (игнорируется при включенной zoneAwareReplication)

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: ingester
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

ingester.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

1

ingester.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

ingester.podDisruptionBudget.annotations

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

{}

ingester.podDisruptionBudget.labels

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

{}

ingester.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

ingester.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

ingester.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

ingester.nodeSelector

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

{}

ingester.tolerations

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

[]

ingester.readinessProbe

Настройка параметров проверки готовности контейнера

{}

ingester.livenessProbe

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

{}

ingester.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

ingester.updateStrategy.type

Тип стратегии обновления StatefulSet.
Возможные значения: OnDelete или RollingUpdate

RollingUpdate

ingester.persistence.enabled

Включение создания PersistentVolumeClaim (обязательно при использовании boltdb-shipper)

false

ingester.persistence.inMemory

Использование emptyDir с оперативной памятью для хранения (при перезапуске pod все данные Ingester будут потеряны)

false

ingester.persistence.claims

Список PersistentVolumeClaim для Ingester

- name: data
  accessModes:
    - ReadWriteOnce
  size: 10Gi
  storageClass: null
  volumeAttributesClassName: null

ingester.persistence.claims.name

Имя PersistentVolumeClaim

data

ingester.persistence.claims.accessModes

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

- ReadWriteOnce

ingester.persistence.claims.size

Запрашиваемый размер постоянного тома

10Gi

ingester.persistence.claims.storageClass

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

~

ingester.persistence.claims.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

ingester.persistence.enableStatefulSetAutoDeletePVC

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

false

ingester.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Retain

ingester.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet

Retain

ingester.serviceAccount.create

Создание ServiceAccount

false

ingester.serviceAccount.name

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

~

ingester.serviceAccount.imagePullSecrets

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

[]

ingester.serviceAccount.annotations

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

{}

ingester.serviceAccount.labels

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

{}

ingester.serviceAccount.automountServiceAccountToken

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

true

ingester.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать ingester.service.appProtocol.grpc)

""

ingester.trafficDistribution

Политика распределения трафика Service (устаревший параметр)

""

ingester.zoneAwareReplication.enabled

Включение zone-aware репликации (создает 3``StatefulSet, при записи реплика отправляется в каждую зону)

true

ingester.zoneAwareReplication.maxUnavailablePct

Процент реплик в каждой зоне, перезапускаемых одновременно (значение от 0 до 100)

33

ingester.zoneAwareReplication.zoneA.nodeSelector

Селектор узлов для зоны A

~

ingester.zoneAwareReplication.zoneA.extraAffinity

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

{}

ingester.zoneAwareReplication.zoneA.annotations

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

{}

ingester.zoneAwareReplication.zoneA.podAnnotations

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

{}

ingester.zoneAwareReplication.zoneA.persistence.storageClass

Имя StorageClass для всех PersistentVolumeClaim в зоне A (переопределяет storageClass каждого элемента ingester.persistence.claims)

~

ingester.zoneAwareReplication.zoneB.nodeSelector

Селектор узлов для зоны B

~

ingester.zoneAwareReplication.zoneB.extraAffinity

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

{}

ingester.zoneAwareReplication.zoneB.annotations

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

{}

ingester.zoneAwareReplication.zoneB.podAnnotations

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

{}

ingester.zoneAwareReplication.zoneB.persistence.storageClass

Имя StorageClass для всех PersistentVolumeClaim в зоне B (переопределяет storageClass каждого элемента ingester.persistence.claims)

~

ingester.zoneAwareReplication.zoneC.nodeSelector

Селектор узлов для зоны C

~

ingester.zoneAwareReplication.zoneC.extraAffinity

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

{}

ingester.zoneAwareReplication.zoneC.annotations

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

{}

ingester.zoneAwareReplication.zoneC.podAnnotations

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

{}

ingester.zoneAwareReplication.zoneC.persistence.storageClass

Имя StorageClass для всех PersistentVolumeClaim в зоне C (переопределяет storageClass каждого элемента ingester.persistence.claims)

~

ingester.zoneAwareReplication.migration.enabled

Включение режима бесшовной миграции Ingester на балансировку по зонам доступности zone-aware

false

ingester.zoneAwareReplication.migration.excludeDefaultZone

Игнорирование зоны по умолчанию при миграции

false

ingester.zoneAwareReplication.migration.readPath

Использование пути чтения при миграции

false

ingester.zoneAwareReplication.migration.writePath

Использование пути записи при миграции

false

ingester.rolloutGroupPrefix

Префикс для метки rollout-group Ingester

~

ingester.addIngesterNamePrefix

Добавление префикса loki- к метке имени Ingester

false

distributor – настройки компонента distributor для режима Distributed#

Параметр

Описание

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

distributor.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

true

distributor.replicas

Количество реплик Distributor. Для управления внешним контроллером установите значение null

0

distributor.kind

Тип развертывания Distributor.
Возможные значения: StatefulSet или Deployment

Deployment

distributor.strategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при обновлении

0

distributor.strategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных pod при обновлении

1

distributor.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

distributor.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

distributor.dnsConfig

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

{}

distributor.autoscaling.enabled

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

false

distributor.autoscaling.minReplicas

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

1

distributor.autoscaling.maxReplicas

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

3

distributor.autoscaling.targetCPUUtilizationPercentage

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

60

distributor.autoscaling.targetMemoryUtilizationPercentage

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

~

distributor.autoscaling.customMetrics

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

- type: Pods
  pods:
    metric:
      name: loki_lines_total
    target:
      type: AverageValue
      averageValue: 10k

[]

distributor.autoscaling.behavior.enabled

Включение настраиваемых политик масштабирования

false

distributor.autoscaling.behavior.scaleDown

Настройки поведения при уменьшении количества реплик

{}

distributor.autoscaling.behavior.scaleUp

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

{}

distributor.kedaAutoscaling.enabled

Включение автомасштабирования KEDA для Distributor (взаимоисключается с autoscaling.enabled)

false

distributor.kedaAutoscaling.pollingInterval

Интервал опроса метрик (в секундах). По умолчанию defaults.kedaAutoscaling.pollingInterval

~

distributor.kedaAutoscaling.minReplicas

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

1

distributor.kedaAutoscaling.maxReplicas

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

3

distributor.kedaAutoscaling.cooldownPeriod

Период ожидания (в секундах) после последнего активного события перед масштабированием до 0

~

distributor.kedaAutoscaling.fallback

Резервная конфигурация ScaledObject KEDA при недоступности метрик

{}

distributor.kedaAutoscaling.behavior

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

{}

distributor.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

distributor.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

distributor.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

distributor.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

distributor.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

distributor.priorityClassName

Имя PriorityClass для pod

~

distributor.labels

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

{}

distributor.annotations

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

{}

distributor.podLabels

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

{}

distributor.podAnnotations

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

{}

distributor.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать distributor.service.labels)

{}

distributor.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать distributor.service.annotations)

{}

distributor.serviceType

Тип Service (устаревший параметр, рекомендуется использовать distributor.service.type)

ClusterIP

distributor.service.annotations

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

{}

distributor.service.labels

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

{}

distributor.service.type

Тип Service

ClusterIP

distributor.service.trafficDistribution

Политика распределения трафика Service

""

distributor.service.sessionAffinity

Параметры сохранения сессии для Service

""

distributor.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

distributor.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

distributor.service.ipFamilies

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

[]

distributor.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

distributor.extraArgs

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

[]

distributor.extraEnv

Дополнительные переменные окружения

[]

distributor.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

distributor.extraVolumeMounts

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

[]

distributor.extraVolumes

Дополнительные тома (Volume) для pod

[]

distributor.resources

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

{}

distributor.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

distributor.initContainers

Список init-контейнеров, запускаемых перед основными

[]

distributor.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

distributor.shutdownDelay

Задержка (в секундах) перед завершением работы после сигнала SIGTERM

0s

distributor.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

distributor.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

distributor.podDisruptionBudget.annotations

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

{}

distributor.podDisruptionBudget.labels

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

{}

distributor.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

distributor.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

distributor.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

distributor.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: distributor
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

distributor.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

~

distributor.maxSurge

Максимальное количество дополнительных pod при обновлении

0

distributor.nodeSelector

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

{}

distributor.topologySpreadConstraints

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

[]

distributor.tolerations

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

[]

distributor.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать distributor.service.appProtocol.grpc)

""

distributor.trafficDistribution

Политика распределения трафика Service (устаревший параметр)

""

distributor.serviceAccount.create

Создание ServiceAccount

false

distributor.serviceAccount.name

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

~

distributor.serviceAccount.imagePullSecrets

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

[]

distributor.serviceAccount.annotations

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

{}

distributor.serviceAccount.labels

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

{}

distributor.serviceAccount.automountServiceAccountToken

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

true

querier – настройки компонента querier для режима Distributed#

Параметр

Описание

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

querier.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

true

querier.kind

Тип развертывания Querier.
Возможные значения: StatefulSet или Deployment

Deployment

querier.replicas

Количество реплик Querier. Для управления внешним контроллером установите значение null

0

querier.strategy.type

Стратегия обновления Deployment Querier

RollingUpdate

querier.strategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при обновлении

0

querier.strategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных pod при обновлении

1

querier.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

querier.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

querier.autoscaling.enabled

Включение автомасштабирования Querier (используется при indexGateway.enabled: true)

false

querier.autoscaling.minReplicas

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

1

querier.autoscaling.maxReplicas

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

3

querier.autoscaling.targetCPUUtilizationPercentage

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

60

querier.autoscaling.targetMemoryUtilizationPercentage

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

~

querier.autoscaling.customMetrics

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

- type: External
  external:
    metric:
      name: loki_inflight_queries
    target:
      type: AverageValue
      averageValue: 12

[]

querier.autoscaling.behavior.enabled

Включение настраиваемых политик масштабирования

false

querier.autoscaling.behavior.scaleDown

Настройки поведения при уменьшении количества реплик

{}

querier.autoscaling.behavior.scaleUp

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

{}

querier.kedaAutoscaling.enabled

Включение автомасштабирования KEDA для Querier (взаимоисключается с autoscaling.enabled)

false

querier.kedaAutoscaling.pollingInterval

Интервал опроса метрик (в секундах). По умолчанию defaults.kedaAutoscaling.pollingInterval

~

querier.kedaAutoscaling.minReplicas

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

1

querier.kedaAutoscaling.maxReplicas

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

10

querier.kedaAutoscaling.cooldownPeriod

Период ожидания (в секундах) после последнего активного события перед масштабированием до 0

~

querier.kedaAutoscaling.fallback

Резервная конфигурация ScaledObject KEDA при недоступности метрик

{}

querier.kedaAutoscaling.behavior

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

{}

querier.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA (по умолчанию Prometheus-триггер на основе активных запросов)

- type: prometheus
  name: querier_autoscaling_metric
  metadata:
    serverAddress: "{{ .Values.defaults.kedaAutoscaling.prometheusAddress }}"
    query: sum(max_over_time(loki_query_scheduler_inflight_requests{quantile="0.75"}[2m]))
    threshold: "4"
    unsafeSsl: "{{ .Values.defaults.kedaAutoscaling.unsafeSsl }}"
    ignoreNullValues: "{{ .Values.defaults.kedaAutoscaling.ignoreNullValues }}"
    customHeaders: "{{ .Values.defaults.kedaAutoscaling.customHeaders }}"
    authModes: "{{ .Values.defaults.kedaAutoscaling.authentication.authModes }}"

querier.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

querier.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

querier.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

querier.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

querier.priorityClassName

Имя PriorityClass для pod

~

querier.labels

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

{}

querier.annotations

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

{}

querier.podLabels

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

{}

querier.podAnnotations

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

{}

querier.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать querier.service.labels)

{}

querier.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать querier.service.annotations)

{}

querier.serviceType

Тип Service (устаревший параметр, рекомендуется использовать querier.service.type)

ClusterIP

querier.service.annotations

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

{}

querier.service.labels

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

{}

querier.service.type

Тип Service

ClusterIP

querier.service.trafficDistribution

Политика распределения трафика Service

""

querier.service.sessionAffinity

Параметры сохранения сессии для Service

""

querier.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

querier.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

querier.service.ipFamilies

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

[]

querier.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

querier.extraArgs

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

[]

querier.extraEnv

Дополнительные переменные окружения

[]

querier.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

querier.extraVolumeMounts

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

[]

querier.extraVolumes

Дополнительные тома (Volume) для pod

[]

querier.resources

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

{}

querier.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

querier.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

querier.initContainers

Список init-контейнеров, запускаемых перед основными

[]

querier.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

querier.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

querier.podDisruptionBudget.annotations

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

{}

querier.podDisruptionBudget.labels

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

{}

querier.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

querier.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

querier.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

querier.topologySpreadConstraints

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

- maxSkew: 1
  topologyKey: kubernetes.io/hostname
  whenUnsatisfiable: ScheduleAnyway
  labelSelector:
    matchLabels:
      app.kubernetes.io/component: querier
      app.kubernetes.io/name: '{{ include "loki.name" . }}'
      app.kubernetes.io/instance: '{{ .Release.Name }}'

querier.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: querier
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

querier.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

~

querier.maxSurge

Максимальное количество дополнительных pod при обновлении

0

querier.nodeSelector

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

{}

querier.tolerations

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

[]

querier.dnsConfig

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

{}

querier.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать querier.service.appProtocol.grpc)

""

querier.trafficDistribution

Политика распределения трафика Service (устаревший параметр)

""

querier.serviceAccount.create

Создание ServiceAccount

false

querier.serviceAccount.name

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

~

querier.serviceAccount.imagePullSecrets

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

[]

querier.serviceAccount.annotations

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

{}

querier.serviceAccount.labels

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

{}

querier.serviceAccount.automountServiceAccountToken

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

true

queryFrontend – настройки компонента query-frontend для режима Distributed#

Параметр

Описание

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

queryFrontend.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

true

queryFrontend.kind

Тип развертывания QueryFrontend.
Возможные значения: StatefulSet или Deployment

Deployment

queryFrontend.replicas

Количество реплик QueryFrontend. Для управления внешним контроллером установите значение null

0

queryFrontend.strategy.type

Стратегия обновления Deployment

RollingUpdate

queryFrontend.strategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при обновлении

0

queryFrontend.strategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных pod при обновлении

1

queryFrontend.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

queryFrontend.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

queryFrontend.autoscaling.enabled

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

false

queryFrontend.autoscaling.minReplicas

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

1

queryFrontend.autoscaling.maxReplicas

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

3

queryFrontend.autoscaling.targetCPUUtilizationPercentage

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

60

queryFrontend.autoscaling.targetMemoryUtilizationPercentage

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

~

queryFrontend.autoscaling.customMetrics

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

- type: Pods
  pods:
    metric:
      name: loki_query_rate
    target:
      type: AverageValue
      averageValue: 100

[]

queryFrontend.autoscaling.behavior.enabled

Включение настраиваемых политик масштабирования

false

queryFrontend.autoscaling.behavior.scaleDown

Настройки поведения при уменьшении количества реплик

{}

queryFrontend.autoscaling.behavior.scaleUp

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

{}

queryFrontend.kedaAutoscaling.enabled

Включение автомасштабирования KEDA для QueryFrontend (взаимоисключается с autoscaling.enabled)

false

queryFrontend.kedaAutoscaling.pollingInterval

Интервал опроса метрик (в секундах). По умолчанию defaults.kedaAutoscaling.pollingInterval

~

queryFrontend.kedaAutoscaling.minReplicas

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

1

queryFrontend.kedaAutoscaling.maxReplicas

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

3

queryFrontend.kedaAutoscaling.cooldownPeriod

Период ожидания (в секундах) после последнего активного события перед масштабированием до 0

~

queryFrontend.kedaAutoscaling.fallback

Резервная конфигурация ScaledObject KEDA при недоступности метрик

{}

queryFrontend.kedaAutoscaling.behavior

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

{}

queryFrontend.kedaAutoscaling.triggers

Список триггеров масштабирования для KEDA

[]

queryFrontend.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

queryFrontend.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

queryFrontend.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

queryFrontend.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

queryFrontend.priorityClassName

Имя PriorityClass для pod

~

queryFrontend.labels

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

{}

queryFrontend.annotations

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

{}

queryFrontend.podLabels

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

{}

queryFrontend.podAnnotations

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

{}

queryFrontend.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать queryFrontend.service.labels)

{}

queryFrontend.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать queryFrontend.service.annotations)

{}

queryFrontend.serviceType

Тип Service (устаревший параметр, рекомендуется использовать queryFrontend.service.type)

ClusterIP

queryFrontend.service.annotations

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

{}

queryFrontend.service.labels

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

{}

queryFrontend.service.type

Тип Service

ClusterIP

queryFrontend.service.trafficDistribution

Политика распределения трафика Service

""

queryFrontend.service.sessionAffinity

Параметры сохранения сессии для Service

""

queryFrontend.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

queryFrontend.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

queryFrontend.service.ipFamilies

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

[]

queryFrontend.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

queryFrontend.extraArgs

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

[]

queryFrontend.extraEnv

Дополнительные переменные окружения

[]

queryFrontend.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

queryFrontend.extraVolumeMounts

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

[]

queryFrontend.extraVolumes

Дополнительные тома (Volume) для pod

[]

queryFrontend.resources

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

{}

queryFrontend.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

queryFrontend.initContainers

Список init-контейнеров, запускаемых перед основными

[]

queryFrontend.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

queryFrontend.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

queryFrontend.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

queryFrontend.podDisruptionBudget.annotations

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

{}

queryFrontend.podDisruptionBudget.labels

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

{}

queryFrontend.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

queryFrontend.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

queryFrontend.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

queryFrontend.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: query-frontend
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

queryFrontend.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

~

queryFrontend.nodeSelector

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

{}

queryFrontend.topologySpreadConstraints

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

[]

queryFrontend.tolerations

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

[]

queryFrontend.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать queryFrontend.service.appProtocol.grpc)

""

queryFrontend.loadBalancer.enabled

Включение порта балансировщика нагрузки для QueryFrontend

true

queryFrontend.trafficDistribution

Политика распределения трафика Service (устаревший параметр)

""

queryFrontend.serviceAccount.create

Создание ServiceAccount

false

queryFrontend.serviceAccount.name

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

~

queryFrontend.serviceAccount.imagePullSecrets

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

[]

queryFrontend.serviceAccount.annotations

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

{}

queryFrontend.serviceAccount.labels

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

{}

queryFrontend.serviceAccount.automountServiceAccountToken

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

true

queryScheduler – настройки компонента query-scheduler для режима Distributed#

Параметр

Описание

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

queryScheduler.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

true

queryScheduler.kind

Тип развертывания QueryScheduler.
Возможные значения: StatefulSet или Deployment

Deployment

queryScheduler.replicas

Количество реплик QueryScheduler (должно быть меньше -querier.max-concurrent). Для управления внешним контроллером установите значение в null

0

queryScheduler.strategy.type

Стратегия обновления Deployment

RollingUpdate

queryScheduler.strategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при обновлении

0

queryScheduler.strategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных pod при обновлении

1

queryScheduler.dnsConfig

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

{}

queryScheduler.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

queryScheduler.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

queryScheduler.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

queryScheduler.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

queryScheduler.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

queryScheduler.priorityClassName

Имя PriorityClass для pod

~

queryScheduler.labels

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

{}

queryScheduler.annotations

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

{}

queryScheduler.podLabels

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

{}

queryScheduler.podAnnotations

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

{}

queryScheduler.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать queryScheduler.service.labels)

{}

queryScheduler.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать queryScheduler.service.annotations)

{}

queryScheduler.serviceType

Тип Service (устаревший параметр, рекомендуется использовать queryScheduler.service.type)

ClusterIP

queryScheduler.service.annotations

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

{}

queryScheduler.service.labels

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

{}

queryScheduler.service.type

Тип Service

ClusterIP

queryScheduler.service.trafficDistribution

Политика распределения трафика Service

""

queryScheduler.service.sessionAffinity

Параметры сохранения сессии для Service

""

queryScheduler.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

queryScheduler.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

queryScheduler.service.ipFamilies

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

[]

queryScheduler.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

queryScheduler.extraArgs

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

[]

queryScheduler.extraEnv

Дополнительные переменные окружения

[]

queryScheduler.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

queryScheduler.extraVolumeMounts

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

[]

queryScheduler.extraVolumes

Дополнительные тома (Volume) для pod

[]

queryScheduler.resources

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

{}

queryScheduler.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

queryScheduler.initContainers

Список init-контейнеров, запускаемых перед основными

[]

queryScheduler.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

queryScheduler.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

queryScheduler.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: query-scheduler
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

queryScheduler.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

1

queryScheduler.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

queryScheduler.podDisruptionBudget.annotations

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

{}

queryScheduler.podDisruptionBudget.labels

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

{}

queryScheduler.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

queryScheduler.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

queryScheduler.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

queryScheduler.nodeSelector

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

{}

queryScheduler.topologySpreadConstraints

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

[]

queryScheduler.tolerations

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

[]

queryScheduler.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать queryScheduler.service.appProtocol.grpc)

""

queryScheduler.trafficDistribution

Политика распределения трафика Service (устаревший параметр)

""

queryScheduler.serviceAccount.create

Создание ServiceAccount

false

queryScheduler.serviceAccount.name

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

~

queryScheduler.serviceAccount.imagePullSecrets

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

[]

queryScheduler.serviceAccount.annotations

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

{}

queryScheduler.serviceAccount.labels

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

{}

queryScheduler.serviceAccount.automountServiceAccountToken

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

true

indexGateway – настройки компонента index-gateway для режима Distributed#

Параметр

Описание

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

indexGateway.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

true

indexGateway.kind

Тип развертывания IndexGateway.
Возможные значения: StatefulSet или Deployment

StatefulSet

indexGateway.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet (применимо при indexGateway.kind: StatefulSet)

false

indexGateway.replicas

Количество реплик IndexGateway. Для управления внешним контроллером установите значение в null

0

indexGateway.joinMemberlist

Включение подключения к хеш-кольцу memberlist

true

indexGateway.dnsConfig

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

{}

indexGateway.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

indexGateway.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

indexGateway.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

indexGateway.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

indexGateway.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

indexGateway.priorityClassName

Имя PriorityClass для pod

~

indexGateway.labels

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

{}

indexGateway.annotations

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

{}

indexGateway.podLabels

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

{}

indexGateway.podAnnotations

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

{}

indexGateway.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать indexGateway.service.labels)

{}

indexGateway.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать indexGateway.service.annotations)

{}

indexGateway.serviceType

Тип Service (устаревший параметр, рекомендуется использовать indexGateway.service.type)

ClusterIP

indexGateway.service.annotations

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

{}

indexGateway.service.labels

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

{}

indexGateway.service.type

Тип Service

ClusterIP

indexGateway.service.trafficDistribution

Политика распределения трафика Service

""

indexGateway.service.sessionAffinity

Параметры сохранения сессии для Service

""

indexGateway.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

indexGateway.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

indexGateway.service.ipFamilies

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

[]

indexGateway.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

indexGateway.extraArgs

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

[]

indexGateway.extraEnv

Дополнительные переменные окружения

[]

indexGateway.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

indexGateway.extraVolumeMounts

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

[]

indexGateway.extraVolumes

Дополнительные тома (Volume) для pod

[]

indexGateway.resources

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

{}

indexGateway.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

indexGateway.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

indexGateway.initContainers

Список init-контейнеров, запускаемых перед основными

[]

indexGateway.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

300

indexGateway.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

indexGateway.podDisruptionBudget.annotations

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

{}

indexGateway.podDisruptionBudget.labels

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

{}

indexGateway.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

indexGateway.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

indexGateway.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

indexGateway.lifecycle

Параметры lifecycle для контейнера

{}

indexGateway.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: index-gateway
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

indexGateway.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать podDisruptionBudget.maxUnavailable)

~

indexGateway.nodeSelector

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

{}

indexGateway.topologySpreadConstraints

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

[]

indexGateway.tolerations

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

[]

indexGateway.persistence.enabled

Включение создания постоянного хранилища PersistentVolumeClaim (обязательно при использовании boltdb-shipper)

false

indexGateway.persistence.accessModes

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

- ReadWriteOnce

indexGateway.persistence.dataVolumeParameters.emptyDir

Параметры тома data (emptyDir), используемые при отключенных volumeClaim

{}

indexGateway.persistence.size

Запрашиваемый размер постоянного тома

10Gi

indexGateway.persistence.storageClass

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

~

indexGateway.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

indexGateway.persistence.annotations

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

{}

indexGateway.persistence.labels

Метки, добавляемые к PersistentVolumeClaim

{}

indexGateway.persistence.enableStatefulSetAutoDeletePVC

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

false

indexGateway.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Retain

indexGateway.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet

Retain

indexGateway.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать indexGateway.service.appProtocol.grpc)

""

indexGateway.trafficDistribution

Политика распределения трафика Service (устаревший параметр)

""

indexGateway.strategy.type

Тип стратегии обновления StatefulSet.
Возможные значения: OnDelete или RollingUpdate

RollingUpdate

indexGateway.serviceAccount.create

Создание ServiceAccount

false

indexGateway.serviceAccount.name

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

~

indexGateway.serviceAccount.imagePullSecrets

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

[]

indexGateway.serviceAccount.annotations

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

{}

indexGateway.serviceAccount.labels

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

{}

indexGateway.serviceAccount.automountServiceAccountToken

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

true

compactor – настройки компонента compactor для режима Distributed#

Параметр

Описание

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

compactor.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

true

compactor.kind

Тип развертывания Compactor.
Возможные значения: StatefulSet или Deployment

StatefulSet

compactor.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet Compactor (применимо при compactor.kind: StatefulSet)

false

compactor.replicas

Количество реплик Compactor. Для управления внешним контроллером установите значение в null

0

compactor.strategy.rollingUpdate.partition

Порядковый номер pod, с которого начинается обновление

0

compactor.podManagementPolicy

Политика управления жизненным циклом pod в StatefulSet.
Возможные значения: OrderedReady или Parallel

Parallel

compactor.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

compactor.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

compactor.dnsConfig

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

{}

compactor.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

compactor.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

compactor.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

compactor.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

compactor.priorityClassName

Имя PriorityClass для pod

~

compactor.labels

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

{}

compactor.annotations

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

{}

compactor.podLabels

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

{}

compactor.podAnnotations

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

{}

compactor.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: compactor
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

compactor.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать compactor.service.labels)

{}

compactor.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать compactor.service.annotations)

{}

compactor.serviceType

Тип Service (устаревший параметр, рекомендуется использовать compactor.service.type)

ClusterIP

compactor.service.annotations

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

{}

compactor.service.labels

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

{}

compactor.service.type

Тип Service

ClusterIP

compactor.service.trafficDistribution

Политика распределения трафика Service

""

compactor.service.sessionAffinity

Параметры сохранения сессии для Service

""

compactor.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

compactor.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

compactor.service.ipFamilies

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

[]

compactor.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

compactor.extraArgs

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

[]

compactor.extraEnv

Дополнительные переменные окружения

[]

compactor.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

compactor.extraVolumeMounts

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

[]

compactor.extraVolumes

Дополнительные тома (Volume) для pod

[]

compactor.readinessProbe

Настройка параметров проверки готовности контейнера

{}

compactor.livenessProbe

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

{}

compactor.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

compactor.resources

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

{}

compactor.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

compactor.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

compactor.initContainers

Список init-контейнеров, запускаемых перед основными

[]

compactor.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

compactor.nodeSelector

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

{}

compactor.tolerations

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

[]

compactor.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать compactor.service.appProtocol.grpc)

""

compactor.persistence.enabled

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

false

compactor.persistence.type

Тип хранения для Compactor.
Возможные значения: pvc или ephemeral

pvc

compactor.persistence.storageClass

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

~

compactor.persistence.accessModes

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

- ReadWriteOnce

compactor.persistence.size

Запрашиваемый размер постоянного тома

10Gi

compactor.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

compactor.persistence.annotations

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

{}

compactor.persistence.labels

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

{}

compactor.persistence.selector

Селектор для сгенерированного volumeClaimTemplate

~

compactor.persistence.dataVolumeParameters.emptyDir

Параметры тома data (emptyDir), используемые при отключенных volumeClaim

{}

compactor.persistence.claims

Список PersistentVolumeClaim для Compactor (устаревший параметр, рекомендуется использовать persistence.dataVolumeParameters и persistence.size)

- name: data
  accessModes:
    - ReadWriteOnce
  size: 10Gi
  storageClass: null
  volumeAttributesClassName: null
  annotations: {}
  labels: {}

compactor.persistence.claims.name

Имя PersistentVolumeClaim

data

compactor.persistence.claims.accessModes

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

- ReadWriteOnce

compactor.persistence.claims.size

Запрашиваемый размер постоянного тома

10Gi

compactor.persistence.claims.storageClass

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

~

compactor.persistence.claims.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

compactor.persistence.claims.annotations

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

{}

compactor.persistence.claims.labels

Метки, добавляемые к PersistentVolumeClaim

{}

compactor.persistence.enableStatefulSetAutoDeletePVC

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

false

compactor.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Retain

compactor.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet

Retain

compactor.serviceAccount.create

Создание ServiceAccount

false

compactor.serviceAccount.name

Имя используемого ServiceAccount. Если не указано и create: true, имя генерируется автоматически (с суффиксом -compactor)

~

compactor.serviceAccount.imagePullSecrets

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

[]

compactor.serviceAccount.annotations

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

{}

compactor.serviceAccount.automountServiceAccountToken

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

true

bloomGateway – настройки компонента bloom-gateway для режима Distributed#

Параметр

Описание

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

bloomGateway.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

false

bloomGateway.kind

Тип развертывания BloomGateway.
Возможные значения: StatefulSet или Deployment

StatefulSet

bloomGateway.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet при изменении конфигурации

false

bloomGateway.replicas

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

0

bloomGateway.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

bloomGateway.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

bloomGateway.strategy.rollingUpdate.partition

Порядковый номер pod, с которого начинается обновление

0

bloomGateway.dnsConfig

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

{}

bloomGateway.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

bloomGateway.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

bloomGateway.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

bloomGateway.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

bloomGateway.priorityClassName

Имя PriorityClass для pod

~

bloomGateway.labels

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

{}

bloomGateway.annotations

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

{}

bloomGateway.podLabels

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

{}

bloomGateway.podAnnotations

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

{}

bloomGateway.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: bloom-gateway
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

bloomGateway.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать bloomGateway.service.labels)

{}

bloomGateway.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать bloomGateway.service.annotations)

{}

bloomGateway.service.annotations

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

{}

bloomGateway.service.labels

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

{}

bloomGateway.service.type

Тип Service

ClusterIP

bloomGateway.service.trafficDistribution

Политика распределения трафика Service

""

bloomGateway.service.sessionAffinity

Параметры сохранения сессии для Service

""

bloomGateway.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

bloomGateway.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

bloomGateway.service.ipFamilies

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

[]

bloomGateway.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

bloomGateway.extraArgs

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

[]

bloomGateway.extraEnv

Дополнительные переменные окружения

[]

bloomGateway.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

bloomGateway.extraVolumeMounts

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

[]

bloomGateway.extraVolumes

Дополнительные тома (Volume) для pod

[]

bloomGateway.readinessProbe

Настройка параметров проверки готовности контейнера

{}

bloomGateway.livenessProbe

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

{}

bloomGateway.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

bloomGateway.resources

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

{}

bloomGateway.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

bloomGateway.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

bloomGateway.initContainers

Список init-контейнеров, запускаемых перед основными

[]

bloomGateway.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

bloomGateway.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

bloomGateway.podDisruptionBudget.annotations

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

{}

bloomGateway.podDisruptionBudget.labels

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

{}

bloomGateway.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

bloomGateway.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

bloomGateway.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

bloomGateway.nodeSelector

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

{}

bloomGateway.tolerations

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

[]

bloomGateway.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать bloomGateway.service.appProtocol.grpc)

""

bloomGateway.podManagementPolicy

Политика управления жизненным циклом pod в StatefulSet

Parallel

bloomGateway.persistence.enabled

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

false

bloomGateway.persistence.annotations

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

{}

bloomGateway.persistence.labels

Метки, добавляемые к PersistentVolumeClaim

{}

bloomGateway.persistence.claims

Список PersistentVolumeClaim для BloomGateway

- name: data
  accessModes:
    - ReadWriteOnce
  size: 10Gi
  storageClass: null
  volumeAttributesClassName: null

bloomGateway.persistence.claims.name

Имя PersistentVolumeClaim

data

bloomGateway.persistence.claims.accessModes

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

- ReadWriteOnce

bloomGateway.persistence.claims.size

Запрашиваемый размер постоянного тома

10Gi

bloomGateway.persistence.claims.storageClass

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

~

bloomGateway.persistence.claims.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

bloomGateway.persistence.enableStatefulSetAutoDeletePVC

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

false

bloomGateway.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Retain

bloomGateway.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet

Retain

bloomGateway.serviceAccount.create

Создание ServiceAccount

false

bloomGateway.serviceAccount.name

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

~

bloomGateway.serviceAccount.imagePullSecrets

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

[]

bloomGateway.serviceAccount.annotations

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

{}

bloomGateway.serviceAccount.labels

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

{}

bloomGateway.serviceAccount.automountServiceAccountToken

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

true

bloomPlanner – настройки компонента bloom-planner для режима Distributed#

Параметр

Описание

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

bloomPlanner.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

false

bloomPlanner.kind

Тип развертывания BloomPlanner.
Возможные значения: StatefulSet или Deployment

StatefulSet

bloomPlanner.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet при изменении конфигурации

false

bloomPlanner.replicas

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

0

bloomPlanner.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

bloomPlanner.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

bloomPlanner.dnsConfig

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

{}

bloomPlanner.strategy.rollingUpdate.partition

Порядковый номер pod, с которого начинается обновление

0

bloomPlanner.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

bloomPlanner.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

bloomPlanner.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

bloomPlanner.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

bloomPlanner.priorityClassName

Имя PriorityClass для pod

~

bloomPlanner.labels

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

{}

bloomPlanner.annotations

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

{}

bloomPlanner.podLabels

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

{}

bloomPlanner.podAnnotations

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

{}

bloomPlanner.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: bloom-planner
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

bloomPlanner.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать bloomPlanner.service.labels)

{}

bloomPlanner.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать bloomPlanner.service.annotations)

{}

bloomPlanner.service.annotations

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

{}

bloomPlanner.service.labels

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

{}

bloomPlanner.service.type

Тип Service

ClusterIP

bloomPlanner.service.trafficDistribution

Политика распределения трафика Service

""

bloomPlanner.service.sessionAffinity

Параметры сохранения сессии для Service

""

bloomPlanner.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

bloomPlanner.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

bloomPlanner.service.ipFamilies

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

[]

bloomPlanner.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

bloomPlanner.extraArgs

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

[]

bloomPlanner.extraEnv

Дополнительные переменные окружения

[]

bloomPlanner.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

bloomPlanner.extraVolumeMounts

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

[]

bloomPlanner.extraVolumes

Дополнительные тома (Volume) для pod

[]

bloomPlanner.readinessProbe

Настройка параметров проверки готовности контейнера

{}

bloomPlanner.livenessProbe

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

{}

bloomPlanner.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

bloomPlanner.resources

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

{}

bloomPlanner.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

bloomPlanner.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

bloomPlanner.initContainers

Список init-контейнеров, запускаемых перед основными

[]

bloomPlanner.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

bloomPlanner.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

bloomPlanner.podDisruptionBudget.annotations

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

{}

bloomPlanner.podDisruptionBudget.labels

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

{}

bloomPlanner.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

bloomPlanner.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

bloomPlanner.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

bloomPlanner.nodeSelector

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

{}

bloomPlanner.tolerations

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

[]

bloomPlanner.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать bloomPlanner.service.appProtocol.grpc)

""

bloomPlanner.podManagementPolicy

Политика управления жизненным циклом pod в StatefulSet

Parallel

bloomPlanner.persistence.enabled

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

false

bloomPlanner.persistence.claims

Список PersistentVolumeClaim для BloomPlanner

- name: data
  accessModes:
    - ReadWriteOnce
  size: 10Gi
  storageClass: null
  volumeAttributesClassName: null
  annotations: {}
  labels: {}

bloomPlanner.persistence.claims.name

Имя PersistentVolumeClaim

data

bloomPlanner.persistence.claims.accessModes

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

- ReadWriteOnce

bloomPlanner.persistence.claims.size

Запрашиваемый размер постоянного тома

10Gi

bloomPlanner.persistence.claims.storageClass

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

~

bloomPlanner.persistence.claims.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

bloomPlanner.persistence.claims.annotations

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

{}

bloomPlanner.persistence.claims.labels

Метки, добавляемые к PersistentVolumeClaim

{}

bloomPlanner.persistence.enableStatefulSetAutoDeletePVC

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

false

bloomPlanner.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Retain

bloomPlanner.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet

Retain

bloomPlanner.serviceAccount.create

Создание ServiceAccount

false

bloomPlanner.serviceAccount.name

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

~

bloomPlanner.serviceAccount.imagePullSecrets

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

[]

bloomPlanner.serviceAccount.annotations

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

{}

bloomPlanner.serviceAccount.labels

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

{}

bloomPlanner.serviceAccount.automountServiceAccountToken

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

true

bloomBuilder – настройки компонента bloom-builder для режима Distributed#

Параметр

Описание

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

bloomBuilder.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

false

bloomBuilder.kind

Тип развертывания BloomBuilder.
Возможные значения: StatefulSet или Deployment

Deployment

bloomBuilder.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet при изменении конфигурации

false

bloomBuilder.replicas

Количество реплик BloomBuilder. Для управления внешним контроллером установите значение в null

0

bloomBuilder.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

bloomBuilder.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

bloomBuilder.dnsConfig

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

{}

bloomBuilder.autoscaling.enabled

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

false

bloomBuilder.autoscaling.minReplicas

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

1

bloomBuilder.autoscaling.maxReplicas

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

3

bloomBuilder.autoscaling.targetCPUUtilizationPercentage

Целевое значение средней утилизации CPU в процентах

60

bloomBuilder.autoscaling.targetMemoryUtilizationPercentage

Целевое значение средней утилизации памяти в процентах

~

bloomBuilder.autoscaling.customMetrics

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

- type: Pods
  metric:
    name: loki_query_rate
  target:
    type: AverageValue
    averageValue: 1k

[]

bloomBuilder.autoscaling.behavior.enabled

Включение настройки поведения автомасштабирования (behavior)

false

bloomBuilder.autoscaling.behavior.scaleDown

Настройки поведения при уменьшении количества реплик

{}

bloomBuilder.autoscaling.behavior.scaleUp

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

{}

bloomBuilder.kedaAutoscaling.enabled

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

false

bloomBuilder.kedaAutoscaling.pollingInterval

Частота проверки триггеров KEDA

~

bloomBuilder.kedaAutoscaling.minReplicas

Минимальное количество реплик для KEDA

1

bloomBuilder.kedaAutoscaling.maxReplicas

Максимальное количество реплик для KEDA

3

bloomBuilder.kedaAutoscaling.cooldownPeriod

Время ожидания перед масштабированием

~

bloomBuilder.kedaAutoscaling.fallback

Настройки резервного значения при ошибке KEDA

{}

bloomBuilder.kedaAutoscaling.behavior

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

{}

bloomBuilder.kedaAutoscaling.triggers

Список триггеров KEDA

[]

bloomBuilder.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

bloomBuilder.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

bloomBuilder.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

bloomBuilder.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

bloomBuilder.priorityClassName

Имя PriorityClass для pod

~

bloomBuilder.labels

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

{}

bloomBuilder.annotations

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

{}

bloomBuilder.podLabels

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

{}

bloomBuilder.podAnnotations

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

{}

bloomBuilder.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать bloomBuilder.service.labels)

{}

bloomBuilder.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать bloomBuilder.service.annotations)

{}

bloomBuilder.service.annotations

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

{}

bloomBuilder.service.labels

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

{}

bloomBuilder.service.type

Тип Service

ClusterIP

bloomBuilder.service.trafficDistribution

Политика распределения трафика Service

""

bloomBuilder.service.sessionAffinity

Параметры сохранения сессии для Service

""

bloomBuilder.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

bloomBuilder.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

bloomBuilder.service.ipFamilies

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

[]

bloomBuilder.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

bloomBuilder.extraArgs

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

[]

bloomBuilder.extraEnv

Дополнительные переменные окружения

[]

bloomBuilder.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

bloomBuilder.extraVolumeMounts

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

[]

bloomBuilder.extraVolumes

Дополнительные тома (Volume) для pod

[]

bloomBuilder.resources

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

{}

bloomBuilder.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

bloomBuilder.initContainers

Список init-контейнеров, запускаемых перед основными

[]

bloomBuilder.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

bloomBuilder.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

bloomBuilder.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

bloomBuilder.podDisruptionBudget.annotations

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

{}

bloomBuilder.podDisruptionBudget.labels

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

{}

bloomBuilder.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

bloomBuilder.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

bloomBuilder.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

bloomBuilder.affinity

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

podAntiAffinity:
  preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 100
      podAffinityTerm:
        labelSelector:
          matchLabels:
            app.kubernetes.io/component: bloom-builder
            app.kubernetes.io/name: '{{ include "loki.name" . }}'
            app.kubernetes.io/instance: '{{ .Release.Name }}'
        topologyKey: kubernetes.io/hostname

bloomBuilder.maxUnavailable

Максимальное количество недоступных pod при обновлении (устаревший параметр, рекомендуется использовать bloomBuilder.strategy.rollingUpdate.maxUnavailable)

~

bloomBuilder.nodeSelector

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

{}

bloomBuilder.tolerations

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

[]

bloomBuilder.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать bloomBuilder.service.appProtocol.grpc)

""

bloomBuilder.strategy.rollingUpdate.maxSurge

Максимальное количество дополнительных pod при обновлении

0

bloomBuilder.strategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных pod при обновлении

1

bloomBuilder.persistence.enabled

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

false

bloomBuilder.persistence.type

Тип хранения для BloomBuilder.
Возможные значения: pvc или ephemeral

ephemeral

bloomBuilder.persistence.accessModes

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

- ReadWriteOnce

bloomBuilder.persistence.size

Запрашиваемый размер сгенерированного volumeClaimTemplate

10Gi

bloomBuilder.persistence.storageClass

Имя StorageClass для сгенерированного volumeClaimTemplate

~

bloomBuilder.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для сгенерированного volumeClaimTemplate

~

bloomBuilder.persistence.selector

Селектор для сгенерированного volumeClaimTemplate

~

bloomBuilder.persistence.annotations

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

{}

bloomBuilder.persistence.labels

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

{}

bloomBuilder.serviceAccount.create

Создание ServiceAccount

false

bloomBuilder.serviceAccount.name

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

~

bloomBuilder.serviceAccount.imagePullSecrets

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

[]

bloomBuilder.serviceAccount.annotations

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

{}

bloomBuilder.serviceAccount.labels

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

{}

bloomBuilder.serviceAccount.automountServiceAccountToken

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

true

patternIngester – настройки компонента pattern-ingester для режима Distributed#

Параметр

Описание

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

patternIngester.enabled

Включение компонента. Требует, чтобы loki.deploymentMode был установлен в значение Distributed

false

patternIngester.kind

Тип развертывания PatternIngester.
Возможные значения: StatefulSet или Deployment

StatefulSet

patternIngester.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet (применимо при kind: StatefulSet)

false

patternIngester.replicas

Количество реплик PatternIngester. Для управления внешним контроллером установите значение null

0

patternIngester.strategy.rollingUpdate.partition

Порядковый номер pod, с которого начинается обновление

0

patternIngester.dnsConfig

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

{}

patternIngester.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

patternIngester.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

patternIngester.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

patternIngester.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

patternIngester.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

patternIngester.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

patternIngester.priorityClassName

Имя PriorityClass для pod

~

patternIngester.labels

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

{}

patternIngester.annotations

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

{}

patternIngester.podLabels

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

{}

patternIngester.podAnnotations

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

{}

patternIngester.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: pattern-ingester
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

patternIngester.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать patternIngester.podDisruptionBudget.maxUnavailable)

~

patternIngester.extraArgs

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

[]

patternIngester.extraEnv

Дополнительные переменные окружения

[]

patternIngester.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

patternIngester.extraVolumeMounts

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

[]

patternIngester.extraVolumes

Дополнительные тома (Volume) для pod

[]

patternIngester.readinessProbe

Настройка параметров проверки готовности контейнера. Если не задано, используется loki.readinessProbe

{}

patternIngester.livenessProbe

Настройка параметров проверки работоспособности контейнера. Если не задано, используется loki.livenessProbe

{}

patternIngester.startupProbe

Настройка проверки успешного запуска внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются

{}

patternIngester.resources

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

{}

patternIngester.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

patternIngester.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

patternIngester.initContainers

Список init-контейнеров, запускаемых перед основными

[]

patternIngester.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

patternIngester.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

patternIngester.podDisruptionBudget.annotations

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

{}

patternIngester.podDisruptionBudget.labels

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

{}

patternIngester.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

patternIngester.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

patternIngester.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

patternIngester.nodeSelector

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

{}

patternIngester.topologySpreadConstraints

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

[]

patternIngester.tolerations

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

[]

patternIngester.appProtocol.grpc

Протокол приложения для gRPC-порта Service

""

patternIngester.persistence.enabled

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

false

patternIngester.persistence.size

Запрашиваемый размер постоянного тома

10Gi

patternIngester.persistence.storageClass

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

~

patternIngester.persistence.claims

Список PersistentVolumeClaim для PatternIngester

- name: data
  accessModes:
    - ReadWriteOnce
  size: 10Gi
  storageClass: null
  volumeAttributesClassName: null
  annotations: {}
  labels: {}

patternIngester.persistence.claims.name

Имя PersistentVolumeClaim

data

patternIngester.persistence.claims.accessModes

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

- ReadWriteOnce

patternIngester.persistence.claims.size

Запрашиваемый размер постоянного тома

10Gi

patternIngester.persistence.claims.storageClass

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

~

patternIngester.persistence.claims.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

patternIngester.persistence.claims.annotations

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

{}

patternIngester.persistence.claims.labels

Метки, добавляемые к PersistentVolumeClaim

{}

patternIngester.persistence.enableStatefulSetAutoDeletePVC

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

false

patternIngester.persistence.whenDeleted

Поведение PersistentVolumeClaim при удалении StatefulSet

Retain

patternIngester.persistence.whenScaled

Поведение PersistentVolumeClaim при уменьшении количества реплик StatefulSet

Retain

patternIngester.serviceAccount.create

Создание ServiceAccount

false

patternIngester.serviceAccount.name

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

~

patternIngester.serviceAccount.imagePullSecrets

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

[]

patternIngester.serviceAccount.annotations

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

{}

patternIngester.serviceAccount.labels

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

{}

patternIngester.serviceAccount.automountServiceAccountToken

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

true

ruler – настройки компонента ruler#

Параметр

Описание

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

ruler.enabled

Включение компонента Ruler (опционально)

true

ruler.kind

Тип развертывания Ruler.
Возможные значения: StatefulSet или Deployment

StatefulSet

ruler.statefulSetRecreateJob.enabled

Включение создания Job для пересоздания StatefulSet (применимо при ruler.kind: StatefulSet)

false

ruler.sidecar

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

false

ruler.replicas

Количество реплик Ruler. Для управления внешним контроллером установите значение null

0

ruler.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

ruler.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

ruler.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

ruler.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

ruler.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

ruler.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

ruler.priorityClassName

Имя PriorityClass для pod

~

ruler.labels

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

{}

ruler.annotations

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

{}

ruler.podLabels

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

{}

ruler.podAnnotations

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

{}

ruler.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать ruler.service.labels)

{}

ruler.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать ruler.service.annotations)

{}

ruler.service.annotations

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

{}

ruler.service.labels

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

{}

ruler.service.type

Тип Service

ClusterIP

ruler.service.trafficDistribution

Политика распределения трафика Service

""

ruler.service.sessionAffinity

Параметры сохранения сессии для Service

""

ruler.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

ruler.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

ruler.service.ipFamilies

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

[]

ruler.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service (позволяет Ruler работать с выбором протокола Istio)

""

ruler.extraArgs

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

[]

ruler.extraEnv

Дополнительные переменные окружения

[]

ruler.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

ruler.extraVolumeMounts

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

[]

ruler.extraVolumes

Дополнительные тома (Volume) для pod

[]

ruler.resources

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

{}

ruler.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

ruler.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

ruler.initContainers

Список init-контейнеров, запускаемых перед основными

[]

ruler.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

300

ruler.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

ruler.podDisruptionBudget.annotations

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

{}

ruler.podDisruptionBudget.labels

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

{}

ruler.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

ruler.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

ruler.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

ruler.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: ruler
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

ruler.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать ruler.podDisruptionBudget.maxUnavailable)

~

ruler.nodeSelector

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

{}

ruler.topologySpreadConstraints

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

[]

ruler.tolerations

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

[]

ruler.dnsConfig

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

{}

ruler.persistence.enabled

Включение создания постоянного хранилища PersistentVolumeClaim (обязательно при использовании recording rules)

false

ruler.persistence.accessModes

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

- ReadWriteOnce

ruler.persistence.size

Запрашиваемый размер постоянного тома

10Gi

ruler.persistence.storageClass

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

~

ruler.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

ruler.persistence.annotations

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

{}

ruler.persistence.labels

Метки, добавляемые к PersistentVolumeClaim

{}

ruler.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать ruler.service.appProtocol)

""

ruler.directories

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

tenant_foo:
  rules1.txt: |
    groups:
      - name: should_fire
        rules:
          - alert: HighPercentageError
            expr: |
              sum(rate({app="foo", env="production"} |= "error" [5m])) by (job)
                /
              sum(rate({app="foo", env="production"}[5m])) by (job)
                > 0.05
            for: 10m
            labels:
              severity: warning
            annotations:
              summary: High error rate

{}

ruler.serviceAccount.create

Создание ServiceAccount

false

ruler.serviceAccount.name

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

~

ruler.serviceAccount.imagePullSecrets

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

[]

ruler.serviceAccount.annotations

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

{}

ruler.serviceAccount.labels

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

{}

ruler.serviceAccount.automountServiceAccountToken

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

true

overridesExporter – настройки компонента overrides-exporter#

Параметр

Описание

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

overridesExporter.enabled

Включение компонента OverridesExporter. Опциональный компонент, может быть отключен при необходимости

false

overridesExporter.kind

Тип развертывания OverridesExporter.
Возможные значения: StatefulSet или Deployment

Deployment

overridesExporter.replicas

Количество реплик OverridesExporter. Для управления внешним контроллером установите значение в null

0

overridesExporter.dnsConfig

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

{}

overridesExporter.hostAliases

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

[]

overridesExporter.hostUsers

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

- ip: 1.2.3.4
  hostnames:
    - domain.tld

~

overridesExporter.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

overridesExporter.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

overridesExporter.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

overridesExporter.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

overridesExporter.priorityClassName

Имя PriorityClass для pod

~

overridesExporter.labels

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

{}

overridesExporter.annotations

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

{}

overridesExporter.podLabels

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

{}

overridesExporter.podAnnotations

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

{}

overridesExporter.serviceLabels

Метки Service (устаревший параметр, рекомендуется использовать overridesExporter.service.labels)

{}

overridesExporter.serviceAnnotations

Аннотации Service (устаревший параметр, рекомендуется использовать overridesExporter.service.annotations)

{}

overridesExporter.service.annotations

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

{}

overridesExporter.service.labels

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

{}

overridesExporter.service.type

Тип Service

ClusterIP

overridesExporter.service.trafficDistribution

Политика распределения трафика Service

""

overridesExporter.service.sessionAffinity

Параметры сохранения сессии для Service

""

overridesExporter.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

overridesExporter.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

overridesExporter.service.ipFamilies

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

[]

overridesExporter.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service (позволяет работать с выбором протокола Istio)

""

overridesExporter.extraArgs

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

[]

overridesExporter.extraEnv

Дополнительные переменные окружения

[]

overridesExporter.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

overridesExporter.extraVolumeMounts

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

[]

overridesExporter.extraVolumes

Дополнительные тома (Volume) для pod

[]

overridesExporter.resources

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

{}

overridesExporter.resizePolicy

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

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

overridesExporter.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

overridesExporter.initContainers

Список init-контейнеров, запускаемых перед основными

[]

overridesExporter.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

300

overridesExporter.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

overridesExporter.podDisruptionBudget.annotations

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

{}

overridesExporter.podDisruptionBudget.labels

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

{}

overridesExporter.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

overridesExporter.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

overridesExporter.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

overridesExporter.affinity

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

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: overrides-exporter
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

overridesExporter.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать overridesExporter.podDisruptionBudget.maxUnavailable)

~

overridesExporter.nodeSelector

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

{}

overridesExporter.topologySpreadConstraints

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

[]

overridesExporter.tolerations

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

[]

overridesExporter.appProtocol.grpc

Протокол приложения для gRPC-порта Service (устаревший параметр, рекомендуется использовать overridesExporter.service.appProtocol)

""

overridesExporter.serviceAccount.create

Создание ServiceAccount

false

overridesExporter.serviceAccount.name

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

~

overridesExporter.serviceAccount.imagePullSecrets

Список Secret для загрузки образа контейнера из приватных реестров

[]

overridesExporter.serviceAccount.annotations

Аннотации, добавляемые к создаваемым ресурсам

{}

overridesExporter.serviceAccount.labels

Метки, добавляемые к создаваемым ресурсам

{}

overridesExporter.serviceAccount.automountServiceAccountToken

Автоматическое монтирование токена в ServiceAccount

true

memcached – настройки встроенного сервера memcached#

Параметр

Описание

Значение по умолчанию

memcached.enabled

Включение встроенного сервера memcached из чарта. При отключении можно указать иной адрес

false

memcached.image.repository

Репозиторий контейнерного образа memcached

memcached

memcached.image.tag

Тег контейнерного образа memcached

1.6.45-alpine

memcached.image.pullPolicy

Политика загрузки образа

IfNotPresent

memcached.podSecurityContext

Параметры SecurityContext для pod

runAsNonRoot: true
runAsUser: 11211
runAsGroup: 11211
fsGroup: 11211
seccompProfile:
  type: RuntimeDefault

memcached.priorityClassName

Имя PriorityClass для pod

~

memcached.containerSecurityContext

Параметры SecurityContext для контейнера

readOnlyRootFilesystem: true
capabilities:
  drop: [ALL]
allowPrivilegeEscalation: false
runAsNonRoot: true
seccompProfile:
  type: RuntimeDefault

memcached.readinessProbe

Настройка параметров проверки готовности контейнера. Порт по умолчанию равен порту контейнера

tcpSocket:
  port: client
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 6

memcached.livenessProbe

Настройка параметров проверки работоспособности контейнера

tcpSocket:
  port: client
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3

memcached.startupProbe

Настройка проверки успешного запуска внутри контейнера

{}

memcached.serviceAccount.create

Создание ServiceAccount

true

memcached.serviceAccount.name

Имя используемого ServiceAccount. Если не указано и create: true, имя генерируется автоматически

~

memcached.serviceAccount.imagePullSecrets

Список Secret для загрузки образа контейнера из приватных реестров

[]

memcached.serviceAccount.annotations

Аннотации, добавляемые к создаваемым ресурсам

{}

memcached.serviceAccount.labels

Метки, добавляемые к создаваемым ресурсам

{}

memcached.serviceAccount.automountServiceAccountToken

Автоматическое монтирование токена в ServiceAccount

false

memcachedExporter – настройки экспортера метрик memcached#

Параметр

Описание

Значение по умолчанию

memcachedExporter.enabled

Включение экспорта метрик memcached

false

memcachedExporter.image.repository

Репозиторий контейнерного образа экспортера

prom/memcached-exporter

memcachedExporter.image.tag

Тег контейнерного образа экспортера

v0.16.0

memcachedExporter.image.pullPolicy

Политика загрузки образа

IfNotPresent

memcachedExporter.resources

Запросы и ограничения ресурсов

requests: {}
limits: {}

memcachedExporter.resizePolicy

Политика изменения размера ресурсов контейнера.
Пример конфигурации:

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

memcachedExporter.containerSecurityContext

Параметры SecurityContext для контейнера

readOnlyRootFilesystem: true
capabilities:
  drop: [ALL]
allowPrivilegeEscalation: false
runAsNonRoot: true
seccompProfile:
  type: RuntimeDefault

memcachedExporter.extraArgs

Дополнительные аргументы для контейнера-экспортера.
Пример конфигурации:

memcached.tls.enable: true
memcached.tls.cert-file: /certs/cert.crt
memcached.tls.key-file: /certs/cert.key
memcached.tls.ca-file: /certs/ca.crt
memcached.tls.insecure-skip-verify: false
memcached.tls.server-name: memcached

{}

memcachedExporter.livenessProbe

Настройка параметров проверки работоспособности контейнера

httpGet:
  path: /metrics
  port: http-metrics
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3

memcachedExporter.readinessProbe

Настройка параметров проверки готовности контейнера

httpGet:
  path: /metrics
  port: http-metrics
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 3

memcachedExporter.startupProbe

Настройка проверки успешного запуска внутри контейнера

{}

resultsCache – настройки кеша результатов на основе memcached#

Параметр

Описание

Значение по умолчанию

resultsCache.enabled

Включение кеша результатов на основе memcached

true

resultsCache.addresses

Список адресов в формате DNS Service Discovery

dnssrvnoa+_memcached-client._tcp.{{ include "loki.resourceName" (dict "ctx" $ "component" "results-cache") }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}

resultsCache.defaultValidity

Срок хранения кешированных результатов перед истечением срока действия

12h

resultsCache.timeout

Тайм-аут операций memcached

500ms

resultsCache.replicas

Общее количество реплик кеша результатов

1

resultsCache.port

Порт Service кеша результатов

11211

resultsCache.allocatedMemory

Объем памяти, выделенный для хранения объектов (в МБ)

1024

resultsCache.allocatedCPU

Выделенный CPU

500m

resultsCache.maxItemMemory

Максимальный размер элемента в memcached (в МБ)

5

resultsCache.connectionLimit

Максимальное количество разрешенных подключений

16384

resultsCache.writebackSizeLimit

Максимальный объем памяти для обратной записи кеша

500MB

resultsCache.writebackBuffer

Максимальное количество объектов для обратной записи кеша

500000

resultsCache.writebackParallelism

Количество параллельных потоков для обратной записи кеша

1

resultsCache.initContainers

Дополнительные init-контейнеры

[]

resultsCache.annotations

Аннотации, добавляемые к pod

{}

resultsCache.nodeSelector

Селектор узлов для планирования pod

{}

resultsCache.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам

{}

resultsCache.topologySpreadConstraints

Ограничения распределения по топологии для pod

[]

resultsCache.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

resultsCache.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать resultsCache.podDisruptionBudget.maxUnavailable)

1

resultsCache.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

resultsCache.podDisruptionBudget.annotations

Аннотации, добавляемые к создаваемым ресурсам

{}

resultsCache.podDisruptionBudget.labels

Метки, добавляемые к создаваемым ресурсам

{}

resultsCache.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

resultsCache.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

resultsCache.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

resultsCache.dnsConfig

Пользовательская конфигурация DNS

{}

resultsCache.priorityClassName

Имя PriorityClass для pod

~

resultsCache.hostUsers

Использование пространства имен пользователей узла

~

resultsCache.podLabels

Метки, добавляемые непосредственно к pod

{}

resultsCache.podAnnotations

Аннотации, добавляемые непосредственно к pod

{}

resultsCache.podManagementPolicy

Политика управления pod

Parallel

resultsCache.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

60

resultsCache.statefulStrategy.type

Стратегия обновления StatefulSet

RollingUpdate

resultsCache.extraExtendedOptions

Дополнительные расширенные опции для контейнера memcached (формат флага -o/--extend).
Пример конфигурации: tls,modern,track_sizes

""

resultsCache.extraArgs

Дополнительные аргументы командной строки

{}

resultsCache.extraContainers

Дополнительные контейнеры

[]

resultsCache.extraVolumes

Дополнительные тома (Volume) (применяется к контейнерам memcached и экспортера).
Пример конфигурации:

- name: extra-volume
  secret:
    secretName: extra-volume-secret

[]

resultsCache.extraVolumeMounts

ДСписок дополнительных точек монтирования томов (VolumeMounts) в контейнере.
Пример конфигурации:

- name: extra-volume
  mountPath: /etc/extra-volume
  readOnly: true

[]

resultsCache.resources

Запросы и ограничения ресурсов

{}

resultsCache.resizePolicy

Политика изменения размера ресурсов контейнера.
Пример конфигурации:

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

resultsCache.service.annotations

Аннотации, добавляемые к ресурсу Service

{}

resultsCache.service.labels

Метки, добавляемые к ресурсу Service

{}

resultsCache.persistence.enabled

Включение создания поятоянного хранилища PersistentVolumeClaim

false

resultsCache.persistence.storageSize

Размер постоянного диска

10G

resultsCache.persistence.storageClass

Имя StorageClass для динамического выделения постоянного тома

~

resultsCache.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

resultsCache.persistence.mountPath

Точка монтирования тома

/data

resultsCache.persistence.labels

Дополнительные метки PersistentVolumeClaim

{}

chunksCache – настройки кеша чанков на основе memcached#

Параметр

Описание

Значение по умолчанию

chunksCache.suffix

Суффикс, добавляемый к имени ресурсов для различения l1 и l2

""

chunksCache.enabled

Включение кеша чанков на основе memcached

true

chunksCache.addresses

Список адресов в формате DNS Service Discovery

dnssrvnoa+_memcached-client._tcp.{{ include "loki.resourceName" (dict "ctx" $ "component" "chunks-cache" "suffix" $.Values.chunksCache.suffix ) }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}

chunksCache.batchSize

Размер batch для отправки и получения чанков из кеша

4

chunksCache.parallelism

Количество параллельных потоков для отправки и получения чанков из кеша

5

chunksCache.timeout

Тайм-аут операций memcached

2000ms

chunksCache.defaultValidity

Срок хранения кешированных чанков перед истечением срока действия

0s

chunksCache.replicas

Общее количество реплик кеша чанков

1

chunksCache.port

Порт Service кеша чанков

11211

chunksCache.allocatedMemory

Объем памяти, выделенный для хранения объектов (в МБ)

8192

chunksCache.allocatedCPU

Выделенный CPU

500m

chunksCache.maxItemMemory

Максимальный размер элемента (в МБ)

5

chunksCache.connectionLimit

Максимальное количество разрешенных подключений

16384

chunksCache.writebackSizeLimit

Максимальный объем памяти для обратной записи кеша

500MB

chunksCache.writebackBuffer

Максимальное количество объектов для обратной записи кеша

500000

chunksCache.writebackParallelism

Количество параллельных потоков для обратной записи кеша

1

chunksCache.initContainers

Дополнительные init-контейнеры

[]

chunksCache.annotations

Аннотации, добавляемые к pod

{}

chunksCache.nodeSelector

Селектор узлов для планирования pod

{}

chunksCache.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам

{}

chunksCache.topologySpreadConstraints

Ограничения распределения по топологии для pod

[]

chunksCache.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

chunksCache.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать chunksCache.podDisruptionBudget.maxUnavailable)

1

chunksCache.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

chunksCache.podDisruptionBudget.annotations

Аннотации, добавляемые к создаваемым ресурсам

{}

chunksCache.podDisruptionBudget.labels

Метки, добавляемые к создаваемым ресурсам

{}

chunksCache.podDisruptionBudget.minAvailable

Минимальное количество pod, которые должны оставаться доступными после eviction

~

chunksCache.podDisruptionBudget.maxUnavailable

Максимальное количество pod, которые могут быть недоступны после eviction

~

chunksCache.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика вытеснения (eviction) для неработоспособных pod

~

chunksCache.dnsConfig

Пользовательская конфигурация DNS

{}

chunksCache.priorityClassName

Имя PriorityClass для pod

~

chunksCache.hostUsers

Использование пространства имен пользователей узла

~

chunksCache.podLabels

Метки, добавляемые непосредственно к pod

{}

chunksCache.podAnnotations

Аннотации, добавляемые непосредственно к pod

{}

chunksCache.podManagementPolicy

Политика управления pod

Parallel

chunksCache.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

60

chunksCache.statefulStrategy.type

Стратегия обновления StatefulSet

RollingUpdate

chunksCache.extraExtendedOptions

Дополнительные расширенные опции для контейнера memcached (формат флага -o/--extend).
Пример конфигурации: tls,no_hashexpand

""

chunksCache.extraArgs

Дополнительные аргументы командной строки

{}

chunksCache.extraContainers

Дополнительные контейнеры

[]

chunksCache.extraVolumes

Дополнительные тома (применяется к контейнерам memcached и экспортера).
Пример конфигурации:

- name: extra-volume
  secret:
    secretName: extra-volume-secret

[]

chunksCache.extraVolumeMounts

Дополнительные точки монтирования (применяется к контейнерам memcached и экспортера).
Пример конфигурации:

- name: extra-volume
  mountPath: /etc/extra-volume
  readOnly: true

[]

chunksCache.resources

Запросы и ограничения ресурсов

{}

chunksCache.resizePolicy

Политика изменения размера ресурсов контейнера.
Пример конфигурации:

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

chunksCache.service.annotations

Аннотации, добавляемые к ресурсу Service

{}

chunksCache.service.labels

Метки, добавляемые к ресурсу Service

{}

chunksCache.persistence.enabled

Включение создания постоянного хранилища PersistentVolumeClaim

false

chunksCache.persistence.storageSize

Размер постоянного диска (в G или Gi)

10G

chunksCache.persistence.storageClass

Имя StorageClass для динамического выделения постоянного тома

~

chunksCache.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

chunksCache.persistence.mountPath

Точка монтирования тома

/data

chunksCache.persistence.labels

Дополнительные метки PersistentVolumeClaim

{}

chunksCache.l2.suffix

Суффикс, добавляемый к имени ресурсов для l2

l2

chunksCache.l2.l2ChunkCacheHandoff

Возраст чанков, после которого они переносятся из l1 кеша в l2

345600s

chunksCache.l2.enabled

Включение кеша чанков l2 на основе memcached

false

chunksCache.l2.addresses

Список адресов в формате DNS Service Discovery

dnssrvnoa+_memcached-client._tcp.{{ include "loki.resourceName" (dict "ctx" $ "component" "chunks-cache" "suffix" $.Values.chunksCache.l2.suffix ) }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}

chunksCache.l2.batchSize

Размер batch для отправки и получения чанков из кеша

4

chunksCache.l2.parallelism

Количество параллельных потоков для отправки и получения чанков из кеша

5

chunksCache.l2.timeout

Тайм-аут операций memcached

2000ms

chunksCache.l2.defaultValidity

Срок хранения кешированных чанков перед истечением срока действия

0s

chunksCache.l2.replicas

Общее количество реплик кеша чанков l2

1

chunksCache.l2.port

Порт Service кеша чанков l2

11211

chunksCache.l2.allocatedMemory

Объем памяти, выделенный для хранения объектов (в МБ)

8192

chunksCache.l2.allocatedCPU

Выделенный CPU

500m

chunksCache.l2.maxItemMemory

Максимальный размер элемента (в МБ)

5

chunksCache.l2.connectionLimit

Максимальное количество разрешенных подключений

16384

chunksCache.l2.writebackSizeLimit

Максимальный объем памяти для обратной записи кеша

500MB

chunksCache.l2.writebackBuffer

Максимальное количество объектов для обратной записи кеша

500000

chunksCache.l2.writebackParallelism

Количество параллельных потоков для обратной записи кеша

1

chunksCache.l2.initContainers

Дополнительные init-контейнеры

[]

chunksCache.l2.annotations

Аннотации, добавляемые к pod

{}

chunksCache.l2.nodeSelector

Селектор узлов для планирования pod

{}

chunksCache.l2.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам

{}

chunksCache.l2.topologySpreadConstraints

Ограничения распределения по топологии для pod

[]

chunksCache.l2.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

chunksCache.l2.maxUnavailable

Максимальное количество недоступных pod (устаревший параметр, рекомендуется использовать chunksCache.l2.podDisruptionBudget.maxUnavailable)

1

chunksCache.l2.podDisruptionBudget.enabled

Включение создания ресурса PodDisruptionBudget

true

chunksCache.l2.podDisruptionBudget.annotations

Аннотации, добавляемые к создаваемым ресурсам

{}

chunksCache.l2.podDisruptionBudget.labels

Метки, добавляемые к создаваемым ресурсам

{}

chunksCache.l2.dnsConfig

Пользовательская конфигурация DNS

{}

chunksCache.l2.priorityClassName

Имя PriorityClass для pod

~

chunksCache.l2.hostUsers

Использование пространства имен пользователей узла

~

chunksCache.l2.podLabels

Метки, добавляемые непосредственно к pod

{}

chunksCache.l2.podAnnotations

Аннотации, добавляемые непосредственно к pod

{}

chunksCache.l2.podManagementPolicy

Политика управления pod

Parallel

chunksCache.l2.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

60

chunksCache.l2.statefulStrategy.type

Стратегия обновления StatefulSet

RollingUpdate

chunksCache.l2.extraExtendedOptions

Дополнительные расширенные опции для контейнера memcached (формат флага -o/--extend).
Пример конфигурации: tls,no_hashexpand

""

chunksCache.l2.extraArgs

Дополнительные аргументы командной строки

{}

chunksCache.l2.extraContainers

Дополнительные контейнеры

[]

chunksCache.l2.extraVolumes

Дополнительные тома (Volume).
Пример конфигурации:

- name: extra-volume
  secret:
    secretName: extra-volume-secret

[]

chunksCache.l2.extraVolumeMounts

Список дополнительных точек монтирования томов (VolumeMounts) в контейнере.
Пример конфигурации:

- name: extra-volume
  mountPath: /etc/extra-volume
  readOnly: true

[]

chunksCache.l2.resources

Запросы и ограничения ресурсов

{}

chunksCache.l2.resizePolicy

Политика изменения размера ресурсов контейнера.
Пример конфигурации:

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

chunksCache.l2.service.annotations

Аннотации, добавляемые к ресурсу Service

{}

chunksCache.l2.service.labels

Метки, добавляемые к ресурсу Service

{}

chunksCache.l2.persistence.enabled

Включение создания PersistentVolumeClaim

false

chunksCache.l2.persistence.storageSize

Размер постоянного диска

10G

chunksCache.l2.persistence.storageClass

Имя StorageClass для динамического выделения постоянного тома

~

chunksCache.l2.persistence.volumeAttributesClassName

Имя VolumeAttributesClass для выделения постоянного тома

~

chunksCache.l2.persistence.mountPath

Точка монтирования тома

/data

chunksCache.l2.persistence.labels

Дополнительные метки PersistentVolumeClaim

{}

rollout_operator – настройки подчарта Grafana Rollout Operator#

Параметр

Описание

Значение по умолчанию

rollout_operator.enabled

Включение подчарта Grafana Rollout Operator

false

rollout_operator.podSecurityContext

Параметры SecurityContext для pod. При установке на OpenShift необходимо переопределить настройки (например, fsGroup, runAsGroup, runAsUser)

fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001
seccompProfile:
  type: RuntimeDefault

rollout_operator.securityContext

Параметры SecurityContext для контейнера

readOnlyRootFilesystem: true
capabilities:
  drop: [ALL]
allowPrivilegeEscalation: false
runAsNonRoot: true
seccompProfile:
  type: RuntimeDefault

rollout_operator.webhooks.enabled

Включение вебхуков rollout-operator. Требует пользовательских ресурсных определений; при обновлении необходимо вручную применить файлы из каталога crds

true

rollout_operator.webhooks.timeoutSeconds

Тайм-аут (в секундах) для «мутирующего» Webhook prepare-downscale. Должен быть между 1 и 30

10

rollout_operator.webhooks.failurePolicy

Политика при сбое валидирующего или «мутирующего» Webhook.
Возможные значения: Ignore или Fail

Ignore

ignoreMinioDeprecation – настройка игнорирования депрекации MinIO#

Параметр

Описание

Значение по умолчанию

ignoreMinioDeprecation

Игнорирование валидации депрекации MinIO при minio.enabled=true. Временный механизм обеспечения совместимости

false

minio – настройки подчарта MinIO (устаревший параметр)#

Параметр

Описание

Значение по умолчанию

minio.enabled

Включение подчарта MinIO (устаревший параметр)

false

minio.replicas

Количество реплик

1

minio.drivesPerNode

Количество дисков на узел

2

minio.rootUser

Имя пользователя с административными полномочиями

root-user

minio.rootPassword

Пароль пользователя с административными полномочиями

supersecretpassword

minio.users

Список пользователей. Первый пользователь используется для аутентификации Loki (accessKey = имя пользователя, secretKey = пароль)

- accessKey: logs-user
  secretKey: <supersecretpassword>
  policy: readwrite

minio.buckets

Список бакетов

- name: chunks
  policy: none
  purge: false
- name: ruler
  policy: none
  purge: false

minio.persistence.size

Размер постоянного тома

5Gi

minio.persistence.annotations

Аннотации, добавляемые к PersistentVolumeClaim

{}

minio.resources

Запросы и ограничения ресурсов

requests:
  cpu: 100m
  memory: 128Mi

minio.address

Адрес, по которому Loki обращается к MinIO (можно переопределить)

~

extraObjects – дополнительные объекты Helm-чарта#

Параметр

Описание

Значение по умолчанию

extraObjects

Добавление дополнительных динамических объектов в Helm-чарте.
Пример конфигурации:

- apiVersion: v1
  kind: ConfigMap
  metadata:
    name: loki-alerting-rules
  data:
    loki-alerting-rules.yaml: |-
      groups:
        - name: example
          rules:
          - alert: example
            expr: |
              sum(count_over_time({app="loki"} |~ "error")) > 0
            for: 3m
            labels:
              severity: warning
              category: logs
            annotations:
              message: "loki has encountered errors"

~

sidecar – настройки sidecar-контейнера для импорта правил#

Параметр

Описание

Значение по умолчанию

sidecar.image.registry

Адрес реестра контейнерных образов

docker.io

sidecar.image.repository

Репозиторий и образ sidecar-контейнера

kiwigrid/k8s-sidecar

sidecar.image.tag

Тег контейнерного образа

2.8.1

sidecar.image.sha

SHA контейнерного образа

""

sidecar.image.pullPolicy

Политика загрузки образа

IfNotPresent

sidecar.resources

Запросы и ограничения ресурсов

{}

sidecar.resizePolicy

Политика изменения размера ресурсов контейнера.
Пример конфигурации:

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

sidecar.securityContext

Параметры SecurityContext для контейнера

readOnlyRootFilesystem: true
capabilities:
  drop:
    - ALL
allowPrivilegeEscalation: false
seccompProfile:
  type: RuntimeDefault

sidecar.skipTlsVerify

Пропуск TLS-проверки для вызовов kube API

false

sidecar.disableX509StrictVerification

Отключение строгой x509-проверки для вызовов kube API

false

sidecar.enableUniqueFilenames

Уникальные префиксы для namespace

false

sidecar.readinessProbe

Настройка параметров проверки готовности контейнера

enabled: true
httpGet:
  path: /healthz
  port: http-sidecar
periodSeconds: 10
initialDelaySeconds: 3
successThreshold: 1
failureThreshold: 3
timeoutSeconds: 1

sidecar.livenessProbe

Настройка параметров проверки работоспособности контейнера

enabled: true
httpGet:
  path: /healthz
  port: http-sidecar
periodSeconds: 30
initialDelaySeconds: 30
successThreshold: 1
failureThreshold: 3
timeoutSeconds: 1

sidecar.startupProbe

Настройка параметров проверки запуска приложения внутри контейнера

enabled: false

sidecar.rules.enabled

Включение sidecar-контейнера для импорта правил из конкретных ConfigMap и/или Secret

false

sidecar.rules.label

Метка, которой помечаются ConfigMap/Secret с правилами

loki_rule

sidecar.rules.labelValue

Значение метки для ConfigMap/Secret с правилами

""

sidecar.rules.folder

Каталог размещения правил

/rules

sidecar.rules.folderAnnotation

Аннотация, переопределяющая значение folder

~

sidecar.rules.searchNamespace

Список пространств имен через запятую для поиска. Если указано, то sidecar-контейнер будет искать ConfigMap/Secret в этом пространсте имен, иначе используется пространство имен sidecar-контейнера. Можно указать ALL для поиска во всех пространствах имен

~

sidecar.rules.watchMethod

Метод обнаружения изменений ConfigMap.
Возможные значения: WATCH, SLEEP

WATCH

sidecar.rules.resource

Поиск в ConfigMap или Secret

both

sidecar.rules.script

Абсолютный путь к shell-скрипту, выполняемому после перезагрузки ConfigMap/Secret

~

sidecar.rules.watchServerTimeout

Отправка запроса к серверу для корректного закрытия соединение после этого времени

60

sidecar.rules.watchClientTimeout

Пользовательский тайм-аут, настраивающий локальный сокет

60

sidecar.rules.logLevel

Уровень логирования sidecar-контейнера

INFO

sidecar.rules.healthPort

Порт health-сервера sidecar-контейнера

8080

monitoring – настройки мониторинга Loki#

Параметр

Описание

Значение по умолчанию

monitoring.namespace

Альтернативное пространство имен для развертывания всех ресурсов мониторинга (ServiceMonitor, PrometheusRule, ConfigMap с дашбордами)

~

monitoring.appInstanceLabelName

Имя метки, которая будет добавляться во все собираемые метрики, правила записи (recording rules) и оповещения

app_instance

monitoring.appInstanceLabelValue

Значение метки app_instance, которая будет добавляться во все собираемые метрики, правила записи (recording rules) и оповещения. Поддерживает Helm-шаблонизацию

{{ include "loki.fullname" . }}

monitoring.multiCluster.enabled

Включение переменной cluster в дашборде. Если также задан clusterName, чарт добавляет метки cluster в собираемые метрики, правила записи и оповещения. Если clusterName пуст, применяются только изменения дашборда

false

monitoring.multiCluster.clusterName

Значение метки cluster. Поддерживает Helm-шаблонизацию

""

monitoring.dashboards.enabled

Создание ConfigMap с дашбордом для мониторинга Loki

false

monitoring.dashboards.annotations

Дополнительные аннотации для ConfigMap с дашбордом

{}

monitoring.dashboards.labels

Метки для ConfigMap с дашбордом

grafana_dashboard: "1"

monitoring.dashboards.defaultdashboardsTimezone

Часовой пояс для дашборда по умолчанию

utc

monitoring.dashboards.defaultdashboardsEditable

Флаг редактируемости дашборда по умолчанию

true

monitoring.dashboards.defaultdashboardsInterval

Интервал по умолчанию для дашборда Grafana

1m

monitoring.dashboards.grafanaOperator.enabled

Создание ресурсов Grafana Operator для развертывания дашборда

false

monitoring.dashboards.grafanaOperator.annotations

Дополнительные аннотации для ресурсов Grafana Operator

{}

monitoring.dashboards.grafanaOperator.labels

Дополнительные метки для ресурсов Grafana Operator

{}

monitoring.dashboards.grafanaOperator.resyncPeriod

Частота синхронизации ресурсов оператором (в формате duration)

10m

monitoring.dashboards.grafanaOperator.folder

Каталог в Grafana, содержащий все дашборды

General

monitoring.dashboards.grafanaOperator.folderUID

UID целевого каталога, содержащего все дашборды в Grafana

~

monitoring.dashboards.grafanaOperator.folderRef

Ссылка GrafanaFolder, содержащая все дашборды в Grafana

~

monitoring.dashboards.grafanaOperator.instanceSelector

instanceSelector для ресурсов Grafanadashboard

{}

monitoring.rules.enabled

Создание ресурса PrometheusRule с правилами записи для Loki (необходим для некоторых дашбордов)

false

monitoring.rules.labels

Дополнительные метки для ресурса PrometheusRule

{}

monitoring.rules.annotations

Дополнительные аннотации для ресурса PrometheusRule

{}

monitoring.rules.additionalRuleLabels

Дополнительные метки, применяемые ко всем отдельным правилам записи

{}

monitoring.rules.additionalRuleAnnotations

Дополнительные аннотации, применяемые ко всем отдельным правилам записи

{}

monitoring.rules.additionalAggregationLabels

Дополнительные размеры меток, добавляемые во все by() агрегации в правила записи

[]

monitoring.alerts.enabled

При включении создается ресурс PrometheusRule с правилами оповещений для Loki

false

monitoring.alerts.labels

Дополнительные метки для PrometheusRule с правилами оповещений

{}

monitoring.alerts.annotations

Дополнительные аннотации для PrometheusRule с правилами оповещений

{}

monitoring.alerts.disabled

Выборочное выключение отдельных оповещений по имени.
Пример конфигурации: { LokiRequestErrors: true }

{}

monitoring.alerts.overrides

Переопределение for/severity для отдельных оповещений.
Пример конфигурации: { LokiRequestErrors: { for: 5m, severity: warning } }

{}

monitoring.alerts.keepFiringFor

Глобальный keepFiringFor, применяемый ко всем правилам оповещений

""

monitoring.alerts.additionalRuleLabels

Дополнительные метки, применяемые ко всем отдельным правилами оповещений

{}

monitoring.alerts.additionalRuleAnnotations

Дополнительные аннотации, применяемые ко всем отдельным правилами оповещений

{}

monitoring.alerts.additionalAggregationLabels

Дополнительные размеры меток, добавляемые во все by() агрегации в выражения для оповещений

[]

monitoring.additionalPrometheusRules

Дополнительные объекты PrometheusRule, создаваемые наряду с управляемыми чартом. Каждый ключ становится суффиксом имени ресурса; значение должно содержать ключ groups со стандартными группами правил Prometheus.
Пример конфигурации:

my-alerts:
  groups:
    - name: my-loki-alerts
      rules:
        - alert: MyLokiAlert
          expr: 'up{job="loki"} == 0'

{}

monitoring.serviceMonitor.enabled

Включение создания ресурсов ServiceMonitor для Prometheus Operator

true

monitoring.serviceMonitor.namespaceSelector

Селектор namespace для ресурсов ServiceMonitor

{}

monitoring.serviceMonitor.annotations

Аннотации ServiceMonitor

{}

monitoring.serviceMonitor.labels

Дополнительные метки ServiceMonitor

{}

monitoring.serviceMonitor.interval

Интервал сбора метрик ServiceMonitor

15s

monitoring.serviceMonitor.scrapeTimeout

Тайм-аут сбора метрик ServiceMonitor

~

monitoring.serviceMonitor.relabelings

Правила фильтрации и преобразования меток, применяемые к целям сбора до начала сбора метрик

[]

monitoring.serviceMonitor.metricRelabelings

Правила фильтрации и преобразования меток, применяемые к собранным метрикам

[]

monitoring.serviceMonitor.scheme

Схема подключения

http

monitoring.serviceMonitor.tlsConfig

Настройки TLS-параметров для безопасного сбора метрик Prometheus по протоколу HTTP

~

monitoring.serviceMonitor.jobPrefix

Префикс метки job ServiceMonitor, используемый для генерации метки job для собранных метрик

{{ include "loki.namespace" $ }}/

tableManager – настройки компонента table-manager (устаревший параметр)#

Параметр

Описание

Значение по умолчанию

tableManager.enabled

Включение table-manager (устаревший параметр)

false

tableManager.image.registry

Адрес реестра контейнерных образов (переопределяет loki.image.registry)

~

tableManager.image.repository

Репозиторий контейнерного образа (переопределяет loki.image.repository)

~

tableManager.image.tag

Тег образа контейнера (переопределяет loki.image.tag)

~

tableManager.command

Команда запуска контейнера, переопределяющая стандартный entrypoint образа контейнера

~

tableManager.priorityClassName

Имя PriorityClass для pod

~

tableManager.podLabels

Метки, добавляемые непосредственно к pod

{}

tableManager.annotations

Аннотации, добавляемые к ресурсу Deployment

{}

tableManager.podAnnotations

Аннотации, добавляемые непосредственно к pod

{}

tableManager.service.annotations

Аннотации, добавляемые к ресурсу Service

{}

tableManager.service.labels

Метки, добавляемые к ресурсу Service

{}

tableManager.service.type

Тип Service

ClusterIP

tableManager.service.trafficDistribution

Политика распределения трафика Service

""

tableManager.service.sessionAffinity

Параметры сохранения сессии для Service

""

tableManager.service.sessionAffinityConfig

Конфигурация сохранения сессии для Service

{}

tableManager.service.ipFamilyPolicy

Политика использования семейств IP-адресов для Service

""

tableManager.service.ipFamilies

Список IP-семейств, поддерживаемых Service

[]

tableManager.service.appProtocol.grpc

Протокол приложения для gRPC-порта Service (позволяет table-manager работать с выбором протокола Istio)

""

tableManager.extraArgs

Дополнительные аргументы командной строки

[]

tableManager.extraEnv

Дополнительные переменные окружения

[]

tableManager.extraEnvFrom

Источники переменных окружения (Secret или ConfigMap) для pod

[]

tableManager.extraVolumeMounts

Список дополнительных точек монтирования томов (VolumeMounts) в контейнере

[]

tableManager.extraVolumes

Дополнительные тома (Volume) для pod

[]

tableManager.resources

Запросы и ограничения ресурсов для контейнера

{}

tableManager.resizePolicy

Политика изменения размера ресурсов контейнера.
Пример конфигурации:

- resourceName: cpu
  restartPolicy: NotRequired
- resourceName: memory
  restartPolicy: RestartContainer

[]

tableManager.extraContainers

Дополнительные контейнеры (sidecar) в pod

[]

tableManager.terminationGracePeriodSeconds

Время, отведенное на корректное завершение работы pod

30

tableManager.hostUsers

Использование пространства имен пользователей узла

~

tableManager.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам

podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: table-manager
          app.kubernetes.io/name: '{{ include "loki.name" . }}'
          app.kubernetes.io/instance: '{{ .Release.Name }}'
      topologyKey: kubernetes.io/hostname

tableManager.dnsConfig

Пользовательская конфигурация DNS для pod

{}

tableManager.nodeSelector

Селектор узлов для планирования pod

{}

tableManager.tolerations

Toleration для размещения pod на узлах с ограничениями (taints)

[]

tableManager.retention_deletes_enabled

Включение удаления по retention

false

tableManager.retention_period

Период хранения

0

tableManager.serviceAccount.create

Создание ServiceAccount

false

tableManager.serviceAccount.name

Имя используемого ServiceAccount. Если не указано и create: true, имя генерируется автоматически

~

tableManager.serviceAccount.imagePullSecrets

Список Secret для загрузки образа контейнера из приватных реестров

[]

tableManager.serviceAccount.annotations

Аннотации, добавляемые к создаваемым ресурсам

{}

tableManager.serviceAccount.labels

Метки, добавляемые к создаваемым ресурсам

{}

tableManager.serviceAccount.automountServiceAccountToken

Автоматическое монтирование токена в ServiceAccount

true