Cilium#

Cilium - это современное сетевое решение (CNI, Container Network Interface), специально разработанное для Kubernetes, которое обеспечивает высокую производительность, безопасность и гибкость при управлении сетью в кластерах контейнеров. Оно использует технологию eBPF (extended Berkeley Packet Filter) для эффективной реализации сетевых функций на уровне ядра Linux.

Cilium обеспечивает сетевую связность между pod внутри кластера DropApp, упрощает маршрутизацию трафика, используя современные методы вместо устаревших решений вроде iptables.

Основные задачи и возможности
  • CNI (Container Network Interface): обеспечивает подсети и сетевое взаимодействие между pod в кластере.

  • Network Policy: поддерживает продвинутые политики сети Kubernetes (NetworkPolicy) и расширяет их функциональность для гибкого управления трафиком.

  • Service Mesh (Cilium Service Mesh): предоставляет возможность реализации Service Mesh с поддержкой L7-политик, мониторинга и шифрования трафика между сервисами.

  • Безопасность (Security): поддерживает политики безопасности на уровне приложений (L3-L7), защиту от атак, шифрование трафика in-transit (IPSec/ WireGuard).

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

  • Высокая производительность: использование eBPF вместо iptables обеспечивает высокую скорость обработки трафика и масштабируемость.

Примечание

Cilium является единственным инструментом в компоненте Cni и он устанавливается по умолчанию в процессе установки кластера DropApp. По умолчанию работает в режиме замены Kube-proxy.

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

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

namespaceOverride - переопределение пространств имен для ресурсов Cilium#

Параметр

Описание

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

namespaceOverride

Переопределяет целевое пространство имен для ресурсов Cilium; полезно при использовании Cilium в составе Umbrella Chart

""

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

Параметр

Описание

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

commonLabels

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

{}

upgradeCompatibility - совместимость при обновлении Cilium#

Параметр

Описание

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

upgradeCompatibility

Версия Cilium, с которой выполняется обновление; гарантирует сохранение критичных значений конфигурации в ConfigMap. Не требуется для новых установок. Пример: "1.7", "1.8"

null

debug - настройки отладки и детального логирования#

Параметр

Описание

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

debug.enabled

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

false

debug.verbose

Уровни детализации для отладки (flow, kvstore, envoy, datapath, policy)

~

debug.metricsSamplingInterval

Интервал внутренней выборки метрик агента (доступны через cilium-dbg shell -- metrics -s)

"5m"

rbac - настройки управления доступом на основе ролей#

Параметр

Описание

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

rbac.create

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

true

imagePullSecrets - секреты для доступа к приватным реестрам образов#

Параметр

Описание

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

imagePullSecrets

Список секретов для аутентификации в приватных реестрах Docker-образов. Пример: [{name: "image-pull-secret"}]

[]

iptablesRandomFully - включение флага –random-fully для iptables#

Параметр

Описание

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

iptablesRandomFully

Устраняет проблемы port exhaustion при масштабировании NAT на высоконагруженных кластерах

false

kubeConfigPath - путь к kubeconfig для доступа к Kubernetes API#

Параметр

Описание

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

kubeConfigPath

Путь к файлу kubeconfig на хосте; используется агентом для подключения к API-серверу

"~/.kube/config"

k8sServiceHostRef - динамическое определение endpoint Kubernetes API через ConfigMap#

Параметр

Описание

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

k8sServiceHostRef.name

Имя ConfigMap, содержащего endpoint Kubernetes API. Взаимоисключается с k8sServiceHost

""

k8sServiceHostRef.key

Ключ в ConfigMap, содержащий значение endpoint Kubernetes API

""

k8sServiceHost - адрес API-сервера Kubernetes#

Параметр

Описание

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

k8sServiceHost

Адрес API-сервера Kubernetes. Значение "auto" включает автоматическое определение из ConfigMap cluster-info

""

k8sServicePort - порт API-сервера Kubernetes#

Параметр

Описание

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

k8sServicePort

Порт API-сервера Kubernetes

""

k8sServiceLookupConfigMapName - имя ConfigMap для поиска при k8sServiceHost=auto#

Параметр

Описание

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

k8sServiceLookupConfigMapName

Имя ConfigMap для поиска адреса API-сервера при k8sServiceHost=auto

""

k8sServiceLookupNamespace - namespace ConfigMap при k8sServiceHost=auto#

Параметр

Описание

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

k8sServiceLookupNamespace

Пространство имен, в котором находится k8sServiceLookupConfigMapName при k8sServiceHost=auto

""

k8sClientRateLimit - ограничения скорости запросов к Kubernetes API#

Параметр

Описание

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

k8sClientRateLimit.qps

Устойчивая скорость запросов в секунду к Kubernetes API. При превышении, запросы троттлинг задерживаются

10

k8sClientRateLimit.burst

Пиковая скорость запросов агента к API Kubernetes в секунду.

20

k8sClientRateLimit.operator.qps

Устойчивая скорость запросов Cilium Operator к API Kubernetes

100

k8sClientRateLimit.operator.burst

Максимальная скорость всплесков запросов Cilium Operator к API Kubernetes

200

k8sClientExponentialBackoff - экспоненциальный backoff для client-go в агенте#

Параметр

Описание

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

k8sClientExponentialBackoff.enabled

Включить экспоненциальный backoff при повторных обращениях к API Kubernetes после ошибок

true

k8sClientExponentialBackoff.backoffBaseSeconds

Базовое время ожидания (секунды) для экспоненциального backoff

1

k8sClientExponentialBackoff.backoffMaxDurationSeconds

Максимальное время ожидания (секунды) при экспоненциальном backoff

120

cluster - настройки кластера и его идентификации#

Параметр

Описание

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

cluster.name

Имя кластера. Обязательно для ClusterMesh и взаимной аутентификации. Максимум 32 символа

"default"

cluster.id

Уникальный ID кластера в диапазоне 1-255. Обязателен для Cluster Mesh; 0 если Cluster Mesh не используется

0

serviceAccounts - настройки сервисных аккаунтов для компонентов#

Параметр

Описание

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

serviceAccounts.cilium.create

Создать ServiceAccount для Cilium agent

true

serviceAccounts.cilium.name

Имя ServiceAccount для Cilium agent

"cilium"

serviceAccounts.cilium.automount

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

true

serviceAccounts.cilium.annotations

Аннотации для ServiceAccount Cilium

{}

serviceAccounts.nodeinit.create

Создать ServiceAccount для nodeinit

true

serviceAccounts.nodeinit.enabled

Включить ServiceAccount для nodeinit

false

serviceAccounts.nodeinit.name

Имя ServiceAccount для nodeinit

"cilium-nodeinit"

serviceAccounts.nodeinit.automount

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

true

serviceAccounts.nodeinit.annotations

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

{}

serviceAccounts.envoy.create

Создать ServiceAccount для Envoy

true

serviceAccounts.envoy.name

Имя ServiceAccount для Envoy

"cilium-envoy"

serviceAccounts.envoy.automount

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

true

serviceAccounts.envoy.annotations

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

{}

serviceAccounts.operator.create

Создать ServiceAccount для оператора

true

serviceAccounts.operator.name

Имя ServiceAccount для оператора

"**Cilium-operator**"

serviceAccounts.operator.automount

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

true

serviceAccounts.operator.annotations

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

{}

serviceAccounts.preflight.create

Создать ServiceAccount для preflight проверок

true

serviceAccounts.preflight.name

Имя ServiceAccount для preflight

"cilium-pre-flight"

serviceAccounts.preflight.automount

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

true

serviceAccounts.preflight.annotations

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

{}

serviceAccounts.relay.create

Создать ServiceAccount для hubble-relay

true

serviceAccounts.relay.name

Имя ServiceAccount для hubble-relay

"hubble-relay"

serviceAccounts.relay.automount

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

false

serviceAccounts.relay.annotations

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

{}

serviceAccounts.ui.create

Создать ServiceAccount для Hubble UI

true

serviceAccounts.ui.name

Имя ServiceAccount для Hubble UI

"hubble-ui"

serviceAccounts.ui.automount

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

true

serviceAccounts.ui.annotations

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

{}

serviceAccounts.clustermeshApiserver.create

Создать ServiceAccount для ClusterMesh API-server

true

serviceAccounts.clustermeshApiserver.name

Имя ServiceAccount для ClusterMesh API

"clustermesh-apiserver"

serviceAccounts.clustermeshApiserver.automount

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

true

serviceAccounts.clustermeshApiserver.annotations

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

{}

serviceAccounts.clustermeshcertgen.create

Создать ServiceAccount для генерации сертификатов ClusterMesh

true

serviceAccounts.clustermeshcertgen.name

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

"clustermesh-apiserver-generate-certs"

serviceAccounts.clustermeshcertgen.automount

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

true

serviceAccounts.clustermeshcertgen.annotations

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

{}

serviceAccounts.hubblecertgen.create

Создать ServiceAccount для генерации сертификатов Hubble

true

serviceAccounts.hubblecertgen.name

Имя ServiceAccount для генерации сертификатов Hubble

"hubble-generate-certs"

serviceAccounts.hubblecertgen.automount

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

true

serviceAccounts.hubblecertgen.annotations

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

{}

terminationGracePeriodSeconds - время graceful shutdown для DaemonSet cilium-agent#

Параметр

Описание

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

terminationGracePeriodSeconds

Время (секунды), отведенное на корректное завершение работы pod cilium-agent перед принудительным удалением

1

agent - управление установкой компонента cilium-agent#

Параметр

Описание

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

agent

Устанавливать ресурсы cilium-agent (DaemonSet и сопутствующие объекты)

true

name - имя DaemonSet агента Cilium#

Параметр

Описание

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

name

Имя DaemonSet cilium-agent в Kubernetes

"cilium"

rollOutCiliumPods - автоматическая замена pod при изменении ConfigMap#

Параметр

Описание

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

rollOutCiliumPods

Автоматически пересоздавать pod cilium-agent при обновлении cilium-config ConfigMap (добавляет checksum-аннотацию)

false

image - настройки образа контейнера для Cilium Agent#

Параметр

Описание

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

image.override

Переопределение образа контейнера

~

image.repository

Репозиторий Docker образа для cilium agent

"...dapp-cilium/cilium"

image.tag

Тег версии образа

"v1.18.8"

image.pullPolicy

Политика загрузки образа: Always, IfNotPresent, Never

IfNotPresent

image.digest

SHA256 образа для обеспечения целостности

""

image.useDigest

Использовать digest вместо тега

false

scheduling - режим планирования pod DaemonSet#

Параметр

Описание

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

scheduling.mode

Стратегия планирования pod агента: anti-affinity (pod anti-affinity rule, может снижать throughput на больших кластерах) или kube-scheduler (максимальная пропускная способность, использует kube-scheduler для разрешения конфликтов портов)

"anti-affinity"

affinity - правила размещения pod на узлах#

Параметр

Описание

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

affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

Строгие правила anti-affinity для разнесения pod по узлам

[{'topologyKey': 'kubernetes.io/hostname', 'labelSelector': {'matchLabels': {'k8s-app': 'cilium'}}}]

nodeSelector - выбор узлов для запуска cilium-agent#

Параметр

Описание

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

nodeSelector

Метки узлов для планирования cilium-agent; по умолчанию ограничивает запуск только Linux-узлами

{kubernetes.io/os: linux}

tolerations - разрешения для размещения на узлах с ограничениями#

Параметр

Описание

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

tolerations

Разрешает запуск на узлах с taint

[{'operator': 'Exists'}]

priorityClassName - priority class для pod cilium-agent#

Параметр

Описание

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

priorityClassName

Имя PriorityClass для pod cilium-agent (определяет приоритет при планировании и вытеснении)

""

dnsPolicy - DNS-политика для pod cilium-agent#

Параметр

Описание

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

dnsPolicy

DNS-политика pod агента. Возможные значения: ClusterFirst, ClusterFirstWithHostNet, Default, None

""

extraContainers - дополнительные sidecar-контейнеры в DaemonSet#

Параметр

Описание

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

extraContainers

Список дополнительных контейнеров (sidecar), добавляемых в DaemonSet cilium-agent

[]

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

Параметр

Описание

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

extraInitContainers

Список дополнительных init-контейнеров, выполняемых перед основными контейнерами cilium-agent

[]

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

Параметр

Описание

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

extraArgs

Дополнительные аргументы командной строки, передаваемые бинарному файлу cilium-agent

[]

extraEnv - дополнительные переменные окружения агента#

Параметр

Описание

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

extraEnv

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

[]

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

Параметр

Описание

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

extraHostPathMounts

Список дополнительных монтирований hostPath для контейнера cilium-agent. Каждый элемент: name, mountPath, hostPath, hostPathType, readOnly, mountPropagation

[]

extraVolumes - дополнительные тома для DaemonSet cilium-agent#

Параметр

Описание

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

extraVolumes

Список дополнительных томов для DaemonSet cilium-agent

[]

extraVolumeMounts - дополнительные монтирования томов в контейнер агента#

Параметр

Описание

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

extraVolumeMounts

Список дополнительных VolumeMount для основного контейнера cilium-agent

[]

extraConfig - дополнительные параметры в ConfigMap cilium-config#

Параметр

Описание

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

extraConfig

Произвольные ключ-значение пары, добавляемые в ConfigMap cilium-config. Позволяет задать параметры, не имеющие явных полей в values.yaml

{}

annotations - аннотации для top-level объектов cilium-agent#

Параметр

Описание

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

annotations

Аннотации, добавляемые ко всем top-level ресурсам cilium-agent (DaemonSet, Service, ConfigMap и др.)

{}

podSecurityContext - контекст безопасности для pod#

Параметр

Описание

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

podSecurityContext.appArmorProfile.type

Тип профиля AppArmor для контейнеров cilium-agent и init-контейнеров. Unconfined отключает принудительное применение AppArmor

"Unconfined"

podSecurityContext.seccompProfile.type

Тип профиля seccomp для ограничения системных вызовов

"Unconfined"

resources - общие ограничения ресурсов для основного контейнера#

Параметр

Описание

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

resources.limits.cpu

Максимальное потребление CPU

"4000m"

resources.limits.memory

Максимальное потребление памяти

"4Gi"

resources.requests.cpu

Запрашиваемые ресурсы CPU

"100m"

resources.requests.memory

Запрашиваемые ресурсы памяти

"512Mi"

initResources - ограничения ресурсов для init-контейнеров#

Параметр

Описание

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

initResources.limits.cpu

Максимальное потребление CPU для init-контейнера

"1000m"

initResources.limits.memory

Максимальное потребление памяти для init-контейнера

"1024M"

initResources.requests.cpu

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

"100m"

initResources.requests.memory

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

"64Mi"

securityContext - общий контекст безопасности контейнера#

Параметр

Описание

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

securityContext.privileged

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

false

securityContext.seLinuxOptions.level

Уровень SELinux

"s0"

securityContext.seLinuxOptions.type

Тип SELinux для безопасности контейнера

"spc_t"

securityContext.capabilities.ciliumAgent

Capabilities для Cilium agent контейнера

['CHOWN', 'KILL', 'NET_ADMIN', 'NET_RAW', 'IPC_LOCK', 'SYS_MODULE', 'SYS_ADMIN', 'SYS_RESOURCE', 'DAC_OVERRIDE', 'FOWNER', 'SETGID', 'SETUID']

securityContext.capabilities.mountCgroup

Capabilities для монтирования cgroup

['SYS_ADMIN', 'SYS_CHROOT', 'SYS_PTRACE']

securityContext.capabilities.applySysctlOverwrites

Capabilities для применения sysctl настроек

['SYS_ADMIN', 'SYS_CHROOT', 'SYS_PTRACE']

securityContext.capabilities.cleanCiliumState

