Отключить правила iptables calico / felix или разрешить все?

Я использую calico 2.6 с докером 17.09.0-ce, и он работает нормально. У меня всего 2 вопроса, на которые я не могу найти ответа.

1) Как полностью отключить правила calico / felix iptables? Я думал, что это может работать с переменной среды CALICO_LIBNETWORK_CREATE_PROFILES = false, но правила iptable все еще установлены. Или, как вариант, настроить систему на «разрешить все».

2) Если ответ на 1) заключается в том, что это невозможно, то как мне разрешить любому хосту в кластере разговаривать (например, ping или curl) с любой конечной точкой рабочей нагрузки? Я могу разговаривать с рабочими нагрузками с хоста, на котором выполняется рабочая нагрузка, но не с любого другого хоста в кластере. Я пробовал применять профиль с «egress: action: allow» и «ingress: action: allow», но он по-прежнему блокирует трафик с других хостов. Я подтвердил, что это действительно из-за правил iptables, которые calico генерирует, отслеживая их, а также отключая их. Тогда это работает. После остановки контейнера calico / node я использовал следующий сценарий: https://github.com/projectcalico/calico/blob/master/hack/remove-calico-policy/remove-calico-policy.sh

Кстати, флаг FELIX_DEFAULTENDPOINTTOHOSTACTION = ACCEPT тоже вроде не работает.


person cs224    schedule 01.12.2017    source источник


Ответы (1)


Я только что получил ответ через канал Slack: https://calicousers.slack.com/archives/C0BCA44LA/p1512125998000122

Ответ - использовать файл политики, как показано ниже:

apiVersion: v1
kind: policy
metadata:
  name: allow-all
spec:
  selector: "all()"
  types:
  - ingress
  - egress
  ingress:
  - action: allow
  egress:
  - action: allow
person cs224    schedule 01.12.2017