Calico CNI networkPolicy не влияет на поды, работающие на узлах

Я пытался реализовать сетевую политику в своем кластере (k8s «голый металл»), и, похоже, никакие политики не реализованы на модулях, работающих на узлах кластера, только на модулях, работающих непосредственно на главном сервере.

Что я пробовал:

  • Единое пространство имен с главным + узлом и calico CNI с calicoctl с хранилищем данных k8s (я вижу контейнеры calico / calicoctl, работающие на обоих узлах)
  • Оба типа networkPolicy (network.k8s.io/v1 и projectcalico.org/v3)
  • Применение простой политики запрета любой входящей / исходящей политики и тестирование ping для 8.8.8.8 (pod на главном блоке блокируется, pod'ы на других узлах все еще могут ping)

Ценю вашу помощь


person Daniel    schedule 26.09.2020    source источник
comment
Если вы не укажете то, что вы написали в своей сетевой политике, будет действительно сложно определить основную причину вашей проблемы.   -  person Mayank Verma    schedule 27.09.2020
comment
Вы правы, извините за то, что не разместили конфиг. Вчера наконец удалось найти решение.   -  person Daniel    schedule 29.09.2020


Ответы (1)


Обнаружил, что проблема связана с развертыванием, в котором я использовал hostNetwork, который использует подсеть, которая не является частью сети pod (таким образом, Calico не знает).

Удаление параметра hostNetwork: true заставило контейнер получить подходящий IP-адрес и применяемые к нему сетевые политики.

person Daniel    schedule 29.09.2020