Capabilities для очистки состояния Cilium

['NET_ADMIN', 'SYS_MODULE', 'SYS_ADMIN', 'SYS_RESOURCE']

updateStrategy - стратегия обновления DaemonSet#

Параметр

Описание

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

updateStrategy.type

Тип стратегии обновления (RollingUpdate или OnDelete)

"RollingUpdate"

updateStrategy.rollingUpdate.maxUnavailable

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

2

aksbyocni - интеграция с AKS BYOCNI (Bring Your Own CNI)#

Параметр

Описание

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

aksbyocni.enabled

Включить интеграцию Cilium с AKS в режиме BYOCNI. Несовместимо со стандартными AKS-кластерами

false

autoDirectNodeRoutes - автоматические маршруты между узлами в L2-сети#

Параметр

Описание

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

autoDirectNodeRoutes

Автоматически добавлять PodCIDR-маршруты между рабочими узлами, если они находятся в одном L2-сегменте (прямая маршрутизация без туннелирования)

false

directRoutingSkipUnreachable - пропуск маршрутов для узлов в разных L2-сегментах#

Параметр

Описание

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

directRoutingSkipUnreachable

Пропускать установку PodCIDR-маршрутов к узлам в других L2-сегментах при включенной прямой маршрутизации

false

annotateK8sNode - аннотирование узлов Kubernetes метаданными Cilium#

Параметр

Описание

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

annotateK8sNode

Добавлять аннотации с сетевыми метаданными Cilium (IP-пулы, CIDR) на объект Node при инициализации агента

false

azure - интеграция с Microsoft Azure#

Параметр

Описание

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

azure.enabled

Включить нативную интеграцию Cilium с Azure (Azure IPAM, маршрутизация). Несовместимо с режимом AKS BYOCNI

false

alibabacloud - интеграция с Alibaba Cloud ENI#

Параметр

Описание

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

alibabacloud.enabled

Включить интеграцию Cilium с Alibaba Cloud Elastic Network Interface для нативного IPAM

false

bandwidthManager - управление пропускной способностью сети#

Параметр

Описание

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

bandwidthManager.enabled

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

false

bandwidthManager.bbr

Активировать BBR TCP congestion control для pod

false

bandwidthManager.bbrHostNamespaceOnly

Включить BBR только для pod, работающих в хостовом пространстве имен

false

nat46x64Gateway - шлюз трансляции адресов NAT46/NAT64#

Параметр

Описание

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

nat46x64Gateway.enabled

Включить RFC6052 трансляцию для NAT46/NAT64 между IPv4 и IPv6

false

l2announcements - объявления на уровне канала передачи данных#

Параметр

Описание

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

l2announcements.enabled

Включить L2-объявления для балансировщиков нагрузки

false

l2podAnnouncements - объявления pod на L2 уровне#

Параметр

Описание

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

l2podAnnouncements.enabled

Включить L2-объявления pod

false

l2podAnnouncements.interface

Интерфейс для отправки Gratuitous ARP объявлений

"eth0"

bgpControlPlane - плоскость управления BGP#

Параметр

Описание

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

bgpControlPlane.enabled

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

false

bgpControlPlane.secretsNamespace.create

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

false

bgpControlPlane.secretsNamespace.name

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

"kube-system"

bgpControlPlane.statusReport.enabled

Включить отчеты о статусе BGP-сессий (только BGPv2). Отключение снижает нагрузку на API-сервер

true

bgpControlPlane.routerIDAllocation.mode

Режим выделения BGP Router ID: default (из IPv4 или 32 бита MAC) или ip-pool (из назначенного пула)

"default"

bgpControlPlane.routerIDAllocation.ipPool

IP-пул для выделения Router ID при режиме ip-pool

""

bgpControlPlane.legacyOriginAttribute.enabled

Использовать значение INCOMPLETE (2) вместо IGP (0) для атрибута BGP ORIGIN при анонсе LoadBalancerIP (совместимость с MetalLB)

false

pmtuDiscovery - обнаружение максимального размера передаваемого блока#

Параметр

Описание

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

pmtuDiscovery.enabled

Включить обнаружение path MTU для отправки ICMP-фрагментации клиентам

false

bpf - настройки eBPF datapath#

Параметр

Описание

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

bpf.autoMount.enabled

Автоматически монтировать файловую систему BPF в /sys/fs/bpf

true

bpf.root

Точка монтирования для файловой системы BPF

"/sys/fs/bpf"

bpf.preallocateMaps

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

false

bpf.authMapMax

Максимальное количество записей в auth-карте

524288

bpf.ctAccounting

Учет пакетов и байт для записей в таблицах connection tracking

false

bpf.ctTcpMax

Максимальное количество записей в TCP connection tracking таблице

524288

bpf.ctAnyMax

Максимальное количество записей в non-TCP connection tracking таблице

262144

bpf.distributedLRU.enabled

Использовать распределенную per-CPU память для основных LRU eBPF-карт. Значительно улучшает производительность при высокой нагрузке, рекомендуется увеличить размеры карт

false

bpf.events.default.rateLimit

Ограничение числа событий datapath в секунду в BPF events map (усредняется). 0 = отключено. При rateLimit > 0 нужно также задать burstLimit

0

bpf.events.default.burstLimit

Максимальный всплеск событий datapath в BPF events map за 1 секунду. 0 = отключено. При burstLimit > 0 нужно также задать rateLimit

0

bpf.events.drop.enabled

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

true

bpf.events.policyVerdict.enabled

Включить события вердиктов политик

true

bpf.events.trace.enabled

Включить события трассировки

true

bpf.lbMapMax

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

65536

bpf.natMax

Максимальное количество записей в NAT таблице

524288

bpf.neighMax

Максимальное количество записей в neighbor таблице

524288

bpf.nodeMapMax

Максимальное количество записей в таблице узлов

16384

bpf.policyMapMax

Максимальное количество записей в конечной точке policy карте

16384

bpf.mapDynamicSizeRatio

Автоматическое масштабирование всех BPF-карт на основе доступной памяти

0.0025

bpf.monitorAggregation

Уровень агрегации уведомлений монитора (none, low, medium, maximum)

"medium"

bpf.monitorInterval

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

"5s"

bpf.monitorFlags

TCP флаги, которые вызывают уведомления при первом появлении

"all"

bpf.lbExternalClusterIP

Разрешить внешний доступ к ClusterIP-сервисам

false

bpf.lbSourceRangeAllTypes

Применять фильтрацию loadBalancerSourceRanges ко всем типам сервисов (не только LoadBalancer)

false

bpf.lbAlgorithmAnnotation

Разрешить задавать алгоритм балансировки нагрузки на уровне сервиса через аннотацию service.cilium.io/lb-algorithm

false

bpf.lbModeAnnotation

Разрешить задавать режим forwarding (SNAT/DSR) на уровне сервиса через аннотацию service.cilium.io/forwarding-mode

false

bpf.masquerade

Включить нативную поддержку IP masquerade в eBPF

false

bpf.hostLegacyRouting

Маршрутизация через host stack (true) или напрямую через BPF (false)

false

bpf.tproxy

Настроить eBPF-based TPROXY для уменьшения зависимости от iptables

false

bpf.vlanBypass

Явно разрешенные VLAN ID для обхода bpf логики ( разрешает все)

[]

bpf.disableExternalIPMitigation

Отключить смягчение ExternalIP (CVE-2020-8554)

false

bpf.enableTCX

Присоединить конечную точку программы через tcx вместо legacy tc hooks

true

bpf.datapathMode

Режим устройств pod для core datapath (veth, netkit, netkit-l2, lb-only)

"veth"

bpfClockProbe - зондирование источника тактов для eBPF#

Параметр

Описание

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

bpfClockProbe

Включить зондирование источника тактов BPF (clock source probing) для более эффективного получения временных меток в программах eBPF

false

cleanBpfState - очистка состояния eBPF при запуске агента#

Параметр

Описание

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

cleanBpfState

Очистка состояния eBPF datapath через init-контейнер при каждом запуске cilium-agent. ВНИМАНИЕ: использовать осторожно, прерывает активные соединения

false

cleanState - очистка всего локального состояния Cilium при запуске#

Параметр

Описание

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

cleanState

Очистка локальных состояний Cilium при запуске (включает cleanBpfState). ВНИМАНИЕ: использовать только для полного сброса конфигурации

false

waitForKubeProxy - ожидание готовности kube-proxy перед запуском#

Параметр

Описание

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

waitForKubeProxy

Ожидать появления правила KUBE-PROXY-CANARY в iptables перед запуском cilium-agent (для корректного взаимодействия с kube-proxy)

false

cni - настройки Container Network Interface#

Параметр

Описание

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

cni.install

Устанавливать CNI-конфигурацию и бинарные файлы в файловую систему

true

cni.uninstall

Удалять CNI-конфигурацию при остановке агента

false

cni.chainingMode

Настроить цепочку поверх других плагинов CNI (none, aws-cni, flannel, generic-veth, portmap)

~

cni.chainingTarget

Имя CNI-сети для добавления Cilium как chained-плагин

~

cni.exclusive

Cilium берет на себя управление каталогом /etc/cni/net.d

true

cni.logFile

Файл логов CNI с политикой ротации 7 дней

"/var/run/cilium/cilium-cni.log"

cni.customConf

Пропустить запись CNI-конфигурации

false

cni.confPath

Путь к каталогу CNI-конфигурации на хосте

"/etc/cni/net.d"

cni.binPath

Путь к каталогу бинарных файлов CNI на хосте

"/opt/cni/bin"

cni.configMap

Имя ConfigMap с содержимым CNI-конфигурации. Запись при старте 05-cilium.conflist

""

cni.configMapKey

Ключ в CNI ConfigMap для чтения содержимого конфигурации

"cni-config"

cni.confFileMountPath

Путь монтирования ConfigMap внутри agent pod

"/tmp/cni-configuration"

cni.hostConfDirMountPath

Путь монтирования CNI-конфигурационного каталога в agent pod

"/host/etc/cni/net.d"

cni.resources.requests.cpu

Запрашиваемые ресурсы CPU для CNI initContainer

"100m"

cni.resources.requests.memory

Запрашиваемые ресурсы памяти для CNI initContainer

"10Mi"

cni.enableRouteMTUForCNIChaining

Включить route MTU для pod netns при CNI chaining

false

cni.iptablesRemoveAWSRules

Удаление правил iptables, созданных плагином AWS CNI VPC, во избежание конфликтов

true

connectivityProbeFrequencyRatio - соотношение частоты проверок связности к нагрузке#

Параметр

Описание

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

connectivityProbeFrequencyRatio

Коэффициент [0,1]: 0 = более частые проверки, 1 = более редкие. Частота адаптивно вычисляется с учетом размера кластера

0.5

conntrackGCInterval - интервал сборки мусора в таблице connection tracking#

Параметр

Описание

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

conntrackGCInterval

Фиксированный интервал запуска GC для таблиц connection tracking datapath. "0s" = автоматическое вычисление на основе размера таблиц

"0s"

conntrackGCMaxInterval - максимальный интервал автоматического GC connection tracking#

Параметр

Описание

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

conntrackGCMaxInterval

Верхняя граница автоматически вычисляемого интервала GC connection tracking. Актуально при использовании FQDN-политик с большим числом уникальных доменов

""

crdWaitTimeout - тайм-аут ожидания CRD Cilium#

Параметр

Описание

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

crdWaitTimeout

Максимальное время ожидания доступности CRD Cilium в API-сервере перед завершением агента с ошибкой

"5m"

customCalls - пользовательские вызовы eBPF программ#

Параметр

Описание

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

customCalls.enabled

Включить tail call hooks для пользовательских eBPF программ

false

daemon - настройки демона Cilium#

Параметр

Описание

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

daemon.runPath

Каталог для хранения runtime состояния Cilium

"/var/run/cilium"

daemon.configSources

Список источников переопределения конфигурации (разделенные запятыми)

~

daemon.allowedConfigOverrides

Список ключей config-map, которые можно переопределять

~

daemon.blockedConfigOverrides

Список ключей config-map, которые нельзя переопределять

~

daemon.enableSourceIPVerification

Включить верификацию исходного IP-адреса для трафика endpoint. Отключение полезно при chained CNI

true

forceDeviceDetection - принудительное автоопределение сетевых устройств#

Параметр

Описание

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

forceDeviceDetection

Принудительно запускать автообнаружение сетевых устройств для datapath, даже если устройства указаны явно через параметр devices

false

ciliumEndpointSlice - срезы конечных точек Cilium#

Параметр

Описание

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

ciliumEndpointSlice.enabled

Включить функцию Cilium EndpointSlice

false

ciliumEndpointSlice.rateLimits

Ограничения скорости для контроллера CiliumEndpointSlice

[{nodes:0,limit:10,burst:20},{nodes:100,limit:50,burst:100}]

identityManagementMode - компонент, управляющий CiliumIdentity#

Параметр

Описание

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

identityManagementMode

Компонент, создающий и управляющий ресурсами CiliumIdentity: agent, operator или both (переходный режим миграции)

"agent"

envoyConfig - конфигурация Envoy proxy#

Параметр

Описание

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

envoyConfig.enabled

Включить CiliumEnvoyConfig CRD

false

envoyConfig.secretsNamespace.create

Создать пространство имен для Envoy SDS-секретов

false

envoyConfig.secretsNamespace.name

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

"cilium-secrets"

envoyConfig.retryInterval

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

"15s"

ingressController - контроллер входящего трафика#

Параметр

Описание

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

ingressController.enabled

Включить ingress controller Cilium

false

ingressController.default

Установить ingress controller Cilium как default

false

ingressController.loadbalancerMode

Режим балансировщика нагрузки по умолчанию (shared, dedicated)

"dedicated"

ingressController.enforceHttps

Принудительное использование https для хостов с TLS

true

ingressController.enableProxyProtocol

Включить proxy protocol для всех Ingress-слушателей

false

ingressController.ingressLBAnnotationPrefixes

Префиксы аннотаций для распространения от Ingress к LoadBalancer

['lbipam.cilium.io', 'nodeipam.cilium.io', 'service.beta.kubernetes.io', 'service.kubernetes.io', 'cloud.google.com']

ingressController.defaultSecretNamespace

secret namespace по умолчанию для ingress без .spec.tls[].secretName

~

ingressController.defaultSecretName

secret name по умолчанию для ingress без .spec.tls[].secretName

~

ingressController.secretsNamespace.create

Создать secrets namespace для Ingress

true

ingressController.secretsNamespace.name

Имя Ingress secret namespace

"cilium-secrets"

ingressController.secretsNamespace.sync

Включить синхронизацию TLS секретов

true

ingressController.service.name

Имя shared LoadBalancer сервиса

"cilium-ingress"

ingressController.service.labels

Метки для shared LoadBalancer сервиса

{}

ingressController.service.annotations

Аннотации для shared LoadBalancer сервиса

{}

ingressController.service.type

Тип сервиса для shared LoadBalancer

"LoadBalancer"

ingressController.service.insecureNodePort

Конкретный nodePort для HTTP-трафика

~

ingressController.service.secureNodePort

Конкретный nodePort для HTTPS-трафика

~

ingressController.service.loadBalancerClass

Конкретный loadBalancerClass (требует Kubernetes 1.24+)

~

ingressController.service.loadBalancerIP

Конкретный loadBalancerIP

~

ingressController.service.allocateLoadBalancerNodePorts

Выделение портов узлов для LoadBalancer сервиса

~

ingressController.service.externalTrafficPolicy

Управление маршрутизацией трафика от внешних источников (Cluster, Local)

"Cluster"

ingressController.hostNetwork.enabled

Открыть Envoy возможность слушать в сетевом пространстве хоста

false

ingressController.hostNetwork.sharedListenerPort

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

