Обеспечивает работу сети в кластере с помощью модуля cilium.

Ограничения

  1. Модуль не поддерживает туннелирование.
  2. Сервисы с типом NodePort и LoadBalancer не работают с hostNetwork-эндпоинтами в LB режиме DSR. Переключитесь на режим SNAT, если это требуется.
  3. HostPort поды биндятся только к одному IP. Если в ОС есть несколько интерфейсов/IP, Cilium выберет один из них, предпочитания “серые” IP адреса “белым”.
  4. Требования к ядру.
    • Для работы модуля cni-cilium необходимо ядро Linux версии >= 4.9.17.
    • Для работы модуля cni-cilium совместно с модулем istio, openvpn или node-local-dns необходимо ядро Linux версии >= 5.7.
  5. Поддержка версий ОС.

Заметка о CiliumClusterwideNetworkPolicies

  1. Убедитесь, что вы применили первичный набор объектов CiliumClusterwideNetworkPolicy, поставив конфигурационную опцию policyAuditMode в true. Отсутствие опции может привести к некорректной работе control plane или потере доступа ко всем узлам кластера по SSH. Вы можете удалить опцию после применения всех CiliumClusterwideNetworkPolicy объектов и проверке корректности их работы в Hubble UI.
  2. Убедитесь, что вы применили следующее правило. В противном случае control plane может некорректно работать до одной минуты во время перезагрузи cilium-agent Pod’ов. Это происходит из-за сброса conntrack таблицы. Привязка к entity kube-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’ов.