Cilium#

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

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

Основные задачи и возможности
  • CNI (Container Network Interface):

    Обеспечивает подсети и сетевое взаимодействие между pods в кластере.

  • 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 для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».

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

Параметр

Описание

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

debug.enabled

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

false

debug.verbose

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

~

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

Параметр

Описание

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

rbac.create

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

true

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

Параметр

Описание

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

k8sClientRateLimit.qps

Устойчивая скорость запросов в секунду к Kubernetes API. По умолчанию 5 для k8s до 1.26, 10 для k8s 1.27+

~

k8sClientRateLimit.burst

Пиковая скорость запросов в секунду. По умолчанию 10 для k8s до 1.26, 20 для k8s 1.27+

~

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

Параметр

Описание

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

cluster.name

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

по умолчанию значение из DropAppConfiguration.metadata.name

cluster.id

Уникальный ID кластера в диапазоне 1-255. Используется для ClusterMesh

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 для node-init

true

serviceAccounts.nodeinit.enabled

Включить ServiceAccount для node-init

false

serviceAccounts.nodeinit.name

Имя ServiceAccount для node-init

"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 API-сервера"

serviceAccounts.clustermeshApiserver.automount

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

true

serviceAccounts.clustermeshApiserver.annotations

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

{}

serviceAccounts.clustermeshcertgen.create

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

true

serviceAccounts.clustermeshcertgen.name

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

"Clustermesh API-сервера-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

{}

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

Параметр

Описание

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

image.override

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

~

image.repository

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

"{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cilium/cilium"

image.tag

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

"v1.16.9"

image.pullPolicy

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

IfNotPresent

image.digest

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

""

image.useDigest

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

false

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

Параметр

Описание

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

affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

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

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

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

Параметр

Описание

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

tolerations

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

[{'operator': 'Exists'}]

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

Параметр

Описание

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

podSecurityContext.seccompProfile.type

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

"RuntimeDefault"

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

Параметр

Описание

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

resources.limits.cpu

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

"4000m"

resources.limits.memory

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

"4Gi"

resources.requests.cpu

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

"100m"

resources.requests.memory

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

"512Mi"

resources - ограничения ресурсов для 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

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

2

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

Параметр

Описание

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

bandwidthManager.enabled

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

false

bandwidthManager.bbr

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

false

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

Параметр

Описание

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

nat46x64Gateway.enabled

Включить RFC8215-prefixed трансляцию для NAT46/NAT64

false

highScaleIPcache - режим высокой масштабируемости для IP-кеша#

Параметр

Описание

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

highScaleIPcache.enabled

Включить специальный режим ipcache для высокомасштабируемых кластеров

false

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

Параметр

Описание

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

l2announcements.enabled

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

false

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

Параметр

Описание

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

l2podAnnouncements.enabled

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

false

l2podAnnouncements.interface

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

"eth0"

bgp - настройки протокола BGP#

Параметр

Описание

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

bgp.enabled

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

false

bgp.announce.loadbalancerIP

Включить объявление IP-адресов LoadBalancer-сервисов

false

bgp.announce.podCIDR

Включить объявление pods CIDR узлов

false

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

Параметр

Описание

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

bgpControlPlane.enabled

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

false

bgpControlPlane.secretsNamespace.create

Создать namespace для BGP-секретов

false

bgpControlPlane.secretsNamespace.name

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

"kube-system"

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.ctTcpMax

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

524288

bpf.ctAnyMax

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

262144

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

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

16384

bpf.policyMapMax

Максимальное количество записей в endpoint 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.masquerade

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

false

bpf.hostLegacyRouting

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

~

bpf.tproxy

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

~

bpf.vlanBypass

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

~

bpf.disableExternalIPMitigation

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

false

bpf.enableTCX

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

true

bpf.datapathMode

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

"veth"

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

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, которые нельзя переопределять

~

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

Параметр

Описание

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

ciliumEndpointSlice.enabled

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

false

ciliumEndpointSlice.rateLimits

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

[{'nodes': 0, 'limit': 10, 'burst': 20}, {'nodes': 100, 'limit': 7, 'burst': 15}, {'nodes': 500, 'limit': 5, 'burst': 10}]

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