8080

ingressController.hostNetwork.nodes.matchLabels

Метки узлов для открытия Ingress-слушателей

{}

gatewayAPI - API шлюза Kubernetes#

Параметр

Описание

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

gatewayAPI.enabled

Включить поддержку Gateway API в Cilium

false

gatewayAPI.enableProxyProtocol

Включить proxy protocol для всех GatewayAPI-слушателей

false

gatewayAPI.enableAppProtocol

Включить Backend Protocol selection (GEP-1911) через appProtocol

false

gatewayAPI.enableAlpn

Включить ALPN для всех слушателей (HTTP/2, затем HTTP 1.1)

false

gatewayAPI.xffNumTrustedHops

Количество доверенных proxy hops для определения IP клиента

0

gatewayAPI.externalTrafficPolicy

Управление маршрутизацией трафика для всех Gateway экземпляров (Cluster, Local)

"Cluster"

gatewayAPI.gatewayClass.create

Включить создание GatewayClass ресурса (auto, true, false)

"auto"

gatewayAPI.secretsNamespace.create

Создать secrets namespace для Gateway API

false

gatewayAPI.secretsNamespace.name

Имя Gateway API secret namespace

"cilium-secrets"

gatewayAPI.secretsNamespace.sync

Включить синхронизацию TLS секретов

true

gatewayAPI.hostNetwork.enabled

Открыть Envoy слушателей в сетевом пространстве хоста

false

gatewayAPI.hostNetwork.nodes.matchLabels

Метки узлов для открытия слушателей

{}

encryption - шифрование сетевого трафика#

Параметр

Описание

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

encryption.enabled

Включить прозрачное шифрование сети

false

encryption.type

Метод шифрования (ipsec или wireguard)

"ipsec"

encryption.nodeEncryption

Включить шифрование для трафика между узлами (только для wireguard)

false

encryption.strictMode.enabled

Включить WireGuard Pod2Pod strict режим

false

encryption.strictMode.cidr

CIDR для WireGuard Pod2Pod strict режима

""

encryption.allowRemoteNodeIdentities

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

false

encryption.ipsec.keyFile

Имя файла ключа внутри секрета Kubernetes

"keys"

encryption.ipsec.mountPath

Путь монтирования секрета внутри pod Cilium

"/etc/ipsec"

encryption.ipsec.secretName

Имя секрета Kubernetes с ключами шифрования

"cilium-ipsec-keys"

encryption.ipsec.interface

Интерфейс для зашифрованного трафика

""

encryption.ipsec.keyWatcher

Включить key watcher (иначе требуется перезапуск при ротации ключей)

true

encryption.ipsec.keyRotationDuration

Максимальная продолжительность ротации IPsec ключей

"5m"

encryption.ipsec.encryptedOverlay

Включить IPsec encrypted overlay

false

encryption.wireguard.userspaceFallback

Включить fallback к user-space реализации (устарело)

false

encryption.wireguard.persistentKeepalive

Управляет опцией WireGuard PersistentKeepalive (0s - отключить)

"0s"

endpointHealthChecking - проверка работоспособности конечных точек#

Параметр

Описание

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

endpointHealthChecking.enabled

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

true

endpointRoutes - управляемые маршруты#

Параметр

Описание

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

endpointRoutes.enabled

Включает продвинутую настройку маршрутов через iproute2

false

k8sNetworkPolicy - поддержка сетевых политик Kubernetes#

Параметр

Описание

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

k8sNetworkPolicy.enabled

Включить поддержку Kubernetes NetworkPolicy

true

endpointLockdownOnMapOverflow - блокировка эндпоинта при переполнении policy map#

Параметр

Описание

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

endpointLockdownOnMapOverflow

Блокировка сетевого трафика эндпоинта при переполнении его карты политик (policy map)

false

eni - интеграция с AWS Elastic Network Interface#

Параметр

Описание

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

eni.enabled

Включить интеграцию с AWS ENI для нативного IPAM: каждому поду назначается реальный ENI IP-адрес

false

eni.awsReleaseExcessIPs

Освобождать неиспользуемые IP-адреса из ENI обратно в AWS (экономия IP-ресурсов)

false

eni.awsEnablePrefixDelegation

Включить делегирование IPv4-префиксов ENI (увеличивает плотность подов на узле)

false

eni.ec2APIEndpoint

Пользовательский endpoint AWS EC2 API (для приватных регионов или mock-тестирования)

""

eni.eniTags

Теги (k=v), добавляемые ко всем вновь создаваемым ENI-интерфейсам

{}

eni.gcInterval

Интервал сборки мусора для неподключенных (dangling) ENI. "0s" = отключить GC

"5m"

eni.gcTags

Теги для ENI, созданных Cilium. Используются при поиске dangling ENI для GC

{}

eni.iamRole

ARN IAM Role для IRSA (IAM Roles for Service Accounts). При использовании - не требует Kubernetes Secret с AWS credentials

""

eni.subnetIDsFilter

Фильтр по ID подсетей AWS для выбора подсетей при создании ENI

[]

eni.subnetTagsFilter

Фильтр по тегам (k=v) AWS-подсетей для выбора подсетей при создании ENI

[]

eni.instanceTagsFilter

Фильтр по тегам EC2-инстансов для выбора нод при управлении ENI

[]

gke - интеграция с Google Kubernetes Engine#

Параметр

Описание

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

gke.enabled

Включить нативную интеграцию Cilium с Google Kubernetes Engine (GKE Dataplane V2)

false

healthChecking - проверки связности для мониторинга состояния кластера#

Параметр

Описание

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

healthChecking

Включить health-проверки связности Cilium между узлами и к внешним эндпоинтам (cilium-health)

true

healthPort - порт Health API агента Cilium#

Параметр

Описание

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

healthPort

TCP-порт для HTTP Health API агента Cilium. Не является портом cilium-health (межузловые проверки)

9879

healthCheckICMPFailureThreshold - порог неудачных ICMP-запросов health check#

Параметр

Описание

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

healthCheckICMPFailureThreshold

Количество последовательных неудачных ICMP-запросов, после которых узел или эндпоинт признается недоступным

3

hostFirewall - межсетевой экран узла#

Параметр

Описание

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

hostFirewall.enabled

Включить принудительное применение host-политик в eBPF datapath

false

socketLB - балансировщик нагрузки на уровне сокетов#

Параметр

Описание

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

socketLB.enabled

Включить socket LB

false

certgen - автоматическая генерация сертификатов для Hubble и Cluster Mesh#

Параметр

Описание

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

certgen.generateCA

Создавать Secret с CA при первоначальной генерации сертификатов

true

certgen.image.override

Полное переопределение образа certgen

~

certgen.image.repository

Репозиторий образа инструмента генерации сертификатов

"quay.io/cilium/certgen"

certgen.image.tag

Тег образа certgen

"v0.3.2"

certgen.image.digest

SHA256-дайджест образа certgen для верификации

"sha256:19921f48..."

certgen.image.useDigest

Использовать дайджест при загрузке образа certgen

true

certgen.image.pullPolicy

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

"IfNotPresent"

certgen.ttlSecondsAfterFinished

Время (секунды) до автоудаления завершенного Job-pod генерации сертификатов

1800

certgen.podLabels

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

{}

certgen.annotations.job

Аннотации для разового Job генерации сертификатов

{}

certgen.annotations.cronJob

Аннотации для CronJob генерации сертификатов

{}

certgen.nodeSelector

Селектор узлов для pod certgen

{}

certgen.priorityClassName

Priority class для pod certgen

""

certgen.tolerations

Толерации для планирования pod certgen

[]

certgen.resources

Ресурсные запросы и лимиты для контейнеров certgen

{}

certgen.extraVolumes

Дополнительные тома для certgen

[]

certgen.extraVolumeMounts

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

[]

certgen.affinity

Правила affinity для планирования certgen

{}

hubble - компонент наблюдения за сетью#

Hubble является основным компонентом наблюдаемости Cilium, обеспечивающим видимость сетевого уровня и уровня безопасности кластера Kubernetes.

Параметр

Описание

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

hubble.enabled

Включить Hubble

true

hubble.annotations

Аннотации для всех top-level объектов Hubble

{}

hubble.metrics.enabled

Настроить список метрик для сбора. Если пусто или null, метрики отключены

~

hubble.metrics.enableOpenMetrics

Включить экспорт метрик Hubble в формате OpenMetrics

false

hubble.metrics.port

Порт сервера метрик Hubble

9965

hubble.metrics.tls.enabled

Включить TLS для сервера метрик Hubble

false

hubble.metrics.tls.server.existingSecret

Имя секрета с сертификатом и ключом для сервера метрик Hubble

""

hubble.metrics.tls.server.cert

base64 encoded PEM значения для сертификата сервера (устарело)

""

hubble.metrics.tls.server.key

base64 encoded PEM значения для ключа сервера (устарело)

""

hubble.metrics.tls.server.extraDnsNames

Дополнительные DNS-имена для автогенерированного сертификата

[]

hubble.metrics.tls.server.extraIpAddresses

Дополнительные IP-адреса для автогенерированного сертификата

[]

hubble.metrics.tls.mtls.enabled

Включить взаимный TLS между сервером метрик Hubble и клиентами

false

hubble.metrics.tls.mtls.useSecret

Использовать Secret для mTLS

false

hubble.metrics.tls.mtls.name

Имя ConfigMap с CA для валидации клиентских сертификатов

~

hubble.metrics.tls.mtls.key

Запись ConfigMap содержащая CA

"ca.crt"

hubble.metrics.serviceAnnotations

Аннотации для сервиса hubble-metrics

{}

hubble.metrics.serviceMonitor.enabled

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

true

hubble.metrics.serviceMonitor.labels

Метки для Hubble ServiceMonitor

{}

hubble.metrics.serviceMonitor.annotations

Аннотации для Hubble ServiceMonitor

{}

hubble.metrics.serviceMonitor.jobLabel

jobLabel для Hubble ServiceMonitor

""

hubble.metrics.serviceMonitor.interval

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

"10s"

hubble.metrics.serviceMonitor.relabelings

Relabeling-конфигурации для Hubble ServiceMonitor

[{sourceLabels:[__meta_kubernetes_pod_node_name], targetLabel:node}]

hubble.metrics.serviceMonitor.metricRelabelings

relabeling-конфигурации метрик для Hubble ServiceMonitor

~

hubble.metrics.serviceMonitor.tlsConfig

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

{}

hubble.metrics.dashboards.enabled

Панели Grafana для Hubble

false

hubble.metrics.dashboards.label

Метка для импорта панелей Grafana

"grafana_dashboard"

hubble.metrics.dashboards.namespace

Пространство имен для размещения панелей

~

hubble.metrics.dashboards.labelValue

Значение метки для панелей

"1"

hubble.metrics.dashboards.annotations

Аннотации для панелей

{}

hubble.metrics.dynamic.enabled

Динамическое управление метриками Hubble без перезапуска агента

false

hubble.metrics.dynamic.config.configMapName

Имя ConfigMap с динамической конфигурацией метрик Hubble

"cilium-dynamic-metrics-config"

hubble.metrics.dynamic.config.createConfigMap

Создание ConfigMap динамических метрик через Helm (false - управлять вручную)

true

hubble.metrics.dynamic.config.content

YAML-содержимое конфигурации динамических экспортеров метрик (name, contextOptions, includeFilters, excludeFilters)

[]

hubble.socketPath

Путь unix domain socket для прослушивания, когда Hubble включен

"/var/run/cilium/hubble.sock"

hubble.networkPolicyCorrelation.enabled

Корреляция сетевых политик в потоках Hubble (заполнение полей egress_allowed_by, ingress_denied_by)

true

hubble.redact.enabled

Включить редактирование чувствительной информации в Layer 7 потоках

false

hubble.redact.http.urlQuery

Включить редактирование параметров URL query (GET)

false

hubble.redact.http.userInfo

Включить редактирование user info (например, пароль при basic auth)

true

hubble.redact.http.headers.allow

Список HTTP-заголовков для разрешения (остальные будут редактированы)

[]

hubble.redact.http.headers.deny

Список HTTP-заголовков для отклонения (совпадающие будут редактированы)

[]

hubble.redact.kafka.apiKey

Включить редактирование Kafka API ключа (устарело, будет удалено в v1.19)

true

hubble.listenAddress

Дополнительный адрес для прослушивания Hubble (установить ":4244" для hubble-relay)

":4244"

hubble.preferIpv6

Предпочитать объявление IPv6 или IPv4 адресов если оба доступны

false

hubble.skipUnknownCGroupIDs

Пропускать события Hubble с неизвестными cgroup id

true

hubble.peerService.targetPort

Target Port для Peer-сервиса (должен соответствовать hubble.listenAddress порту)

4244

hubble.peerService.clusterDomain

Cluster domain для запроса Hubble Peer-сервиса

"cluster.local"

hubble.tls.enabled

Включить взаимный TLS для listenAddress

true

hubble.tls.auto.enabled

Автогенерация сертификатов для включения mTLS между сервером Hubble и hubble-relay

true

hubble.tls.auto.method

Метод автогенерации сертификатов (helm, cronJob, certmanager)

"helm"

hubble.tls.auto.certValidityDuration

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

365

hubble.tls.auto.schedule

Расписание для регенерации сертификатов (только для cronJob метода)

"0 0 1 */4 *"

hubble.tls.auto.certManagerIssuerRef

certmanager issuer для hubble.tls.auto.method=certmanager

{}

hubble.tls.server.existingSecret

Имя секрета с сертификатом и ключом для сервера Hubble

""

hubble.tls.server.cert

base64 encoded PEM значения для сертификата сервера Hubble (устарело)

""

hubble.tls.server.key

base64 encoded PEM значения для ключа сервера Hubble (устарело)

""

hubble.tls.server.extraDnsNames

Дополнительные DNS-имена для автогенерированного сертификата

[]

hubble.tls.server.extraIpAddresses

Дополнительные IP-адреса для автогенерированного сертификата

[]

hubble.relay.enabled

Включить hubble-relay (требует hubble.enabled=true)

false

hubble.relay.rollOutPods

Автоматически развертывать hubble-relay pod при обновлении configmap

true

hubble.relay.image.override

Переопределение образа hubble-relay

~

hubble.relay.image.repository

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

"...dapp-cilium/hubble-relay"

hubble.relay.image.tag

Тег образа hubble-relay

"v1.18.8"

hubble.relay.image.digest

SHA256 digest образа hubble-relay

""

hubble.relay.image.useDigest

Использовать digest образа

false

hubble.relay.image.pullPolicy

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

"IfNotPresent"

hubble.relay.resources.limits.cpu

Максимальное потребление CPU для hubble-relay

"1000m"

hubble.relay.resources.limits.memory

Максимальное потребление памяти для hubble-relay

"1024M"

hubble.relay.resources.requests.cpu

Запрашиваемые ресурсы CPU для hubble-relay

"100m"

hubble.relay.resources.requests.memory

Запрашиваемые ресурсы памяти для hubble-relay

"64Mi"

hubble.relay.replicas

Количество реплик для hubble-relay deployment

1

hubble.relay.affinity

Строгая pod affinity для размещения с агентами Cilium

podAffinity к k8s-app=cilium

hubble.relay.topologySpreadConstraints

Ограничения распределения pod hubble-relay

[]

hubble.relay.nodeSelector.kubernetes.io/os

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

{kubernetes.io/os: linux}

hubble.relay.tolerations

Node tolerations для размещения pod

[]

hubble.relay.extraEnv

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

[]

hubble.relay.annotations

Аннотации для всех top-level объектовhubble-relay

{}

hubble.relay.podAnnotations

Аннотации для hubble-relay pod

{}

hubble.relay.podLabels

Метки для hubble-relay pod

{}

