Модуль не включен по умолчанию в каком-либо наборе модулей.
Чтобы настроить модуль, используйте custom resource ModuleConfig
с именем loki
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/loki
для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: loki
spec:
version: 1
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 1
- diskSizeGigabytes
Размер диска для хранения логов или размер PVC при указании параметра storageClass.
Вы должны самостоятельно указать необходимый размер диска для хранения логов за период, указанный в параметре
retentionPeriodHours
. Loki не может удалять старые данные автоматически при заполнении диска.Занятый объем автоматически мониторится с помощью модуля extended-monitoring
ОСТОРОЖНО! Если диск с данными Loki переполнится, приложение перестанет работать. Вам следует выбрать необходимый баланс между значениями параметров
retentionPeriodHours
иdiskSizeGigabytes
.По умолчанию:
2
- lokiConfig
Опции Loki, доступные для изменения.
Подробнее о настройки Loki читайте в документации Loki.
Внимание! Ошибочные настройки могут привести к неработоспособности Loki.
- lokiConfig.grpcServerMaxConcurrentStreams
Ограничение на количество одновременных потоков для вызовов gRPC.
По умолчанию:
100
- lokiConfig.grpcServerMaxRecvMsgSize
Ограничение на размер сообщения gRPC, которое может получить сервер, в байтах.
По умолчанию:
104857600
- lokiConfig.grpcServerMaxSendMsgSize
Ограничение на размер сообщения gRPC, которое может отправить сервер, в байтах.
По умолчанию:
4194304
- lokiConfig.ingestionBurstSizeMB
Общий лимит всплеска объема принимаемых логов. Например, максимальный размер запроса на запись.
По умолчанию:
6
- lokiConfig.ingestionRateMB
Общий лимит скорости приема логов в мегабайтах в секунду.
По умолчанию:
4
- lokiConfig.maxChunksPerQuery
Максимальное количество файлов, которые могут быть скачаны в рамках одного запроса.
По умолчанию:
2000000
- lokiConfig.maxEntriesLimitPerQuery
Максимальное количество записей, возвращаемых для одного запроса.
По умолчанию:
5000
- lokiConfig.maxStreamsPerUser
Максимальное общее количество потоков логов для экземпляра Loki.
Каждый поток логов имеет уникальный набор меток. Количество потоков равно количеству уникальных наборов меток. Например: ‘{job=”my-app”, instance=”kube-node-1”, namespace=”production”, pod_name=”backend-79dbf6fcb7-v5gs7”, app=”backend”}’.
Значение 0 отключает ограничение.
По умолчанию:
0
- lokiConfig.perStreamRateLimit
Максимальная скорость в байтах в секунду для одного потока. Может быть как числом, так и строкой с единицей измерения (KB, MB, GB).
По умолчанию:
3MB
- lokiConfig.perStreamRateLimitBurst
Максимальный размер всплеска объема логов для одного потока. Может быть как числом, так и строкой с единицей измерения (KB, MB, GB).
По умолчанию:
15MB
- nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если ничего не указано или указано
false
, будет использоваться автоматика. - resourcesManagement
Настройки запросов (requests) и ограничений (limits) использования CPU и памяти подами Loki.
Примеры:
resourcesManagement: mode: VPA vpa: mode: Auto cpu: min: 50m max: 2 limitRatio: 1.5 memory: min: 256Mi max: 2Gi limitRatio: 1.5
resourcesManagement: mode: Static static: requests: cpu: 55m memory: 256Mi limits: cpu: 2 memory: 2Gi
- resourcesManagement.static
Настройка управления ресурсами в режиме
Static
.- resourcesManagement.static.limits
Настройка ограничений (limits) использования CPU и памяти.
- resourcesManagement.static.limits.cpu
Настройка ограничений использования CPU (CPU limits).
- resourcesManagement.static.limits.memory
Настройка ограничений использования памяти (memory limits).
- resourcesManagement.static.requests
Настройки запросов ресурсов (requests) подов.
- resourcesManagement.static.requests.cpu
Настройка запроса CPU (CPU requests).
- resourcesManagement.static.requests.memory
Настройка запроса памяти (memory requests).
- resourcesManagement.vpa
Настройка управления ресурсами в режиме
VPA
.- resourcesManagement.vpa.cpu
Настройки VPA при работе с CPU.
- resourcesManagement.vpa.cpu.limitRatio
Коэффициент расчета ограничений использования CPU относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования CPU для пода (CPU limits).
Если параметр указан, то VPA, при пересчете запросов CPU (CPU requests) будет пересчитывать ограничения использования CPU (CPU limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- resourcesManagement.vpa.cpu.max
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
2
- resourcesManagement.vpa.cpu.min
Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
50m
- resourcesManagement.vpa.memory
Настройки VPA при работе с памятью.
- resourcesManagement.vpa.memory.limitRatio
Коэффициент расчета ограничений использования памяти относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования памяти для пода (memory limits).
Если параметр указан, то VPA, при пересчете запросов памяти (memory requests) будет пересчитывать ограничения использования памяти (memory limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- resourcesManagement.vpa.memory.max
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
2Gi
- resourcesManagement.vpa.memory.min
Минимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
256Mi
- resourcesManagement.vpa.mode
Режим работы VPA.
По умолчанию:
"Auto"
Допустимые значения:
Initial
,Auto
- retentionPeriodHours
Сколько часов логи будут храниться, прежде чем будут удалены.
По умолчанию:
168
- storageClass
Имя storageClass’а, который использовать.
Если не указано, используется StorageClass существующей PVC Loki, а если PVC пока нет, используется или глобальный StorageClass, или
global.discovery.defaultStorageClass
, а если и их нет, данные сохраняются вemptyDir
.global.discovery.defaultStorageClass
применяется только при включении модуля, смена StorageClass по умолчанию в кластере не приведет к перезаказу диска.false
— принудительное использованиеemptyDir
. Удалить старый PVC и рестартануть под придется вручную.ОСТОРОЖНО! При указании этой опции в значение, отличное от текущего (из существующей PVC), диск Loki будет перезаказан, а все данные удалены.
Примеры:
storageClass: false
storageClass: default
- storeSystemLogs
Сохранять логи из пространства имен
d8-*
в loki.Для работы необходим включенный модуль log-shipper.
По умолчанию:
true
- tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если ничего не указано или указано
false
, будет использоваться автоматика.- tolerations.effect
- tolerations.key
- tolerations.operator
- tolerations.tolerationSeconds
- tolerations.value
Пример конфигурации
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: loki
spec:
settings:
storageClass: ceph-csi-rbd
diskSizeGigabytes: 10
retentionPeriodHours: 48
enabled: true
version: 1