Параметр

Описание

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

envoyConfig.enabled

Включить CiliumEnvoyConfig CRD

false

envoyConfig.secretsNamespace.create

Создать namespace для Envoy SDS-секретов

true

envoyConfig.secretsNamespace.name

Имя namespace для чтения секретов 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

Требуется ли выделение node port для 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

true

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

Включить шифрование для node-to-node трафика (только для wireguard)

false

encryption.strictMode.enabled

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

false

encryption.strictMode.cidr

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

""

encryption.allowRemoteNodeIdentities

Разрешить динамический поиск удаленных node 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

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

true

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

Параметр

Описание

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

endpointRoutes.enabled

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

false

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

Параметр

Описание

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

k8sNetworkPolicy.enabled

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

true

externalIPs - поддержка внешних IP#

Параметр

Описание

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

externalIPs.enabled

Разрешить использовать сервисы с externalIP

false

Вот преобразованные данные в формате Markdown-таблиц:

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

Параметр

Описание

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

hostFirewall.enabled

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

false

hostPort - поддержка портов узла#

Параметр

Описание

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

hostPort.enabled

Включить поддержку hostPort сервиса

false

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

Параметр

Описание

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

socketLB.enabled

Включить socket LB

false

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

false

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', 'replacement': '${1}'}]

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

Namespace для размещения панелей

~

hubble.metrics.dashboards.labelValue

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

"1"

hubble.metrics.dashboards.annotations

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

{}

hubble.socketPath

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

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

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 ключа

false

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 - компонент ретрансляции Hubble#

Параметр

Описание

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

hubble.relay.enabled

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

false

hubble.relay.rollOutPods

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

true

hubble.relay.image.override

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

~

hubble.relay.image.repository

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

"{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cilium/hubble-relay"

hubble.relay.image.tag

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

"v1.16.9"

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.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

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

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

hubble.relay.topologySpreadConstraints

Pod topology spread constraints для hubble-relay

[]

hubble.relay.nodeSelector.kubernetes.io/os

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

"linux"

hubble.relay.tolerations

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

[]

hubble.relay.extraEnv

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

[]

hubble.relay.annotations

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

{}

hubble.relay.podAnnotations

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

{}

hubble.relay.podLabels

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

{}

hubble.relay.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

hubble.relay.podDisruptionBudget.minAvailable

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

null

hubble.relay.podDisruptionBudget.maxUnavailable

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

1

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

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

1

hubble.relay.extraVolumes

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

[]

hubble.relay.extraVolumeMounts

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

[]

hubble.relay.podSecurityContext.fsGroup

fsGroup для hubble-relay pods

65532

hubble.relay.securityContext.runAsNonRoot

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

true

hubble.relay.securityContext.runAsUser

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

65532

hubble.relay.securityContext.runAsGroup

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

65532

hubble.relay.securityContext.capabilities.drop

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

['ALL']

hubble.relay.securityContext.seccompProfile.type

Тип seccomp профиля

"RuntimeDefault"

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 на настроенном порту

false

hubble.relay.prometheus.port

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

9966

hubble.relay.prometheus.serviceMonitor.enabled

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

false

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.ui - веб-интерфейс Hubble#

Параметр

Описание

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

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 pods при обновлении configmap

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

"{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-hubble-ui/hubble-ui-backend"

hubble.ui.backend.image.tag

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

"v0.13.2"

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

"{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-hubble-ui/hubble-ui"

hubble.ui.frontend.image.tag

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

"v0.13.2"

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 pods

{}

hubble.ui.podLabels

Метки для Hubble UI pods

{}

hubble.ui.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

hubble.ui.podDisruptionBudget.minAvailable

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

null

hubble.ui.podDisruptionBudget.maxUnavailable

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

1

hubble.ui.affinity

Affinity для Hubble UI

{}

hubble.ui.topologySpreadConstraints

Pod topology spread constraints для Hubble UI

[]

hubble.ui.nodeSelector.kubernetes.io/os

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

"linux"

hubble.ui.tolerations

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

[]

hubble.ui.priorityClassName

Priority class для Hubble UI

""

hubble.ui.updateStrategy.type

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

"RollingUpdate"