hubble.relay.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

hubble.relay.podDisruptionBudget.minAvailable

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

null

hubble.relay.podDisruptionBudget.maxUnavailable

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

1

hubble.relay.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика учета нездоровых (но запущенных) pod при вытеснении

null

hubble.relay.priorityClassName

Priority class для hubble-relay

""

hubble.relay.terminationGracePeriodSeconds

Период graceful termination для hubble-relay Deployment

1

hubble.relay.updateStrategy.type

Стратегия обновления hubble-relay

"RollingUpdate"

hubble.relay.updateStrategy.rollingUpdate.maxUnavailable

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

1

hubble.relay.extraVolumes

Дополнительные hubble-relay volumes

[]

hubble.relay.extraVolumeMounts

Дополнительные hubble-relay volumeMounts

[]

hubble.relay.podSecurityContext.fsGroup

fsGroup для hubble-relay pod

65532

hubble.relay.podSecurityContext.seccompProfile.type

Профиль seccomp для pod hubble-relay

"RuntimeDefault"

hubble.relay.securityContext.allowPrivilegeEscalation

Запрет повышения привилегий в контейнере hubble-relay

false

hubble.relay.securityContext.runAsNonRoot

Запуск как non-root пользователь

true

hubble.relay.securityContext.runAsUser

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

65532

hubble.relay.securityContext.runAsGroup

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

65532

hubble.relay.securityContext.seccompProfile.type

Тип seccomp профиля

"RuntimeDefault"

hubble.relay.securityContext.capabilities.drop

Отбрасываемые capabilities

['ALL']

hubble.relay.service.type

Тип сервиса для доступа к hubble-relay (ClusterIP или NodePort)

"ClusterIP"

hubble.relay.service.nodePort

Порт при использовании NodePort типа сервиса

31234

hubble.relay.listenHost

Хост для прослушивания (пустая строка для всех интерфейсов)

""

hubble.relay.listenPort

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

"4245"

hubble.relay.tls.client.existingSecret

Имя секрета с сертификатом и ключом для сервера метрик Hubble

""

hubble.relay.tls.client.cert

base64 encoded PEM значения для клиентского сертификата hubble-relay (устарело)

""

hubble.relay.tls.client.key

base64 encoded PEM значения для клиентского ключа hubble-relay (устарело)

""

hubble.relay.tls.server.enabled

Включить TLS на hubble-relay сервере для клиентов

false

hubble.relay.tls.server.mtls

Принудительный взаимный TLS между hubble-relay сервером и клиентами

false

hubble.relay.tls.server.existingSecret

Имя секрета с сертификатом и ключом для сервера hubble-relay

""

hubble.relay.tls.server.cert

base64 encoded PEM значения для сертификата сервера hubble-relay (устарело)

""

hubble.relay.tls.server.key

base64 encoded PEM значения для ключа сервера hubble-relay (устарело)

""

hubble.relay.tls.server.extraDnsNames

Дополнительные DNS-имена для автогенерированного сертификата

[]

hubble.relay.tls.server.extraIpAddresses

Дополнительные IP-адреса для автогенерированного сертификата

[]

hubble.relay.tls.server.relayName

DNS-имя для подключения backend к relay

"ui.hubble-relay.cilium.io"

hubble.relay.dialTimeout

Timeout подключения к локальному hubble instance для получения peer-информации

~

hubble.relay.retryTimeout

Backoff продолжительность для повторного подключения при неудаче

~

hubble.relay.sortBufferLenMax

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

~

hubble.relay.sortBufferDrainTimeout

Timeout для drain-потока при неполном буфере сортировки (только follow-mode)

~

hubble.relay.prometheus.enabled

Включить метрики Prometheus для hubble-relay на настроенном порту

true

hubble.relay.prometheus.port

Порт для метрик Prometheus

9966

hubble.relay.prometheus.serviceMonitor.enabled

Включить ServiceMonitor для Prometheus

true

hubble.relay.prometheus.serviceMonitor.labels

Метки для ServiceMonitor hubble-relay

{}

hubble.relay.prometheus.serviceMonitor.annotations

Аннотации для ServiceMonitor hubble-relay

{}

hubble.relay.prometheus.serviceMonitor.interval

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

"10s"

hubble.relay.prometheus.serviceMonitor.relabelings

Relabeling-конфигурации для ServiceMonitor hubble-relay

~

hubble.relay.prometheus.serviceMonitor.metricRelabelings

Metrics relabeling конфигурации для ServiceMonitor hubble-relay

~

hubble.relay.gops.enabled

Включить gops для hubble-relay

true

hubble.relay.gops.port

Порт gops для hubble-relay

9893

hubble.relay.pprof.enabled

Включить pprof для hubble-relay

false

hubble.relay.pprof.address

Адрес pprof для hubble-relay

"localhost"

hubble.relay.pprof.port

Порт pprof для hubble-relay

6062

hubble.relay.logOptions.format

Формат логов Hubble: text, text-ts, json, json-ts

~ (text-ts)

hubble.relay.logOptions.level

Уровень логирования Hubble: debug, info, warn, error

~ (info)

hubble.ui.enabled

Включить Hubble UI для визуализации сервисных зависимостей и сетевого трафика

false

hubble.ui.standalone.enabled

Разрешить установку только Hubble UI без проверки зависимостей

false

hubble.ui.standalone.tls.certsVolume

Volume для монтирования клиентских сертификатов при standalone развертывании

{}

hubble.ui.rollOutPods

Автоматически развертывать Hubble UI pod при обновлении configmap

true

hubble.ui.consoleLink.enabled

Создавать ресурс ConsoleLink для интеграции с OpenShift Web Console

true

hubble.ui.tls.client.existingSecret

Имя секрета с клиентским сертификатом и ключом для Hubble UI

""

hubble.ui.tls.client.cert

base64 encoded PEM значения для клиентского сертификата Hubble UI (устарело)

""

hubble.ui.tls.client.key

base64 encoded PEM значения для клиентского ключа Hubble UI (устарело)

""

hubble.ui.backend.image.override

Переопределение образа Hubble UI backend

~

hubble.ui.backend.image.repository

Репозиторий образа Hubble UI backend

"...dapp-hubble-ui/hubble-ui-backend"

hubble.ui.backend.image.tag

Тег образа Hubble UI backend

"v0.13.3"

hubble.ui.backend.image.digest

SHA256 digest образа backend

""

hubble.ui.backend.image.useDigest

Использовать digest образа

false

hubble.ui.backend.image.pullPolicy

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

"IfNotPresent"

hubble.ui.backend.securityContext.runAsGroup

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

10001

hubble.ui.backend.securityContext.runAsNonRoot

Запуск как non-root пользователь

true

hubble.ui.backend.securityContext.runAsUser

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

10001

hubble.ui.backend.securityContext.allowPrivilegeEscalation

Разрешить повышение привилегий

false

hubble.ui.backend.securityContext.readOnlyRootFilesystem

Только для чтения root filesystem

true

hubble.ui.backend.securityContext.capabilities.drop

Отбрасываемые capabilities

[ALL]

hubble.ui.backend.extraEnv

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

[]

hubble.ui.backend.extraVolumes

Дополнительные Hubble UI backend volumes

[]

hubble.ui.backend.extraVolumeMounts

Дополнительные Hubble UI backend volumeMounts

[]

hubble.ui.backend.livenessProbe.enabled

Включить liveness проверки для Hubble UI backend (требует Hubble UI 0.12+)

false

hubble.ui.backend.readinessProbe.enabled

Включить readiness проверки для Hubble UI backend (требует Hubble UI 0.12+)

false

hubble.ui.backend.resources.limits.cpu

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

"1000m"

hubble.ui.backend.resources.limits.memory

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

"1024M"

hubble.ui.backend.resources.requests.cpu

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

"100m"

hubble.ui.backend.resources.requests.memory

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

"64Mi"

hubble.ui.frontend.image.override

Переопределение образа Hubble UI frontend

~

hubble.ui.frontend.image.repository

Репозиторий образа Hubble UI frontend

"...dapp-hubble-ui/hubble-ui"

hubble.ui.frontend.image.tag

Тег образа Hubble UI frontend

"v0.13.3"

hubble.ui.frontend.image.digest

SHA256 digest образа frontend

""

hubble.ui.frontend.image.useDigest

Использовать digest образа

false

hubble.ui.frontend.image.pullPolicy

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

"IfNotPresent"

hubble.ui.frontend.securityContext.capabilities.add

Добавляемые capabilities

['NET_BIND_SERVICE']

hubble.ui.frontend.securityContext.capabilities.drop

Отбрасываемые capabilities

['ALL']

hubble.ui.frontend.securityContext.runAsUser

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

10001

hubble.ui.frontend.securityContext.runAsNonRoot

Запуск как non-root пользователь

true

hubble.ui.frontend.securityContext.readOnlyRootFilesystem

Только для чтения root filesystem

false

hubble.ui.frontend.securityContext.allowPrivilegeEscalation

Разрешить повышение привилегий

false

hubble.ui.frontend.securityContext.seccompProfile.type

Тип seccomp профиля

"RuntimeDefault"

hubble.ui.frontend.extraEnv

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

[]

hubble.ui.frontend.extraVolumes

Дополнительные Hubble UI frontend volumes

[]

hubble.ui.frontend.extraVolumeMounts

Дополнительные Hubble UI frontend volumeMounts

[]

hubble.ui.frontend.resources.limits.cpu

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

"1000m"

hubble.ui.frontend.resources.limits.memory

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

"1024M"

hubble.ui.frontend.resources.requests.cpu

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

"100m"

hubble.ui.frontend.resources.requests.memory

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

"64Mi"

hubble.ui.frontend.server.ipv6.enabled

Управляет server listener для ipv6

true

hubble.ui.replicas

Количество реплик Hubble UI для развертывания

1

hubble.ui.annotations

Аннотации для всех top-level Hubble UI объектов

{}

hubble.ui.podAnnotations

Аннотации для Hubble UI pod

{}

hubble.ui.podLabels

Метки для Hubble UI pod

{}

hubble.ui.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

hubble.ui.podDisruptionBudget.minAvailable

Минимальное количество/процент pod которые должны остаться запланированными

null

hubble.ui.podDisruptionBudget.maxUnavailable

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

1

hubble.ui.affinity

Affinity для Hubble UI

{}

hubble.ui.topologySpreadConstraints

Pod topology spread constraints для Hubble UI

[]

hubble.ui.nodeSelector

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

{kubernetes.io/os: linux}

hubble.ui.tolerations

Node tolerations для размещения pod

[]

hubble.ui.priorityClassName

Priority class для Hubble UI

""

hubble.ui.updateStrategy.type

Стратегия обновления Hubble UI

"RollingUpdate"

hubble.ui.updateStrategy.rollingUpdate.maxUnavailable

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

1

hubble.ui.securityContext.runAsUser

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

10001

hubble.ui.securityContext.runAsGroup

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

10001

hubble.ui.securityContext.fsGroup

fsGroup для pod

1001

hubble.ui.service.annotations

Аннотации для Hubble UI сервиса

{}

hubble.ui.service.labels

Метки для Kubernetes Service Hubble UI

{}

hubble.ui.service.type

Тип сервиса для доступа к Hubble UI (ClusterIP или NodePort)

"ClusterIP"

hubble.ui.service.nodePort

Порт при использовании NodePort типа сервиса

31235

hubble.ui.baseUrl

Base url prefix для всех Hubble UI http-запросов

"/"

hubble.ui.ingress.enabled

Включить Hubble UI ingress-конфигурацию

true

hubble.ui.ingress.annotations

Аннотации Ingress Hubble UI (nginx SSL redirect, rewrite-target)

{nginx.ingress.kubernetes.io/force-ssl-redirect: "true", ...}

hubble.ui.ingress.className

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

"nginx"

hubble.ui.ingress.hosts

Хосты для Hubble UI ingress

['hubble.<domain>']

hubble.ui.ingress.labels

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

{}

hubble.ui.ingress.tls

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

[{secretName: ingress-tls, hosts: [...]}]

hubble.export.static.enabled

Включить статический экспортер (связанный с lifecycle агента)

false

hubble.export.static.filePath

Путь к файлу для статического экспортера

"/var/run/cilium/hubble/events.log"

hubble.export.static.fieldMask

Маска полей для статического экспортера

[]

hubble.export.static.allowList

Allow-список фильтров для статического экспортера

[]

hubble.export.static.denyList

Deny-список фильтров для статического экспортера

[]

hubble.export.static.fileMaxSizeMb

Максимальный размер файла экспорта (МБ) перед ротацией

10

hubble.export.static.fileMaxBackups

Максимальное количество хранимых ротированных файлов экспорта

5

hubble.export.static.fileCompress

Сжатие ротированных файлов экспорта (gzip)

false

hubble.export.dynamic.enabled

Включить динамические экспортеры

false

hubble.export.dynamic.config.configMapName

Имя configmap с конфигурацией экспортеров

"cilium-flowlog-config"

hubble.export.dynamic.config.createConfigMap

True, если helm installer должен создать configmap

true

hubble.export.dynamic.config.content

Конфигурация экспортеров в YAML формате

[{name: all, ...}]

hubble.dropEventEmitter.enabled

Генерировать v1.Events связанные с pod при обнаружении отбрасывания пакетов

false

hubble.dropEventEmitter.interval

Минимальное время между эмитированием одинаковых событий

"2m"

hubble.dropEventEmitter.reasons

Причины отбрасывания для эмитирования событий

['auth_required', 'policy_denied']

identityAllocationMode - метод выделения идентичностей Cilium#

Параметр

Описание

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

identityAllocationMode

Метод хранения идентичностей Cilium: crd (в Kubernetes CRD), kvstore (в etcd), doublewrite-readkvstore / doublewrite-readcrd (для миграции между бекендами)

"crd"

identityChangeGracePeriod - период ожидания перед применением новой идентичности#

Параметр

Описание

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

identityChangeGracePeriod

Время ожидания перед активацией новой идентичности endpoint при смене меток. Предотвращает кратковременные разрывы при обновлении pod

"5s"

installNoConntrackIptablesRules - iptables-правила для отключения connection tracking для трафика pod#

Параметр

Описание

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

installNoConntrackIptablesRules

Устанавливать iptables-правила для пропуска netfilter conntrack для трафика pod. Только для прямой маршрутизации и полного KPR режима. Несовместимо с managed-кластерами и chained CNI

false

ipam - управление IP-адресами#

Параметр

Описание

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

ipam.mode

Режим управления IP адресами (crd или kvstore)

"cluster-pool"

ipam.ciliumNodeUpdateRate

Максимальная скорость обновления CiliumNode custom resource

"15s"

ipam.multiPoolPreAllocation

Настройки предварительного выделения адресов в режиме Multi-Pool IPAM

""

ipam.installUplinkRoutesForDelegatedIPAM

Устанавливать маршруты через uplink на хосте для делегированного IPAM-плагина

false

ipam.operator.clusterPoolIPv4PodCIDRList

IPv4 CIDR диапазоны для делегирования отдельным узлам для IPAM

["10.244.0.0/16"]

ipam.operator.clusterPoolIPv4MaskSize

Размер IPv4 CIDR маски для делегирования отдельным узлам

24

ipam.operator.clusterPoolIPv6PodCIDRList

IPv6 CIDR диапазоны для делегирования отдельным узлам для IPAM

["fd00::/104"]

ipam.operator.clusterPoolIPv6MaskSize

Размер IPv6 CIDR маски для делегирования отдельным узлам

120

ipam.operator.autoCreateCiliumPodIPPools

IP-пулы для автосоздания в multi-pool IPAM режиме

{}

ipam.operator.externalAPILimitBurstSize

Максимальный burst размер при ограничении скорости доступа к внешним API

20

