В модуле реализовано 8 алертов.
Модуль не включен по умолчанию в каком-либо наборе модулей.
Чтобы настроить модуль, используйте ресурс ModuleConfig
с именем cni-cilium
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/cni-cilium
для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: cni-cilium
spec:
version: 1
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 1
- settings
- settings.bpfLBMode
Режим работы балансировщика eBPF:
SNAT
— трафик от клиента до пода (и обратно) проходит через NAT, соответственно теряется адрес отправителя.DSR
— трафик от клиента до пода проходит с сохранением адреса отправителя, а обратно - согласно правилам роутинга (минуя балансировщик). Этот режим экономит сетевой трафик, уменьшает задержки, но работает только для TCP трафика.Hybrid
— TCP трафик обрабатывается в режиме DSR, а UDP - в режиме SNAT.
По умолчанию:
"Hybrid"
Допустимые значения:
SNAT
,Hybrid
,DSR
- settings.createNodeRoutes
Включает создание маршрутов к подам на других узлах.
Все узлы должны находиться в одной сети L2.
- settings.debugLogging
Включает отладочный уровень логирования для компонентов Cilium.
По умолчанию:
false
- settings.labelsRegex
Cilium создает идентификаторы безопасности основываясь на лейблах сущностей k8s, чем больше лейблов участвует в этом процессе - тем более детализированно можно настроить доступы. Но в кластерах больших объёмов излишняя детализация может создать большую нагрузку, и при помощи опции labelsRegex можно более явно указать - какие лейблы будут использоваться для политик безопасности, а какими следует пренебречь. Подробнее об уменьшении количества создаваемых identity можно прочитать в документации
Каждый лейбл должен задаваться RegExp-выражением в формате YAML quoted string с экранированием спецсимволов.
Пример:
labelsRegex: - k8s:!app\.kubernetes\.io - k8s:io\.cilium\.k8s\.policy
- settings.masqueradeMode
Режим работы SNAT для трафика подов, исходящего из кластера.
-
BPF
— использовать BPF. Базовый режим работы.В данном режиме сетевые запросы из подов не будут подвержены процедуре Source NAT, если IP-адрес назначения принадлежит
podSubnetCIDR
илиInternalIP
/ExternalIP
любого из узлов кластера. -
Netfilter
— использовать Netfilter(iptables/nf_tables).В данном режиме сетевые запросы из подов не будут подвержены процедуре Source NAT, если IP-адрес назначения принадлежит
podSubnetCIDR
илиInternalIP
любого из узлов кластера.
В режиме
BPF
, если на узле кластера указан ExternalIP, отличный от InternalIP, но этот IP-адрес не назначен на ни на один интерфейс, то он будет не доступен с соседних узлов из сети подов. РежимNetfilter
позволяет обойти это ограничение. Однако при этом некоторые другие функции перестают работать, в частностиEgressGateway
.По умолчанию:
"BPF"
Допустимые значения:
Netfilter
,BPF
-
- settings.policyAuditMode
Отключает влияние сетевых политик на трафик. Сетевые запросы, попавшие под запрет политик, просто логируются.
По умолчанию:
false
- settings.resourcesManagement
Настройки запросов (requests) и ограничений (limits) использования CPU и памяти подами агента cilium.
Примеры:
resourcesManagement: mode: VPA vpa: mode: Auto cpu: min: 50m max: 2 limitRatio: 1.5 memory: min: 256Mi max: 2Gi limitRatio: 1.5
resourcesManagement: mode: Static static: requests: cpu: 55m memory: 256Mi limits: cpu: 2 memory: 2Gi
- settings.resourcesManagement.mode
Режим управления ресурсами:
По умолчанию:
"VPA"
Допустимые значения:
VPA
,Static
- settings.resourcesManagement.static
Настройка управления ресурсами в режиме
Static
.- settings.resourcesManagement.static.limits
Настройка ограничений (limits) использования CPU и памяти.
- settings.resourcesManagement.static.limits.cpu
Настройка ограничений использования CPU (CPU limits).
- settings.resourcesManagement.static.limits.memory
Настройка ограничений использования памяти (memory limits).
- settings.resourcesManagement.static.requests
Настройки запросов ресурсов (requests) подов.
- settings.resourcesManagement.static.requests.cpu
Настройка запроса CPU (CPU requests).
- settings.resourcesManagement.static.requests.memory
Настройка запроса памяти (memory requests).
- settings.resourcesManagement.vpa
Настройка управления ресурсами в режиме
VPA
.- settings.resourcesManagement.vpa.cpu
Настройки VPA при работе с CPU.
- settings.resourcesManagement.vpa.cpu.limitRatio
Коэффициент расчета ограничений использования CPU относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования CPU для пода (CPU limits).
Если параметр указан, то VPA, при пересчете запросов CPU (CPU requests) будет пересчитывать ограничения использования CPU (CPU limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.resourcesManagement.vpa.cpu.max
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
4
- settings.resourcesManagement.vpa.cpu.min
Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
100m
- settings.resourcesManagement.vpa.memory
Настройка ограничений (limits) использования CPU и памяти.
- settings.resourcesManagement.vpa.memory.limitRatio
Коэффициент расчета ограничений использования памяти относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования памяти для пода (memory limits).
Если параметр указан, то VPA, при пересчете запросов памяти (memory requests) будет пересчитывать ограничения использования памяти (memory limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.resourcesManagement.vpa.memory.max
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
4Gi
- settings.resourcesManagement.vpa.memory.min
Минимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
128Mi
- settings.resourcesManagement.vpa.mode
Режим работы VPA.
По умолчанию:
"Initial"
Допустимые значения:
Initial
,Auto
- settings.svcSourceRangeCheck
Для сервисов с типом
loadBalancer
включает проверку source IP на его соответствие loadBalancer.sourceRanges. Проверка не производится, если доступ производится изнутри кластера или параметрsourceRanges
пуст/не указан. Некоторые облачные провайдеры в своих реализациях loadBalancer поддерживают фильтрацию входящего трафика на основе параметраsourceRanges
, в таком случае документация по cilium рекомендует отключать проверкуsvcSourceRangeCheck
.Не включайте, если перед сервисами есть другой балансировщик или какие-либо виды SNAT.
По умолчанию:
false
- settings.tunnelMode
Режим работы туннеля.
Внимание! После изменения параметра необходимо перезагрузить все узлы, иначе могут быть проблемы с доступностью подов.
Внимание! Режим VXLAN не совместим со следующими режимами bpfLBMode: Hybrid, DSR. Если tunnelMode настроен на VXLAN, то bpfLBMode будет переопределён на SNAT автоматически.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,VXLAN