hubble.ui.updateStrategy.rollingUpdate.maxUnavailable

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

1

hubble.ui.securityContext.runAsUser

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

10001

hubble.ui.securityContext.runAsGroup

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

10001

hubble.ui.securityContext.fsGroup

fsGroup для pods

1001

hubble.ui.service.annotations

Аннотации для 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.nginx.ingress.kubernetes.io/force-ssl-redirect

Принудительное перенаправление на SSL

"true"

hubble.ui.ingress.annotations.nginx.ingress.kubernetes.io/rewrite-target

Цель перезаписи для nginx ingress

"/"

hubble.ui.ingress.className

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

"nginx"

hubble.ui.ingress.hosts

Хосты для Hubble UI ingress

['hubble.{{ .Values.global.publicDomain

hubble.ui.ingress.labels

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

{}

hubble.ui.ingress.tls

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

[{'secretName': 'ingress-tls', 'hosts': ['hubble.{{ .Values.global.publicDomain

hubble.export - экспорт потоков Hubble#

Параметр

Описание

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

hubble.export.fileMaxSizeMb

Максимальный размер выходного файла перед ротацией

10

hubble.export.fileMaxBackups

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

5

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.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', 'fieldMask': [], 'includeFilters': [], 'excludeFilters': [], 'filePath': '/var/run/cilium/hubble/events.log'}]

hubble.dropEventEmitter - эмиттер событий отбрасывания пакетов#

Параметр

Описание

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

hubble.dropEventEmitter.enabled

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

false

hubble.dropEventEmitter.interval

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

"2m"

hubble.dropEventEmitter.reasons

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

['auth_required', 'policy_denied']

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

Параметр

Описание

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

ipam.mode

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

"cluster-pool"

ipam.ciliumNodeUpdateRate

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

"15s"

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

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

Параметр

Описание

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

nodeIPAM.enabled

Настроить Node IPAM

false

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

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

Параметр

Описание

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

startupProbe.failureThreshold

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

105

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

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

Параметр

Описание

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

l2NeighDiscovery.enabled

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

true

l2NeighDiscovery.refreshPeriod

Переопределить период обновления neighbor resolution по умолчанию

"30s"

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

Параметр

Описание

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

maglev

Настроить maglev consistent hashing

{}

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 endpoint VTEP-устройств через пробел

""

vtep.cidr

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

""

vtep.mask

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

""

vtep.mac

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

""

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

pprof - профилирование производительности#

Параметр

Описание

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

pprof.enabled

Включить pprof для cilium agent

false

pprof.address

Адрес pprof для cilium agent

"localhost"

pprof.port

Порт pprof для cilium agent

6060

prometheus - метрики Prometheus#

Параметр

Описание

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

prometheus.enabled

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

false

prometheus.port

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

9962

prometheus.serviceMonitor.enabled

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

false

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.relabelings

Конфигурации Relabeling для ServiceMonitor cilium agent

[{'sourceLabels': ['__meta_kubernetes_pod_node_name'], 'targetLabel': 'node', 'replacement': '${1}'}]

prometheus.serviceMonitor.metricRelabelings

Конфигурации etricRelabelings для ServiceMonitor cilium agent

~

prometheus.serviceMonitor.trustCRDsExist

Не проверять monitoring.coreos.com/v1 CRDs перед развертыванием

false

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

Namespace для панелей

~

dashboards.labelValue

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

"1"

dashboards.annotations

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

{}

resourceQuotas - квоты ресурсов#

Параметр

Описание

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

resourceQuotas.enabled

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

false

resourceQuotas.cilium.hard.pods

Жесткая квота pods для Cilium

"10k"

resourceQuotas.operator.hard.pods

Жесткая квота pods для оператора

"15"

tls - настройки шифрования TLS#

Параметр

Описание

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

tls.secretsBackend

Настройка загрузки секретов для TLS-aware CiliumNetworkPolicies (local, k8s)

"local"

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

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 pods при обновлении configmap

true

operator.image.override

Переопределение образа Cilium-operator

~

operator.image.repository

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

"{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cilium/operator"

operator.image.tag

Тег образа Cilium-operator

"v1.16.9"

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 pods

""

operator.updateStrategy.type

Стратегия обновления Cilium-operator

"RollingUpdate"

operator.updateStrategy.rollingUpdate.maxSurge

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

"25%"

operator.updateStrategy.rollingUpdate.maxUnavailable

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

"50%"

operator.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

Строгие правила AntiAffinity для operator pods

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

operator.topologySpreadConstraints

Pod topology spread constraints для Cilium-operator

[]

operator.nodeSelector.kubernetes.io/os

Селектор узлов для Cilium-operator pods

"linux"

operator.tolerations

Node tolerations для Cilium-operator размещения на узлах с taint

[{'operator': 'Exists'}]

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 pods

"RuntimeDefault"

operator.podAnnotations

Аннотации для Cilium-operator pods

{}

operator.podLabels

Метки для Cilium-operator pods

{}

operator.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

operator.podDisruptionBudget.minAvailable

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

null

operator.podDisruptionBudget.maxUnavailable

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

1

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.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.enabled

Включить метрики Prometheus для Cilium-operator

false

operator.prometheus.port

Порт метрик Prometheus

9963

operator.prometheus.serviceMonitor.enabled

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

false

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.relabelings

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

~

operator.prometheus.serviceMonitor.metricRelabelings

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

~

operator.prometheus.dashboards.enabled

Панели Grafana для Cilium-operator

false

operator.prometheus.dashboards.label

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

"grafana_dashboard"

operator.prometheus.dashboards.namespace

Namespace для панелей

~

operator.prometheus.dashboards.labelValue

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

"1"

operator.prometheus.dashboards.annotations

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

{}

operator.skipCRDCreation

Пропустить создание CRD для Cilium-operator

false

operator.removeNodeTaints

Удалять Cilium NodeTaints с Kubernetes узлов с работающим pod Cilium

true

operator.setNodeTaints

Помечать узлы, где Cilium запланирован, но не запущен (по умолчанию то же, что removeNodeTaints)

~

operator.setNodeNetworkStatus

Установить Node condition NetworkUnavailable в false для узлов с работающим pod Cilium

true

operator.unmanagedPodWatcher.restart

Перезапускать pods, не управляемые Cilium

true

operator.unmanagedPodWatcher.intervalSeconds

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

15

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

preflight запускается при операции Dactl upgrade cluster и необходим, чтобы провести проверки перед обновлением Cilium.

Параметр

Описание

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

preflight.enabled

Включить Cilium preflight ресурсы (требуется для обновления)

false

preflight.image.override

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

~

preflight.image.repository

Репозиторий образа preflight

"{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cilium/cilium"

preflight.image.tag

Тег образа preflight

"v1.16.9"

preflight.image.digest

SHA256 digest образа preflight

""

preflight.image.useDigest

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

false

preflight.image.pullPolicy

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

"IfNotPresent"

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

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

preflight.nodeSelector.kubernetes.io/os

Селектор узлов для preflight pods

"linux"

preflight.tolerations

Node tolerations для preflight размещения на узлах с taint

[{'operator': 'Exists'}]

preflight.annotations

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

{}

preflight.podSecurityContext

Контекст безопасности для preflight pods

{}

preflight.podAnnotations

Аннотации для preflight pods

{}

preflight.podLabels

Метки для preflight pods

{}

preflight.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

preflight.podDisruptionBudget.minAvailable

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

null

preflight.podDisruptionBudget.maxUnavailable

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

1

preflight.resources

Ограничения ресурсов preflight

{}

preflight.readinessProbe.initialDelaySeconds

Время ожидания Kubelet перед первой проверкой

5

preflight.readinessProbe.periodSeconds

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

5

preflight.securityContext

Контекст безопасности для preflight pods

{}

preflight.tofqdnsPreCache

Путь для записи файла --tofqdns-pre-cache

""

preflight.terminationGracePeriodSeconds

Период graceful termination для preflight Deployment и DaemonSet

1

preflight.validateCNPs

По умолчанию валидировать установленные CNP перед обновлением Cilium

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.annotations

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

{}

clustermesh.config.enabled

Включить явную конфигурацию Clustermesh

false

clustermesh.config.domain

DNS-домен по умолчанию для Clustermesh API-серверов

[mesh.cilium.io](http://mesh.cilium.io/)

clustermesh.config.clusters

Перечень кластеров для установления соединений в mesh-сети

[]

clustermesh.apiserver - API-сервер ClusterMesh#

Параметр

Описание

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

clustermesh.apiserver.image.override

Переопределение образа Clustermesh API-сервера

~

clustermesh.apiserver.image.repository

Репозиторий образа Clustermesh API-сервера

"{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cilium/Clustermesh API-сервера"

clustermesh.apiserver.image.tag

Тег образа Clustermesh API-сервера

"v1.16.9"

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.service.type

Тип сервиса для доступа к apiserver

"NodePort"

clustermesh.apiserver.service.nodePort

Опциональный порт для доступа к apiserver

32379

clustermesh.apiserver.service.annotations

Аннотации для 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.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-пользователя для запуска pods

65532

clustermesh.apiserver.podSecurityContext.runAsGroup

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

65532

clustermesh.apiserver.podSecurityContext.fsGroup

fsGroup для pods

65532

clustermesh.apiserver.podAnnotations

Аннотации для Clustermesh API-сервера pods

{}

clustermesh.apiserver.podLabels

Метки для Clustermesh API-сервера pods

{}

clustermesh.apiserver.podDisruptionBudget.enabled

Включить PodDisruptionBudget

false

clustermesh.apiserver.podDisruptionBudget.minAvailable

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

null

clustermesh.apiserver.podDisruptionBudget.maxUnavailable

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

1

clustermesh.apiserver.resources

Ограничения ресурсов для Clustermesh API-сервера

{}

clustermesh.apiserver.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Предпочтительные правила анти-аффинности для clustermesh.apiserver

[{'weight': 100, 'podAffinityTerm': {'labelSelector': {'matchLabels': {'k8s-app': 'Clustermesh API-сервера'}}, 'topologyKey': 'kubernetes.io/hostname'}}]

clustermesh.apiserver.topologySpreadConstraints

Pod topology spread constraints для Clustermesh API-сервера

[]

clustermesh.apiserver.nodeSelector.kubernetes.io/os

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

"linux"

clustermesh.apiserver.tolerations

Node tolerations для размещения pods на узлах с taint

[]

clustermesh.apiserver.updateStrategy.type

Стратегия обновления Clustermesh API-сервера

"RollingUpdate"

clustermesh.apiserver.updateStrategy.rollingUpdate.maxSurge

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

1

clustermesh.apiserver.updateStrategy.rollingUpdate.maxUnavailable

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

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

false

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.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.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.relabelings

Конфигурации relabelings для ServiceMonitor Clustermesh API-сервера (метрики Etcd)

~

clustermesh.apiserver.metrics.serviceMonitor.etcd.metricRelabelings

Конфигурации metricRelabelings для ServiceMonitor Clustermesh API-сервера (метрики Etcd)

~

externalWorkloads - внешние рабочие нагрузки#

Параметр

Описание

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

externalWorkloads.enabled

Включить поддержку внешних рабочих нагрузок, таких как VM (по умолчанию false)

false

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 override для решения проблемы #20072

true

dnsProxy - DNS-прокси#

Параметр

Описание

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

dnsProxy.socketLingerTimeout

Время ожидания в секундах при закрытии соединения между DNS-прокси и upstream-сервером

10

dnsProxy.dnsRejectResponseCode

Код DNS response для отклонения DNS запросов (nameError, refused)

"refused"

dnsProxy.enableDnsCompression

Разрешить DNS-прокси сжимать ответы endpoint больше 512 байт

true

dnsProxy.endpointMaxIpPerHostname

Максимальное количество IP для сохранения имени per FQDN для каждого endpoint

50

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"

sctp - поддержка протокола SCTP#

Параметр

Описание

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

sctp.enabled

Включить поддержку SCTP (в настоящее время не поддерживает переписывание портов или multihoming)

false

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.36.1"

authentication.mutual.spire.install.initImage.digest

SHA256 digest init образа SPIRE

""

authentication.mutual.spire.install.initImage.useDigest

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

true

authentication.mutual.spire.install.initImage.pullPolicy

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

"IfNotPresent"