ipam.operator.externalAPILimitQPS

Максимальные запросы в секунду при ограничении доступа к внешним API

4.0

defaultLBServiceIPAM - IPAM для LoadBalancer сервисов по умолчанию#

Параметр

Описание

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

defaultLBServiceIPAM

Метод IPAM для LoadBalancer-сервисов без явного LoadBalancer class: lbipam (LB IP Address Manager), nodeipam, none

"lbipam"

nodeIPAM - управление IP-адресами узлов#

Параметр

Описание

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

nodeIPAM.enabled

Настроить узел IPAM

false

apiRateLimit - переопределение rate limiting для Cilium Agent API#

Параметр

Описание

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

apiRateLimit

Переопределение отдельных настроек ratelimiting-вызовов к API cilium agent

~

ipMasqAgent - агент маскирования IP-адресов#

Параметр

Описание

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

ipMasqAgent.enabled

Настроить eBPF-based ip-masq-agent

false

ipv4 - поддержка IPv4#

Параметр

Описание

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

ipv4.enabled

Включить поддержку IPv4

true

ipv6 - поддержка IPv6#

Параметр

Описание

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

ipv6.enabled

Включить поддержку IPv6

false

k8s - специфичные настройки Kubernetes#

Параметр

Описание

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

k8s.requireIPv4PodCIDR

Предоставление IPv4-диапазона

false

k8s.requireIPv6PodCIDR

Предоставление IPv6-диапазона

false

keepDeprecatedLabels - сохранение устаревших selector-меток в DaemonSet#

Параметр

Описание

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

keepDeprecatedLabels

Сохранение устаревших selector-меток при развертывании Cilium DaemonSet (для обратной совместимости при обновлении)

false

keepDeprecatedProbes - сохранение устаревших probe-определений в DaemonSet#

Параметр

Описание

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

keepDeprecatedProbes

сохранение устаревших probe-определений при развртывании Cilium DaemonSet

false

startupProbe - проверка готовности при запуске#

Параметр

Описание

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

startupProbe.failureThreshold

Порог неудач startup проверок

300

startupProbe.periodSeconds

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

2

livenessProbe - проверка работоспособности#

Параметр

Описание

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

livenessProbe.failureThreshold

Порог неудач liveness проверок

10

livenessProbe.periodSeconds

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

30

livenessProbe.requireK8sConnectivity

Включить ли ожидание доступности kube-apiserver как часть проверки жизнеспособности

true

readinessProbe - проверка готовности#

Параметр

Описание

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

readinessProbe.failureThreshold

Порог неудач readiness проверок

3

readinessProbe.periodSeconds

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

30

kubeProxyReplacement - режим замены Kube-proxy#

Параметр

Описание

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

kubeProxyReplacement

Замена Kube-proxy на Cilium

true

kubeProxyReplacementHealthzBindAddr - адрес healthz-сервера для kube-proxy replacement#

Параметр

Описание

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

kubeProxyReplacementHealthzBindAddr

Адрес привязки healthz-сервера для kube-proxy replacement. Пример: "0.0.0.0:10256" (IPv4) или "[::]:10256" (IPv6). Пустая строка - отключено

""

l2NeighDiscovery - обнаружение соседних устройств на L2 уровне#

Параметр

Описание

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

l2NeighDiscovery.enabled

Включить L2 neighbor discovery в агенте

false

l7Proxy - L7 прокси для сетевых политик уровня приложения#

Параметр

Описание

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

l7Proxy

L7-прокси (Envoy) для применения сетевых политик уровня приложения (HTTP, gRPC, Kafka)

true

localRedirectPolicy - перенаправление трафика на локальные эндпоинты (устарело)#

Параметр

Описание

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

localRedirectPolicy

Перенаправление трафика на локальные endpoint. Устарело, используйте localRedirectPolicies.enabled

false

localRedirectPolicies - перенаправление трафика сервисов на локальные поды#

Параметр

Описание

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

localRedirectPolicies.enabled

Включение Local Redirect Policies - перенаправление трафика сервисов на локальные (на том же узле) бекенд pod

false

localRedirectPolicies.addressMatcherCIDRs

Список CIDR-диапазонов, разрешенных в Address Matcher правилах Local Redirect Policies

~

logSystemLoad - периодическое логирование нагрузки системы#

Параметр

Описание

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

logSystemLoad

Включить периодическое логирование системной нагрузки (CPU, memory) в логах агента

false

maglev - алгоритм консистентного хеширования Maglev#

Параметр

Описание

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

maglev

Конфигурация алгоритма Maglev consistent hashing для балансировки нагрузки. Поддерживает параметры tableSize и hashSeed

{}

enableIPv4Masquerade - маскарадинг исходящего IPv4-трафика pod#

Параметр

Описание

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

enableIPv4Masquerade

Включить masquerade (SNAT) для IPv4-трафика, исходящего с узла от pod. По умолчанию true, кроме режима ENI IPAM

true

enableIPv6Masquerade - маскарадинг исходящего IPv6-трафика pod#

Параметр

Описание

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

enableIPv6Masquerade

Включить masquerade (SNAT) для IPv6-трафика, исходящего с узла от pod

true

enableMasqueradeRouteSource - masquerade к IP источника маршрута#

Параметр

Описание

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

enableMasqueradeRouteSource

Заменять исходный IP на IP-адрес маршрута исходящего трафика вместо IP узла

false

enableIPv4BIGTCP - BIG TCP для увеличения GSO/GRO лимитов IPv4#

Параметр

Описание

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

enableIPv4BIGTCP

Включить BIG TCP для IPv4: увеличение GSO/GRO лимитов для узлов и pod

false

enableIPv6BIGTCP - BIG TCP для увеличения GSO/GRO лимитов IPv6#

Параметр

Описание

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

enableIPv6BIGTCP

Включить BIG TCP для IPv6: увеличение GSO/GRO лимитов для узлов и pod

false

nat - настройки трансляции сетевых адресов#

Параметр

Описание

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

nat.mapStatsEntries

Количество соединений top-k SNAT map для отслеживания в Cilium statedb

32

nat.mapStatsInterval

Интервал между подсчетами SNAT map для статистики

"30s"

egressGateway - шлюз исходящего трафика#

Параметр

Описание

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

egressGateway.enabled

Включить egress gateway для перенаправления и SNAT трафика покидающего кластер

false

egressGateway.reconciliationTriggerInterval

Время между триггерами reconciliation состояния egress gateway

"1s"

vtep - интеграция с VXLAN Tunnel Endpoint#

Параметр

Описание

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

vtep.enabled

Включить интеграцию VXLAN Tunnel Endpoint (beta)

false

vtep.endpoint

Список IP конечных точек VTEP-устройств через пробел

""

vtep.cidr

Список VTEP-устройств CIDR через пробел

""

vtep.mask

VTEP CIDR маска, применяемая ко всем VTEP CIDR

""

vtep.mac

Список MAC-адресов VTEP-устройств через пробел

""

ipv4NativeRoutingCIDR - CIDR нативной IPv4 маршрутизации#

Параметр

Описание

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

ipv4NativeRoutingCIDR

IPv4 CIDR-диапазон с предварительно настроенной маршрутизацией. Cilium не применяет SNAT к трафику в этот диапазон и передает его в Linux network stack

""

ipv6NativeRoutingCIDR - CIDR нативной IPv6 маршрутизации#

Параметр

Описание

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

ipv6NativeRoutingCIDR

IPv6 CIDR-диапазон с предварительно настроенной маршрутизацией. Аналогично ipv4NativeRoutingCIDR для IPv6

""

monitor - мониторинг сетевого трафика#

Параметр

Описание

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

monitor.enabled

Включить cilium-monitor sidecar

false

loadBalancer - балансировщик нагрузки#

Параметр

Описание

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

loadBalancer.acceleration

Ускорение обработки сервисов через XDP (disabled, native, best-effort)

"disabled"

loadBalancer.l7.backend

Включить L7 service load balancing через Envoy Proxy (envoy, disabled)

"disabled"

loadBalancer.l7.ports

Список портов для автоматического перенаправления на L7 backend

[]

loadBalancer.l7.algorithm

Default LB алгоритм (round_robin, least_request, random)

"round_robin"

nodePort - службы NodePort#

Параметр

Описание

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

nodePort.enabled

Включить реализацию сервиса Cilium NodePort

false

nodePort.addresses

Список CIDR для выбора IP-адресов, назначенных native-устройствам для NodePort load-balancing

~

nodePort.bindProtection

Предотвратить привязку приложений к service-портам

true

nodePort.autoProtectPortRange

Добавить диапазон NodePort в ip_local_reserved_ports при обнаружении конфликта

true

nodePort.enableHealthCheck

Включить сервер healthcheck nodePort для сервисов NodePort

true

nodePort.enableHealthCheckLoadBalancerIP

Включить доступ healthcheck nodePort на LoadBalancerIP

false

policyEnforcementMode - режим принудительного применения сетевых политик#

Параметр

Описание

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

policyEnforcementMode

Режим применения политик: default (политики применяются только к pod с метками, остальные - открыты), always (все pod закрыты по умолчанию), never (политики не применяются)

"default"

policyCIDRMatchMode - сущности, выбираемые CIDR-селекторами в политиках#

Параметр

Описание

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

policyCIDRMatchMode

Список сущностей, которые могут быть выбраны CIDR-селектором в сетевой политике. Возможное значение: nodes

""

pprof - профилирование производительности#

Параметр

Описание

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

pprof.enabled

Включить pprof для cilium agent

false

pprof.address

Адрес pprof для cilium agent

"localhost"

pprof.port

Порт pprof для cilium agent

6060

prometheus - метрики Prometheus#

Параметр

Описание

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

prometheus.metricsService

Создавать Kubernetes Service для экспорта метрик Prometheus

true

prometheus.enabled

Конфигурация метрик Prometheus на настроенном порту

true

prometheus.port

Порт для метрик Prometheus

9962

prometheus.serviceMonitor.enabled

Включить ServiceMonitor для Prometheus Operator

true

prometheus.serviceMonitor.labels

Метки для ServiceMonitor cilium agent

{}

prometheus.serviceMonitor.annotations

Аннотации для ServiceMonitor cilium agent

{}

prometheus.serviceMonitor.jobLabel

jobLabel для ServiceMonitor cilium agent

""

prometheus.serviceMonitor.interval

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

"10s"

prometheus.serviceMonitor.scrapeTimeout

Тайм-аут скрейпинга метрик cilium-agent

~

prometheus.serviceMonitor.relabelings

Конфигурации Relabeling для ServiceMonitor cilium agent

[{sourceLabels:[__meta_kubernetes_pod_node_name], targetLabel:node}]

prometheus.serviceMonitor.metricRelabelings

Конфигурации etricRelabelings для ServiceMonitor cilium agent

~

prometheus.serviceMonitor.trustCRDsExist

Не проверять monitoring.coreos.com/v1 CRDs перед развертыванием

true

prometheus.metrics

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

~

prometheus.controllerGroupMetrics

Включить метрики controllerGroup для мониторинга подсистем Cilium

[write-cni-file, sync-host-ips, sync-lb-maps-with-k8s-services]

dashboards - панели Grafana#

Параметр

Описание

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

dashboards.enabled

Панели Grafana для cilium agent

false

dashboards.label

Метка для импорта панелей Grafana

"grafana_dashboard"

dashboards.namespace

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

~

dashboards.labelValue

Значение метки для панелей

"1"

dashboards.annotations

Аннотации для панелей

{}

envoy - Cilium Envoy Proxy в отдельном DaemonSet#

Параметр

Описание

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

envoy.enabled

Включение Envoy Proxy в виде отдельного DaemonSet. Для новых установок рекомендуется включить

false (true для новых)

envoy.baseID

Базовый ID для Envoy при выделении shared memory regions. Изменять только при запуске нескольких Envoy на одном узле

0

envoy.log.format

Формат строки лога Envoy (text). Взаимоисключает с log.format_json

"[%Y-%m-%d %T.%e][%t][%l][%n] [%g:%#] %v"

envoy.log.format_json

Формат JSON-логирования Envoy. Взаимоисключает с log.format

null

envoy.log.path

Путь к отдельному файлу логов Envoy. Пустой = /dev/stdout

""

envoy.log.defaultLevel

Уровень логирования Envoy по умолчанию: trace, debug, info, warning, error, critical, off. Независим от уровня Cilium Agent

~ (info)

envoy.log.accessLogBufferSize

Размер буфера access log Envoy в байтах. Увеличьте при ошибках "Discarded truncated access log message"

4096

envoy.connectTimeoutSeconds

Тайм-аут установки TCP-соединения Envoy с upstream (секунды)

2

envoy.initialFetchTimeoutSeconds

Тайм-аут первоначальной выборки конфигурации на xDS-потоке

30

envoy.maxConcurrentRetries

Максимальное количество одновременных retry-запросов на Envoy-кластер

128

envoy.httpRetryCount

Максимальное количество HTTP retry для каждого запроса

3

envoy.maxRequestsPerConnection

Максимальное количество HTTP-запросов на одно соединение (0 = без ограничений)

0

envoy.maxConnectionDurationSeconds

Максимальная длительность соединения Envoy (секунды). 0 = без ограничений

0

envoy.idleTimeoutDurationSeconds

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

60

envoy.streamIdleTimeoutDurationSeconds

Тайм-аут бездействия stream (нет upstream/downstream активности) - секунды

300

envoy.xffNumTrustedHopsL7PolicyIngress

Доверенных хопов X-Forwarded-For для ingress L7-политик Envoy

0

envoy.xffNumTrustedHopsL7PolicyEgress

Доверенных хопов X-Forwarded-For для egress L7-политик Envoy

0

envoy.policyRestoreTimeoutDuration

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

null ("3m")

envoy.httpUpstreamLingerTimeout

Время блокировки worker-потока при закрытии upstream HTTP-соединения. 0 = немедленный RST, -1 = асинхронное закрытие

null

envoy.image.override

Полное переопределение образа cilium-envoy

~

envoy.image.repository

Репозиторий образа Cilium Envoy Proxy

"...dapp-cilium-proxy/cilium-envoy"

envoy.image.tag

Тег образа cilium-envoy (версия Envo y)

"v1.35.9"

envoy.image.pullPolicy

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

"IfNotPresent"

envoy.image.digest

SHA256-дайджест образа cilium-envoy

""

envoy.image.useDigest

Использовать дайджест при загрузке образа cilium-envoy

false

envoy.extraContainers

Дополнительные sidecar-контейнеры в DaemonSet cilium-envoy

[]

envoy.extraArgs

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

[]

envoy.extraEnv

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

[]

envoy.extraHostPathMounts

Дополнительные hostPath-монтирования для cilium-envoy

[]

envoy.extraVolumes

Дополнительные тома для DaemonSet cilium-envoy

[]

envoy.extraVolumeMounts

Дополнительные монтирования томов для cilium-envoy

[]

envoy.terminationGracePeriodSeconds

Время graceful shutdown для pod cilium-envoy

1

envoy.healthPort

TCP-порт Health API для cilium-envoy

9878

envoy.updateStrategy.type

Тип стратегии обновления DaemonSet cilium-envoy

"RollingUpdate"

envoy.updateStrategy.rollingUpdate.maxUnavailable

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

2

envoy.rollOutPods

Автоматически пересоздавать pod cilium-envoy при обновлении ConfigMap

false

envoy.bootstrapConfigMap

Имя ConfigMap с кастомной bootstrap-конфигурацией Envoy. ВНИМАНИЕ: некорректная конфигурация может предотвратить запуск

~

envoy.annotations

Аннотации для top-level объектов cilium-envoy

{}

envoy.podSecurityContext.appArmorProfile.type

Профиль AppArmor для контейнеров cilium-envoy

"Unconfined"

