Обеспечивает работу сети в кластере с помощью модуля cilium.
Ограничения
- Модуль не поддерживает туннелирование.
- Сервисы с типом
NodePort
иLoadBalancer
не работают с hostNetwork-эндпоинтами в LB режимеDSR
. Переключитесь на режимSNAT
, если это требуется. HostPort
поды биндятся только к одному IP. Если в ОС есть несколько интерфейсов/IP, Cilium выберет один из них, предпочитания “серые” IP адреса “белым”.- Требования к ядру.
- Для работы модуля
cni-cilium
необходимо ядро Linux версии >=4.9.17
. - Для работы модуля
cni-cilium
совместно с модулем istio, openvpn или node-local-dns необходимо ядро Linux версии >=5.7
.
- Для работы модуля
- Поддержка версий ОС.
- Ubuntu
- 18.04
- 20.04
- 22.04
- Debian
- 11
- CentOS
- 7 (необходимо новое ядро из репозитория)
- 8 (необходимо новое ядро из репозитория)
- Ubuntu
Заметка о CiliumClusterwideNetworkPolicies
- Убедитесь, что вы применили первичный набор объектов
CiliumClusterwideNetworkPolicy
, поставив конфигурационную опциюpolicyAuditMode
вtrue
. Отсутствие опции может привести к некорректной работе control plane или потере доступа ко всем узлам кластера по SSH. Вы можете удалить опцию после применения всехCiliumClusterwideNetworkPolicy
объектов и проверке корректности их работы в Hubble UI. -
Убедитесь, что вы применили следующее правило. В противном случае control plane может некорректно работать до одной минуты во время перезагрузи
cilium-agent
Pod’ов. Это происходит из-за сброса conntrack таблицы. Привязка к entitykube-apiserver
позволяет “обойти” баг.apiVersion: "cilium.io/v2" kind: CiliumClusterwideNetworkPolicy metadata: name: "allow-control-plane-connectivity" spec: ingress: - fromEntities: - kube-apiserver nodeSelector: matchLabels: node-role.kubernetes.io/control-plane: ""
Заметка о смене режима работы Cilium
При смене режима работы Cilium (параметр tunnelMode) c Disabled
на VXLAN
или обратно, необходимо перезагрузить все узлы, иначе возможны проблемы с доступностью Pod’ов.