envoy.podAnnotations

Аннотации для pod cilium-envoy

{}

envoy.podLabels

Метки для pod cilium-envoy

{}

envoy.resources

Ресурсные запросы и лимиты для контейнера cilium-envoy

{}

envoy.startupProbe.enabled

Включить startup probe для cilium-envoy

true

envoy.startupProbe.failureThreshold

Порог неудач startup probe для cilium-envoy (105 × 2s ≈ 210s)

105

envoy.startupProbe.periodSeconds

Интервал между попытками startup probe cilium-envoy

2

envoy.livenessProbe.enabled

Включить liveness probe для cilium-envoy

true

envoy.livenessProbe.failureThreshold

Порог неудач liveness probe для cilium-envoy

10

envoy.livenessProbe.periodSeconds

Интервал проверок liveness probe cilium-envoy

30

envoy.readinessProbe.failureThreshold

Порог неудач readiness probe для cilium-envoy

3

envoy.readinessProbe.periodSeconds

Интервал проверок readiness probe cilium-envoy

30

envoy.securityContext.privileged

Запускать cilium-envoy в привилегированном режиме

false

envoy.securityContext.seLinuxOptions.level

SELinux уровень для контейнера cilium-envoy

"s0"

envoy.securityContext.seLinuxOptions.type

SELinux тип контекста для cilium-envoy

"spc_t"

envoy.securityContext.capabilities.envoy

Linux capabilities для контейнера cilium-envoy (NET_ADMIN, SYS_ADMIN)

[NET_ADMIN, SYS_ADMIN]

envoy.securityContext.capabilities.keepCapNetBindService

Передавать capability NET_BIND_SERVICE в процесс Envoy (все остальные capabilities удаляются cilium-envoy-starter)

false

envoy.affinity

Правила affinity для cilium-envoy (anti-affinity с другими Envoy, affinity к cilium-agent)

podAntiAffinity к k8s-app=cilium-envoy + podAffinity к k8s-app=cilium

envoy.nodeSelector

Селектор узлов для cilium-envoy

{kubernetes.io/os: linux}

envoy.tolerations

Толерации для планирования cilium-envoy

[{operator: Exists}]

envoy.priorityClassName

Priority class для pod cilium-envoy

~

envoy.dnsPolicy

DNS-политика для pod cilium-envoy

~

envoy.debug.admin.enabled

Включить admin-интерфейс Envoy для отладки (не используйте в production)

false

envoy.debug.admin.port

Порт admin-интерфейса Envoy (доступен через kubectl port-forward)

9901

envoy.prometheus.enabled

Включить экспорт метрик Prometheus для cilium-envoy

true

envoy.prometheus.serviceMonitor.enabled

Создавать ServiceMonitor для cilium-envoy (применяется также при Envoy в embedded-режиме в cilium-agent)

true

envoy.prometheus.serviceMonitor.labels

Метки ServiceMonitor cilium-envoy

{}

envoy.prometheus.serviceMonitor.annotations

Аннотации ServiceMonitor cilium-envoy

{}

envoy.prometheus.serviceMonitor.interval

Интервал скрейпинга метрик cilium-envoy

"10s"

envoy.prometheus.serviceMonitor.scrapeTimeout

Тайм-аут скрейпинга метрик cilium-envoy

~

envoy.prometheus.serviceMonitor.relabelings

Правила перелейблирования ServiceMonitor cilium-envoy

[{sourceLabels:[__meta_kubernetes_pod_node_name], targetLabel:node}]

envoy.prometheus.serviceMonitor.metricRelabelings

Правила перелейблирования метрик ServiceMonitor cilium-envoy

~

envoy.prometheus.port

Порт сервера метрик Prometheus cilium-envoy

"9964"

nodeSelectorLabels - идентификация узлов через метки для node identity#

Параметр

Описание

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

nodeSelectorLabels

Включить использование меток узлов Kubernetes как составляющей идентичности узла Cilium (node identity)

false

resourceQuotas - квоты ресурсов#

Параметр

Описание

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

resourceQuotas.enabled

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

false

resourceQuotas.cilium.hard.pods

Жесткая квота pod для Cilium

"10k"

resourceQuotas.operator.hard.pods

Жесткая квота pod для оператора

"15"

secretsNamespaceAnnotations - аннотации для пространств имен секретов Cilium#

Параметр

Описание

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

secretsNamespaceAnnotations

Аннотации, добавляемые ко всем пространствам имен для хранения секретов Cilium (cilium-secrets)

{}

sleepAfterInit - режим ожидания вместо запуска агента#

Параметр

Описание

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

sleepAfterInit

Не запускать cilium agent после init-контейнеров. Используется для полного удаления Cilium без создания новых артефактов

false

svcSourceRangeCheck - проверка source ranges для LoadBalancer сервисов#

Параметр

Описание

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

svcSourceRangeCheck

Включить фильтрацию трафика по полю loadBalancerSourceRanges для LoadBalancer-сервисов

true

synchronizeK8sNodes - синхронизация узлов Kubernetes в kvstore#

Параметр

Описание

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

synchronizeK8sNodes

Синхронизировать ресурсы Node Kubernetes в kvstore и выполнять GC CNP (CiliumNetworkPolicy)

true

tls - настройки шифрования TLS#

Параметр

Описание

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

tls.secretsBackend

Настройка загрузки секретов для TLS-aware CiliumNetworkPolicies (local, k8s)

"k8s"

tls.readSecretsOnlyFromSecretsNamespace

Ограничить чтение секретов для CiliumNetworkPolicy только пространством tls.secretsNamespace. false = доступ ко всем секретам кластера (не рекомендуется)

false

tls.secretsNamespace.create

Создание пространства имен для TLS-секретов CiliumNetworkPolicy

false

tls.secretsNamespace.name

Пространство имен для TLS-секретов, используемых в CiliumNetworkPolicy (TLS interception)

"cilium-secrets"

tls.secretSync.enabled

Включить синхронизацию секретов для TLS Interception в secretsNamespace. При false и readSecretsOnlyFromSecretsNamespace=false - агент читает секреты напрямую

false

tls.ca.cert

Опциональный CA сертификат. Если предоставлен, будет использован для генерации всех остальных сертификатов

""

tls.ca.key

Опциональный CA приватный ключ. Если предоставлен, будет использован для генерации всех остальных сертификатов

""

tls.certValidityDuration

Продолжительность действия генерируемых сертификатов в днях (для автогенерированного CA)

1095

tls.caBundle.enabled

Включить использование CA trust bundle

false

tls.caBundle.name

Имя ConfigMap содержащего CA trust bundle

"cilium-root-ca.crt"

tls.caBundle.key

Запись ConfigMap содержащая CA trust bundle

"ca.crt"

tls.caBundle.useSecret

Использовать Secret вместо ConfigMap

false

tunnelProtocol - протокол туннелирования оверлейной сети#

Параметр

Описание

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

tunnelProtocol

Протокол туннелирования в tunnel-режиме маршрутизации: vxlan или geneve

"vxlan"

underlayProtocol - протокол IP-подсети для туннелирования#

Параметр

Описание

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

underlayProtocol

IP-семейство для underlay-сети туннелей: ipv4 или ipv6

"ipv4"

routingMode - режим маршрутизации трафика подов#

Параметр

Описание

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

routingMode

Режим маршрутизации: tunnel (оверлей через VXLAN/Geneve) или native (прямая маршрутизация через хост)

"tunnel"

tunnelPort - UDP-порт туннелей VXLAN/Geneve#

Параметр

Описание

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

tunnelPort

UDP-порт для VXLAN/Geneve туннелей. 0 = значение по умолчанию: 8472 для VXLAN, 6081 для Geneve

Port 8472 (VXLAN) / 6081 (Geneve)

tunnelSourcePortRange - диапазон source-портов туннелей#

Параметр

Описание

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

tunnelSourcePortRange

Подсказка диапазона source-портов для VXLAN/Geneve туннелей. "0-0" = решает драйвер ядра

"0-0"

serviceNoBackendResponse - ответ при отсутствии бекендов у сервиса#

Параметр

Описание

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

serviceNoBackendResponse

Ответ на трафик к сервису без активных бекендов: reject (TCP RST / ICMP) или drop

"reject"

MTU - переопределение MTU для виртуальных интерфейсов Cilium#

Параметр

Описание

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

MTU

Размер MTU для виртуальных интерфейсов Cilium (cilium_host, cilium_net, cilium_vxlan, lxc_health). 0 = автоопределение. Не изменяет MTU физических интерфейсов хоста

0

disableEndpointCRD - отключение CRD CiliumEndpoint#

Параметр

Описание

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

disableEndpointCRD

Отключение использование CRD CiliumEndpoint. Снижает нагрузку на etcd в крупных кластерах, но отключает некоторые функции наблюдаемости

false

wellKnownIdentities - поддержка well-known идентичностей Cilium#

Параметр

Описание

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

wellKnownIdentities.enabled

Включить поддержку предопределенных (well-known) идентичностей для известных системных компонентов Kubernetes

false

etcd - интеграция с etcd#

Параметр

Описание

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

etcd.enabled

Включить etcd-режим для агента

false

etcd.endpoints

Список etcd endpoints

['https://CHANGE-ME:2379']

etcd.ssl

Включить использование TLS/SSL для подключения к Etcd

false

operator - оператор Cilium#

Параметр

Описание

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

operator.enabled

Включить компонент Cilium-operator (обязательно)

true

operator.rollOutPods

Автоматически развертывать Cilium-operator pod при обновлении configmap

true

operator.image.override

Переопределение образа Cilium-operator

~

operator.image.repository

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

"...dapp-cilium/operator"

operator.image.tag

Тег образа Cilium-operator

"v1.18.8"

operator.image.genericDigest

SHA256 digest для generic operator

""

operator.image.azureDigest

SHA256 digest для Azure operator

""

operator.image.awsDigest

SHA256 digest для AWS operator

""

operator.image.alibabacloudDigest

SHA256 digest для Alibaba Cloud operator

""

operator.image.useDigest

Использовать digest образа

false

operator.image.pullPolicy

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

"IfNotPresent"

operator.image.suffix

Суффикс для образа оператора

""

operator.replicas

Количество реплик для Cilium-operator deployment

2

operator.priorityClassName

Priorityclass для Cilium-operator

""

operator.dnsPolicy

DNS-политика для Cilium-operator pod

""

operator.updateStrategy.type

Стратегия обновления Cilium-operator

"RollingUpdate"

operator.updateStrategy.rollingUpdate.maxSurge

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

"25%"

operator.updateStrategy.rollingUpdate.maxUnavailable

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

"50%"

operator.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

Строгие правила AntiAffinity для operator pod

podAntiAffinity к io.cilium/app=operator

operator.topologySpreadConstraints

Pod topology spread constraints для Cilium-operator

[]

operator.nodeSelector.kubernetes.io/os

Селектор узлов для Cilium-operator pod

{kubernetes.io/os: linux}

operator.tolerations

Node tolerations для Cilium-operator размещения на узлах с taint

[{key: node-role.kubernetes.io/control-plane}, {key: node.kubernetes.io/not-ready}, ...]

operator.extraArgs

Дополнительные аргументы для контейнера Cilium-operator

[]

operator.extraEnv

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

[]

operator.extraHostPathMounts

Дополнительные Cilium-operator hostPath монтирования

[]

operator.extraVolumes

Дополнительные Cilium-operator volumes

[]

operator.extraVolumeMounts

Дополнительные Cilium-operator volumeMounts

[]

operator.annotations

Аннотации для всех top-level Cilium-operator объектов

{}

operator.hostNetwork

Настройка HostNetwork

true

operator.podSecurityContext.seccompProfile.type

Тип seccomp профиля для operator pod

"RuntimeDefault"

operator.podAnnotations

Аннотации для Cilium-operator pod

{}

operator.podLabels

Метки для Cilium-operator pod

{}

operator.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

operator.podDisruptionBudget.minAvailable

Минимальное количество/процент pod которые должны остаться запланированными

null

operator.podDisruptionBudget.maxUnavailable

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

1

operator.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика учета недоступных pod Cilium-operator при вытеснении

null

operator.resources.limits.cpu

Максимальное потребление CPU для Cilium-operator

"1000m"

operator.resources.limits.memory

Максимальное потребление памяти для Cilium-operator

"1Gi"

operator.resources.requests.cpu

Запрашиваемые ресурсы CPU для Cilium-operator

"100m"

operator.resources.requests.memory

Запрашиваемые ресурсы памяти для Cilium-operator

"128Mi"

operator.securityContext.capabilities.drop

Linux capabilities, удаляемые из контейнераCilium-operator

[ALL]

operator.securityContext.allowPrivilegeEscalation

Разрешить повышение привилегий

false

operator.endpointGCInterval

Интервал garbage collection endpoint

"5m0s"

operator.nodeGCInterval

Интервал garbage collection Cilium

"5m0s"

operator.identityGCInterval

Интервал garbage collection identity

"15m0s"

operator.identityHeartbeatTimeout

Время ожидания для identityHeartbeats

"30m0s"

operator.pprof.enabled

Включить pprof для Cilium-operator

false

operator.pprof.address

Адрес pprof для Cilium-operator

"localhost"

operator.pprof.port

Порт pprof для Cilium-operator

6061

operator.prometheus.metricsService

Создавать Kubernetes Service для метрик Cilium-operator

true

operator.prometheus.enabled

Включить метрики Prometheus для Cilium-operator

true

operator.prometheus.port

Порт метрик Prometheus

9963

operator.prometheus.serviceMonitor.enabled

Включить ServiceMonitor для Prometheus Operator

true

operator.prometheus.serviceMonitor.labels

Метки для ServiceMonitor Cilium-operator

{}

operator.prometheus.serviceMonitor.annotations

Аннотации для ServiceMonitor Cilium-operator

{}

operator.prometheus.serviceMonitor.jobLabel

jobLabel для ServiceMonitor Cilium-operator

""

operator.prometheus.serviceMonitor.interval

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

"10s"

operator.prometheus.serviceMonitor.scrapeTimeout

Тайм-аут скрейпинга метрик Cilium-operator

~

operator.prometheus.serviceMonitor.relabelings

Relabeling конфигурации для ServiceMonitor Cilium-operator

~

operator.prometheus.serviceMonitor.metricRelabelings

Metrics relabeling конфигурации для ServiceMonitor Cilium-operator

~

operator.dashboards.enabled

Панели Grafana для Cilium-operator

false

operator.dashboards.label

Метка для импорта панелей Grafana

"grafana_dashboard"

operator.dashboards.namespace

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

~

operator.dashboards.labelValue

Значение метки для панелей

"1"

operator.dashboards.annotations

Аннотации для панелей

{}

operator.skipCRDCreation

Пропустить создание CRD для Cilium-operator

false

operator.removeNodeTaints

Удалять Cilium NodeTaints с Kubernetes узлов с работающим pod Cilium

true

operator.setNodeTaints

Помечать узлы, где Cilium запланирован, но не запущен (по умолчанию то же, что removeNodeTaints)

~

operator.setNodeNetworkStatus

Установить состояние узла NetworkUnavailable в false для узлов с работающим pod Cilium

true

operator.unmanagedPodWatcher.restart

Перезапускать pod, не управляемые Cilium

true

operator.unmanagedPodWatcher.intervalSeconds

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

15

nodeinit - DaemonSet инициализации узлов кластера#

Параметр

Описание

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

nodeinit.enabled

Включить nodeinit DaemonSet для подготовки узлов (настройка iptables, монтирование и др.)

false

nodeinit.image.override

Полное переопределение образа nodeinit

~

nodeinit.image.repository

Репозиторий образа nodeinit (startup-script)

"quay.io/cilium/startup-script"

nodeinit.image.tag

Тег образа nodeinit

"1755531540-60ee83e"

nodeinit.image.digest

SHA256-дайджест образа nodeinit

"sha256:5bdc..."

nodeinit.image.useDigest

Использовать дайджест при загрузке образа nodeinit

true

nodeinit.image.pullPolicy

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

"IfNotPresent"

nodeinit.priorityClassName

Priorityclass для pod nodeinit

""

nodeinit.updateStrategy.type

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

"RollingUpdate"

nodeinit.extraEnv

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

[]

nodeinit.extraVolumes

Дополнительные тома для nodeinit

[]

nodeinit.extraVolumeMounts

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

[]

nodeinit.affinity

Правила affinity для nodeinit

{}

nodeinit.nodeSelector

Селектор узлов для nodeinit

{kubernetes.io/os: linux}

nodeinit.tolerations

Толерации для планирования nodeinit

[{operator: Exists}]

nodeinit.annotations

Аннотации для top-level объектов nodeinit

{}

nodeinit.podAnnotations

Аннотации для pod nodeinit

{}

nodeinit.podLabels

Метки для pod nodeinit

{}

nodeinit.podSecurityContext.appArmorProfile.type

Профиль AppArmor для контейнеров nodeinit

"Unconfined"

nodeinit.resources.requests.cpu

Минимально гарантированное CPU для nodeinit

"100m"

nodeinit.resources.requests.memory

Минимально гарантированная память для nodeinit

"100Mi"

nodeinit.securityContext.allowPrivilegeEscalation

Запрет повышения привилегий в nodeinit

false

nodeinit.securityContext.privileged

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

false

nodeinit.securityContext.seLinuxOptions.level

SELinux уровень для nodeinit

"s0"

nodeinit.securityContext.seLinuxOptions.type

SELinux тип контекста для nodeinit

"spc_t"

nodeinit.securityContext.capabilities.add

Linux capabilities для nodeinit (SYS_MODULE, NET_ADMIN, SYS_ADMIN, SYS_CHROOT, SYS_PTRACE)

[SYS_MODULE, NET_ADMIN, SYS_ADMIN, SYS_CHROOT, SYS_PTRACE]

nodeinit.bootstrapFile

Путь к файлу, в который nodeinit записывает временную метку успешной инициализации

"/tmp/cilium-bootstrap.d/cilium-bootstrap-time"

nodeinit.startup.preScript

Bash-скрипт, выполняемый ДО основной логики инициализации узла

""

nodeinit.startup.postScript

Bash-скрипт, выполняемый ПОСЛЕ основной логики инициализации узла

""

nodeinit.prestop.preScript

Bash-скрипт, выполняемый ДО основной логики prestop hook

""

nodeinit.prestop.postScript

Bash-скрипт, выполняемый ПОСЛЕ основной логики prestop hook

""

preflight - предварительные проверки#

preflight запускается при операции Dactl upgrade cluster и необходим, чтобы провести проверки перед обновлением Cilium.

Параметр

Описание

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

preflight.enabled

Включить Cilium preflight ресурсы (требуется для обновления)

false

preflight.image.override

Переопределение образа Cilium preflight

~

preflight.image.repository

Репозиторий образа preflight

"...dapp-cilium/cilium"

preflight.image.tag

Тег образа preflight

"v1.18.8"

preflight.image.digest

SHA256 digest образа preflight

""

preflight.image.useDigest

Использовать digest образа

false

preflight.image.pullPolicy

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

"IfNotPresent"

preflight.envoy.image.override

Полное переопределение образа preflight Envoy

~

preflight.envoy.image.repository

Репозиторий образа preflight Envoy

"...dapp-cilium-proxy/cilium-envoy"

preflight.envoy.image.tag

Тег образа preflight Envoy

"v1.35.9"

preflight.envoy.image.pullPolicy

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

"IfNotPresent"

preflight.envoy.image.digest

SHA256-дайджест образа preflight Envoy

""

preflight.envoy.image.useDigest

Использовать дайджест при загрузке образа preflight Envoy

false

preflight.priorityClassName

Priority class для preflight pod

""

preflight.updateStrategy.type

Стратегия обновления preflight

"RollingUpdate"

preflight.extraEnv

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

[]

preflight.extraVolumes

Дополнительные preflight volumes

[]

preflight.extraVolumeMounts

Дополнительные preflight volumeMounts

[]

preflight.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

Строгая pod affinity с агентами Cilium

podAffinity к k8s-app=cilium

preflight.nodeSelector.kubernetes.io/os

Селектор узлов для preflight pod

{kubernetes.io/os: linux}

preflight.tolerations

Node tolerations для preflight размещения на узлах с taint

[[{operator: Exists}]

preflight.annotations

Аннотации для всех top-level объектов preflight

{}

preflight.podSecurityContext

Контекст безопасности для preflight pod

{}

preflight.podAnnotations

Аннотации для preflight pod

{}

preflight.podLabels

Метки для preflight pod

{}

preflight.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

preflight.podDisruptionBudget.minAvailable

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

null

preflight.podDisruptionBudget.maxUnavailable

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

1

preflight.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика учета нерабочих pod preflight при вытеснении

null

preflight.resources

Ограничения ресурсов preflight

{}

preflight.readinessProbe.initialDelaySeconds

Время ожидания Kubelet перед первой проверкой

5

preflight.readinessProbe.periodSeconds

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

5

preflight.securityContext.allowPrivilegeEscalation

Запрет повышения привилегий в preflight

false

preflight.tofqdnsPreCache

Путь для записи файла --tofqdns-pre-cache

""

preflight.terminationGracePeriodSeconds

Период graceful termination для preflight Deployment и DaemonSet

1

preflight.validateCNPs

По умолчанию валидировать установленные CNP перед обновлением Cilium

true

enableCriticalPriorityClass - управление PriorityClass для критических компонентов#

Параметр

Описание

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

enableCriticalPriorityClass

Включение установки PriorityClass для системно-критических компонентов Cilium. Отключение полезно для рендеринга чартов без доступа к API кластера (например в helm template)

true

clustermesh - мульти-кластерная сеть#

Параметр

Описание

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

clustermesh.useAPIServer

Развернуть API-сервер для Clustermesh

false

clustermesh.maxConnectedClusters

Максимальное количество кластеров в ClusterMesh (255 или 511)

255

clustermesh.enableEndpointSliceSynchronization

Включить синхронизацию Kubernetes EndpointSlices через ClusterMesh

false

clustermesh.enableMCSAPISupport

Включить поддержку Multi-Cluster Services API

false

clustermesh.policyDefaultLocalCluster

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

false

clustermesh.annotations

Аннотации для всех top-level объектов Clustermesh

{}

clustermesh.config.enabled

Включить явную конфигурацию Clustermesh

false

clustermesh.config.domain

DNS-домен по умолчанию для Clustermesh API-серверов

"mesh.cilium.io"

clustermesh.config.clusters

Перечень кластеров для установления соединений в mesh-сети

[]

clustermesh.apiserver.image.override

Переопределение образа Clustermesh API-сервера

~

clustermesh.apiserver.image.repository

Репозиторий образа Clustermesh API-сервера

"...dapp-cilium/clustermesh-apiserver"

clustermesh.apiserver.image.tag

Тег образа Clustermesh API-сервера

"v1.18.8"

clustermesh.apiserver.image.digest

SHA256 digest образа Clustermesh API-сервера

""

clustermesh.apiserver.image.useDigest

Использовать digest образа

false

clustermesh.apiserver.image.pullPolicy

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

"IfNotPresent"

clustermesh.apiserver.healthPort

TCP-порт для Clustermesh API-сервера health API

9880

clustermesh.apiserver.readinessProbe

Конфигурация readiness проверок для Clustermesh API-сервера

{}

clustermesh.apiserver.etcd.resources

Ресурсы для Etcd контейнера в API-сервер

{}

clustermesh.apiserver.etcd.securityContext.allowPrivilegeEscalation

Разрешить повышение привилегий для контейнера Etcd

false

clustermesh.apiserver.etcd.securityContext.capabilities.drop

Отбрасываемые capabilities для Etcd

[ALL]

clustermesh.apiserver.etcd.lifecycle

Настройки lifecycle для контейнера Etcd

{}

clustermesh.apiserver.etcd.init.resources

Ресурсы для Etcd init-контейнера в API-сервер

{}

clustermesh.apiserver.etcd.init.extraArgs

Дополнительные аргументы для Clustermesh API-сервера etcdinit

[]

clustermesh.apiserver.etcd.init.extraEnv

Дополнительные переменные окружения для Clustermesh API-сервера etcdinit

[]

clustermesh.apiserver.etcd.storageMedium

Медиум хранения данных Etcd (Disk или Memory)

"Disk"

clustermesh.apiserver.kvstoremesh.enabled

Включить KVStoreMesh для кеширования информации удаленных кластеров

true

clustermesh.apiserver.kvstoremesh.healthPort

TCP-порт для KVStoreMesh health API

9881

clustermesh.apiserver.kvstoremesh.readinessProbe

Конфигурация readiness проверок для KVStoreMesh

{}

clustermesh.apiserver.kvstoremesh.extraArgs

Дополнительные аргументы для KVStoreMesh

[]

clustermesh.apiserver.kvstoremesh.extraEnv

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

[]

clustermesh.apiserver.kvstoremesh.resources

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

{}

clustermesh.apiserver.kvstoremesh.extraVolumeMounts

Дополнительные KVStoreMesh volumeMounts

[]

clustermesh.apiserver.kvstoremesh.securityContext.allowPrivilegeEscalation

Разрешить повышение привилегий для KVStoreMesh

false

clustermesh.apiserver.kvstoremesh.securityContext.capabilities.drop

Отбрасываемые capabilities для KVStoreMesh

[ALL]

clustermesh.apiserver.kvstoremesh.lifecycle

Настройки lifecycle для контейнера KVStoreMesh

{}

clustermesh.apiserver.kvstoremesh.kvstoreMode

Режим хранилища KVStoreMesh: internal (локальный etcd) или external (внешний kvstore, несовместим с crd-режимом identity)

"internal"

clustermesh.apiserver.service.type

Тип сервиса для доступа к apiserver

"NodePort"

clustermesh.apiserver.service.nodePort

Опциональный порт для доступа к apiserver

32379

clustermesh.apiserver.service.annotations

Аннотации для Clustermesh API-сервера

{}

clustermesh.apiserver.service.labels

Метки для Service Clustermesh API-сервера

{}

clustermesh.apiserver.service.externalTrafficPolicy

externalTrafficPolicy сервиса для доступа к apiserver (Local, Cluster)

"Cluster"

clustermesh.apiserver.service.internalTrafficPolicy

internalTrafficPolicy сервиса для доступа к apiserver (Local, Cluster)

"Cluster"

clustermesh.apiserver.service.enableSessionAffinity

Определяет, когда включать session affinity (HAOnly, Always, Never)

"HAOnly"

clustermesh.apiserver.service.loadBalancerClass

Настроить loadBalancerClass (требует Kubernetes 1.24+)

~

clustermesh.apiserver.service.loadBalancerIP

Настроить конкретный loadBalancerIP

~

clustermesh.apiserver.service.loadBalancerSourceRanges

Разрешенные диапазоны IP-адресов источников для LoadBalancer

[]

clustermesh.apiserver.replicas

Количество реплик для Clustermesh API-сервера deployment

1

clustermesh.apiserver.lifecycle

Настройки lifecycle для apiserver контейнера

{}

clustermesh.apiserver.terminationGracePeriodSeconds

terminationGracePeriodSeconds для Clustermesh API-сервера deployment

30

clustermesh.apiserver.extraArgs

Дополнительные аргументы для Clustermesh API-сервера

[]

clustermesh.apiserver.extraEnv

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

[]

clustermesh.apiserver.extraVolumes

Дополнительные Clustermesh API-сервера volumes

[]

clustermesh.apiserver.extraVolumeMounts

Дополнительные Clustermesh API-сервера volumeMounts

[]

clustermesh.apiserver.securityContext.allowPrivilegeEscalation

Разрешить повышение привилегий для Clustermesh контейнеров API-сервера

false

clustermesh.apiserver.securityContext.capabilities.drop

Отбрасываемые capabilities для Clustermesh API-сервера

[ALL]

clustermesh.apiserver.podSecurityContext.runAsNonRoot

Запуск как non-root пользователь

true

clustermesh.apiserver.podSecurityContext.runAsUser

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

65532

clustermesh.apiserver.podSecurityContext.runAsGroup

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

65532

clustermesh.apiserver.podSecurityContext.fsGroup

fsGroup для pod

65532

clustermesh.apiserver.podAnnotations

Аннотации для Clustermesh API-сервера pod

{}

clustermesh.apiserver.podLabels

Метки для Clustermesh API-сервера pod

{}

clustermesh.apiserver.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

clustermesh.apiserver.podDisruptionBudget.minAvailable

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

null

clustermesh.apiserver.podDisruptionBudget.maxUnavailable

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

1

clustermesh.apiserver.podDisruptionBudget.unhealthyPodEvictionPolicy

Политика выселения нездоровых подов clustermesh API-сервера

null

clustermesh.apiserver.resources

Ограничения ресурсов для Clustermesh API-сервера

{}

clustermesh.apiserver.affinity

Предпочтительные правила анти-аффинности для clustermesh.apiserver

podAntiAffinity

clustermesh.apiserver.topologySpreadConstraints

Pod topology spread constraints для Clustermesh API-сервера

[]

clustermesh.apiserver.nodeSelector.kubernetes.io/os

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

{kubernetes.io/os: linux}

clustermesh.apiserver.tolerations

Node tolerations для размещения pod на узлах с taint

[]

clustermesh.apiserver.updateStrategy.type

Стратегия обновления Clustermesh API-сервера

"RollingUpdate"

clustermesh.apiserver.updateStrategy.rollingUpdate.maxSurge

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

1

clustermesh.apiserver.updateStrategy.rollingUpdate.maxUnavailable

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

0

clustermesh.apiserver.resources

Ресурсные запросы и лимиты для Clustermesh API-сервера

{}

clustermesh.apiserver.affinity

Правила affinity для Clustermesh API-сервера (предпочтительное podAntiAffinity по hostname)

podAntiAffinity

clustermesh.apiserver.topologySpreadConstraints

Ограничения топологического распределения pod Clustermesh API-сервера

[]

clustermesh.apiserver.nodeSelector

Селектор узлов для Clustermesh API-сервера

{kubernetes.io/os: linux}

clustermesh.apiserver.tolerations

Толерации для планирования Clustermesh API-сервера

[]

clustermesh.apiserver.updateStrategy.type

Тип стратегии обновления Clustermesh API-сервера Deployment

RollingUpdate

clustermesh.apiserver.updateStrategy.rollingUpdate.maxSurge

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

1

clustermesh.apiserver.updateStrategy.rollingUpdate.maxUnavailable

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

0

clustermesh.apiserver.priorityClassName

Priority class для Clustermesh API-сервера

""

clustermesh.apiserver.tls.authMode

Режим аутентификации Clustermesh (legacy, migration, cluster)

"legacy"

clustermesh.apiserver.tls.enableSecrets

Разрешить пользователям предоставлять свои сертификаты

true

clustermesh.apiserver.tls.auto.enabled

Автогенерация CA и сертификатов для mTLS

true

clustermesh.apiserver.tls.auto.method

Метод автогенерации сертификатов (helm, cronJob, certmanager)

"helm"

clustermesh.apiserver.tls.auto.certValidityDuration

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

1095

clustermesh.apiserver.tls.auto.certManagerIssuerRef

certmanager issuer для clustermesh.apiserver.tls.auto.method=certmanager

{}

clustermesh.apiserver.tls.server.cert

base64 encoded PEM значения для сертификата Clustermesh API-сервера

""

clustermesh.apiserver.tls.server.key

base64 encoded PEM значения для ключа Clustermesh API-сервера

""

clustermesh.apiserver.tls.server.extraDnsNames

Дополнительные DNS-имена для автогенерированного сертификата

[]

clustermesh.apiserver.tls.server.extraIpAddresses

Дополнительные IP-адреса для автогенерированного сертификата

[]

clustermesh.apiserver.tls.admin.cert

base64 encoded PEM значения для admin сертификата Clustermesh API-сервера

""

clustermesh.apiserver.tls.admin.key

base64 encoded PEM значения для admin ключа Clustermesh API-сервера

""

clustermesh.apiserver.tls.client.cert

base64 encoded PEM значения для клиентского сертификата Clustermesh API-сервера

""

clustermesh.apiserver.tls.client.key

base64 encoded PEM значения для клиентского ключа Clustermesh API-сервера

""

clustermesh.apiserver.tls.remote.cert

base64 encoded PEM значения для remote cluster сертификата Clustermesh API-сервера

""

clustermesh.apiserver.tls.remote.key

base64 encoded PEM значения для remote cluster ключа Clustermesh API-сервера

""

clustermesh.apiserver.metrics.enabled

Включить экспорт метрик apiserver в формате OpenMetrics

true

clustermesh.apiserver.metrics.port

Порт сервера метрик apiserver

9962

clustermesh.apiserver.metrics.kvstoremesh.enabled

Включить экспорт метрик KVStoreMesh в формате OpenMetrics

true

clustermesh.apiserver.metrics.kvstoremesh.port

Порт сервера метрик KVStoreMesh

9964

clustermesh.apiserver.metrics.etcd.enabled

Включить экспорт метрик Etcd в формате OpenMetrics

true

clustermesh.apiserver.metrics.etcd.mode

Уровень детализации метрик Etcd (basic, extensive)

"basic"

clustermesh.apiserver.metrics.etcd.port

Порт сервера метрик Etcd

9963

clustermesh.apiserver.metrics.serviceMonitor.enabled

Включить ServiceMonitor для Prometheus Operator

true

clustermesh.apiserver.metrics.serviceMonitor.labels

Метки для ServiceMonitor Clustermesh API-сервера

{}

clustermesh.apiserver.metrics.serviceMonitor.annotations

Аннотации для ServiceMonitor Clustermesh API-сервера

{}

clustermesh.apiserver.metrics.serviceMonitor.interval

Интервал сбора метрик (метрики API-сервера)

"10s"

clustermesh.apiserver.metrics.serviceMonitor.scrapeTimeout

Таймаут сбора метрик API-сервера

~

clustermesh.apiserver.metrics.serviceMonitor.relabelings

Relabeling конфигурации для ServiceMonitor Clustermesh API-сервера (метрики API-сервера)

~

clustermesh.apiserver.metrics.serviceMonitor.metricRelabelings

Metrics relabeling конфигурации для ServiceMonitor Clustermesh API-сервера (метрики API-сервера)

~

clustermesh.apiserver.metrics.serviceMonitor.kvstoremesh.interval

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

"10s"

clustermesh.apiserver.metrics.serviceMonitor.kvstoremesh.scrapeTimeout

Таймаут сбора метрик KVStoreMesh

~

clustermesh.apiserver.metrics.serviceMonitor.kvstoremesh.relabelings

Relabeling конфигурации для ServiceMonitor Clustermesh API-сервера (метрики KVStoreMesh)

~

clustermesh.apiserver.metrics.serviceMonitor.kvstoremesh.metricRelabelings

Metrics relabeling конфигурации для ServiceMonitor Clustermesh API-сервера (метрики KVStoreMesh)

~

clustermesh.apiserver.metrics.serviceMonitor.etcd.interval

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

"10s"

clustermesh.apiserver.metrics.serviceMonitor.etcd.scrapeTimeout

Таймаут сбора метрик Etcd

~

clustermesh.apiserver.metrics.serviceMonitor.etcd.relabelings

Конфигурации relabelings для ServiceMonitor Clustermesh API-сервера (метрики Etcd)

~

clustermesh.apiserver.metrics.serviceMonitor.etcd.metricRelabelings

Конфигурации metricRelabelings для ServiceMonitor Clustermesh API-сервера (метрики Etcd)

~

cgroup - настройки cgroup#

Параметр

Описание

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

cgroup.autoMount.enabled

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

true

cgroup.autoMount.resources.limits.cpu

Максимальное потребление CPU для Init Container cgroup autoMount

"100m"

cgroup.autoMount.resources.limits.memory

Максимальное потребление памяти для Init Container cgroup autoMount

"128Mi"

cgroup.autoMount.resources.requests.cpu

Запрашиваемые ресурсы CPU для Init Container cgroup autoMount

"100m"

cgroup.autoMount.resources.requests.memory

Запрашиваемые ресурсы памяти для Init Container cgroup autoMount

"128Mi"

cgroup.hostRoot

Корневой каталог cgroup где файловая система cgroup2 смонтирована на хосте

"/run/cilium/cgroupv2"

sysctlfix - исправления sysctl#

Параметр

Описание

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

sysctlfix.enabled

Включение переопределения sysctl-параметров через init-контейнер. При включении init-контейнер монтирует /proc для выполнения утилиты sysctlfix

true

agentNotReadyTaintKey - ключ taint, обозначающего неготовность агента Cilium на узле#

Параметр

Описание

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

agentNotReadyTaintKey

Ключ taint, устанавливаемого на узел когда агент Cilium не готов. Значение с префиксом ignore-taint.cluster-autoscaler.kubernetes.io/ заставляет Cluster Autoscaler игнорировать этот taint

"node.cilium.io/agent-not-ready"

dnsProxy - DNS-прокси#

Параметр

Описание

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

dnsProxy.socketLingerTimeout

Время ожидания в секундах при закрытии соединения между DNS-прокси и upstream-сервером

10

dnsProxy.dnsRejectResponseCode

Код DNS response для отклонения DNS запросов (nameError, refused)

"refused"

dnsProxy.enableDnsCompression

Разрешить DNS-прокси сжимать ответы конечных точек больше 512 байт

true

dnsProxy.endpointMaxIpPerHostname

Максимальное количество IP для сохранения имени per FQDN для каждого конечной точки

1000

dnsProxy.idleConnectionGracePeriod

Время в течение которого idle соединения с истекшими DNS lookups считаются активными

"0s"

dnsProxy.maxDeferredConnectionDeletes

Максимальное количество IP для сохранения для истекших DNS lookups с активными соединениями

10000

dnsProxy.minTtl

Минимальное время в секундах для использования DNS-данных для toFQDNS-политик

0

dnsProxy.preCache

DNS cache данные по этому пути предзагружаются при старте агента

""

dnsProxy.proxyPort

Глобальный порт на котором in-agent DNS-прокси должен слушать (0 - OS-assigned порт)

0

dnsProxy.proxyResponseMaxDelay

Максимальное время удержания разрешенного DNS ответа DNS-прокси перед отправкой

"100ms"

dnsProxy.preAllocateIdentities

Предварительное выделение identity для ToFQDN-селекторов. Снижает tail latency, но увеличивает количество policy map entries. Отключите при >200 уникальных ToFQDN-селекторах

true

sctp - поддержка протокола SCTP#

Параметр

Описание

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

sctp.enabled

Включение поддержки SCTP. Текущие ограничения: отсутствует rewriting портов и поддержка multihoming

false

enableNonDefaultDenyPolicies - включение политик Non-Default-Deny#

Параметр

Описание

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

enableNonDefaultDenyPolicies

Включение поддержки политик типа Non-Default-Deny - политик, запрещающих только конкретный трафик без перехода в режим default-deny для всего endpoint

true

authentication - аутентификация между сервисами#

Параметр

Описание

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

authentication.enabled

Включить обработку аутентификации и garbage collection

true

authentication.queueSize

Размер буфера канала для получения событий аутентификации из signal map

1024

authentication.rotatedIdentitiesQueueSize

Размер буфера канала для получения событий истечения сертификатов от auth handlers

1024

authentication.gcInterval

Интервал записей garbage collection auth map

"5m0s"

authentication.mutual.port

Порт на агенте где выполняются взаимные аутентификационные handshakes между агентами

4250

authentication.mutual.connectTimeout

Время ожидания подключения к TCP-сокету удаленного узла

"5s"

authentication.mutual.spire.enabled

Включить интеграцию SPIRE (beta)

false

authentication.mutual.spire.annotations

Аннотации для всех top-level объектов spire

{}

authentication.mutual.spire.install.enabled

Включить установку SPIRE (действует только если authentication.mutual.spire.enabled = true)

true

authentication.mutual.spire.install.namespace

SPIRE namespace для установки

"cilium-spire"

authentication.mutual.spire.install.existingNamespace

SPIRE namespace уже существует (Helm не должен создавать, управлять и импортировать)

false

authentication.mutual.spire.install.initImage.override

Переопределение init container образа SPIRE agent и server

~

authentication.mutual.spire.install.initImage.repository

Репозиторий init образа SPIRE

"docker.io/library/busybox"

authentication.mutual.spire.install.initImage.tag

Тег init образа SPIRE

"1.37.0"

authentication.mutual.spire.install.initImage.digest

SHA256 дайджест init образа SPIRE

"sha256:b3255e..."

authentication.mutual.spire.install.initImage.useDigest

Использовать дайджест init образа

true

authentication.mutual.spire.install.initImage.pullPolicy

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

"IfNotPresent"

authentication.mutual.spire.install.agent.priorityClassName

Priority class для pod SPIRE agent

""

authentication.mutual.spire.install.agent.image.override

Полное переопределение образа SPIRE agent

~ (не задано)

authentication.mutual.spire.install.agent.image.repository

Репозиторий образа SPIRE agent

"ghcr.io/spiffe/spire-agent"

authentication.mutual.spire.install.agent.image.tag

Тег образа SPIRE agent

"1.12.4"

authentication.mutual.spire.install.agent.image.digest

SHA256-дайджест образа SPIRE agent

"sha256:163970..."

authentication.mutual.spire.install.agent.image.useDigest

Использовать дайджест образа SPIRE agent

true

authentication.mutual.spire.install.agent.image.pullPolicy

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

"IfNotPresent"

authentication.mutual.spire.install.agent.serviceAccount.create

Создать ServiceAccount для SPIRE agent

true

authentication.mutual.spire.install.agent.serviceAccount.name

Имя ServiceAccount SPIRE agent

spire-agent

authentication.mutual.spire.install.agent.annotations

Аннотации для SPIRE agent

{}

authentication.mutual.spire.install.agent.labels

Метки для SPIRE agent

{}

authentication.mutual.spire.install.agent.resources

Ресурсные лимиты и запросы для SPIRE agent

{}

authentication.mutual.spire.install.agent.skipKubeletVerification

Пропуск проверки kubelet при аттестации workload (SPIRE Workload Attestor)

true

authentication.mutual.spire.install.agent.tolerations

Толерации для SPIRE agent (по умолчанию - not-ready, master, control-plane, uninitialized, CriticalAddonsOnly)

стандартные толерации control-plane

authentication.mutual.spire.install.agent.affinity

Правила affinity для SPIRE agent

{}

authentication.mutual.spire.install.agent.nodeSelector

Селектор узлов для SPIRE agent

{}

authentication.mutual.spire.install.agent.podSecurityContext

Контекст безопасности pod SPIRE agent

{}

authentication.mutual.spire.install.agent.securityContext

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

{}

authentication.mutual.spire.install.server.priorityClassName

Priority class для pod SPIRE server

""

authentication.mutual.spire.install.server.image.override

Полное переопределение образа SPIRE server

~ (не задано)

authentication.mutual.spire.install.server.image.repository

Репозиторий образа SPIRE server

"ghcr.io/spiffe/spire-server"

authentication.mutual.spire.install.server.image.tag

Тег образа SPIRE server

"1.12.4"

authentication.mutual.spire.install.server.image.digest

SHA256-дайджест образа SPIRE server

"sha256:34147f..."

authentication.mutual.spire.install.server.image.useDigest

Использовать дайджест образа SPIRE server

true

authentication.mutual.spire.install.server.image.pullPolicy

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

"IfNotPresent"

authentication.mutual.spire.install.server.serviceAccount.create

Создать ServiceAccount для SPIRE server

true

authentication.mutual.spire.install.server.serviceAccount.name

Имя ServiceAccount SPIRE server

spire-server

authentication.mutual.spire.install.server.initContainers

Init-контейнеры SPIRE server

[]

authentication.mutual.spire.install.server.annotations

Аннотации для SPIRE server

{}

authentication.mutual.spire.install.server.labels

Метки для SPIRE server

{}

authentication.mutual.spire.install.server.resources

Ресурсные лимиты и запросы для SPIRE server

{}

authentication.mutual.spire.install.server.service.type

Тип Kubernetes Service для SPIRE server

ClusterIP

authentication.mutual.spire.install.server.service.annotations

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

{}

authentication.mutual.spire.install.server.service.labels

Метки для Service SPIRE server

{}

authentication.mutual.spire.install.server.affinity

Правила affinity для SPIRE server

{}

authentication.mutual.spire.install.server.nodeSelector

Селектор узлов для SPIRE server

{}

authentication.mutual.spire.install.server.tolerations

Толерации для SPIRE server

[]

authentication.mutual.spire.install.server.dataStorage.enabled

Включить постоянное хранилище данных SPIRE server

true

authentication.mutual.spire.install.server.dataStorage.size

Размер PVC хранилища SPIRE server

1Gi

authentication.mutual.spire.install.server.dataStorage.accessMode

Режим доступа PVC SPIRE server

ReadWriteOnce

authentication.mutual.spire.install.server.dataStorage.storageClass

StorageClass для PVC SPIRE server

null

authentication.mutual.spire.install.server.podSecurityContext

Контекст безопасности подов SPIRE server

{}

authentication.mutual.spire.install.server.securityContext

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

{}

authentication.mutual.spire.install.server.ca.keyType

Тип ключа CA SPIRE (AWS требует RSA, EC не поддерживается)

"rsa-4096"

authentication.mutual.spire.install.server.ca.subject.country

Страна в Subject CA SPIRE

"US"

authentication.mutual.spire.install.server.ca.subject.organization

Организация в Subject CA SPIRE

"SPIRE"

authentication.mutual.spire.install.server.ca.subject.commonName

Common Name в Subject CA SPIRE

"Cilium SPIRE CA"

authentication.mutual.spire.serverAddress

Адрес SPIRE server для Cilium Operator. Формат: <host>:<port> или <svc>.<ns>.svc:<port>

~ (не задано)

authentication.mutual.spire.trustDomain

SPIFFE trust domain для получения сертификатов

spiffe.cilium

authentication.mutual.spire.adminSocketPath

Путь к сокету SPIRE delegated API agent

/run/spire/sockets/admin.sock

authentication.mutual.spire.agentSocketPath

Путь к сокету SPIRE workload agent (используется агентом Cilium и Operator)

/run/spire/sockets/agent/agent.sock

authentication.mutual.spire.connectionTimeout

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

30s

enableInternalTrafficPolicy - поддержка Internal Traffic Policy для сервисов#

Параметр

Описание

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

enableInternalTrafficPolicy

Включить поддержку Kubernetes Internal Traffic Policy для управления маршрутизацией внутрикластерного трафика к сервисам (только на локальные pod узла)

true

enableLBIPAM - управление IP-адресами для LoadBalancer сервисов#

Параметр

Описание

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

enableLBIPAM

Включить LBIPAM (LoadBalancer IP Address Management) - механизм автоматического назначения внешних IP-адресов сервисам типа LoadBalancer из пулов CiliumLoadBalancerIPPool

true