EKS GlobalNetworkPolicies по умолчанию - запретить с исключениями для пакетов

В настоящее время у меня есть GlobalNetworkPolicy 'default-deny', чтобы ограничить весь трафик в моем кластере, для всех входов / выходов установлено отклонение для всех ().

Я попытался разрешить исключения для модулей с определенными ярлыками, используя «порядок». Когда я не указываю аргументы «действия», чтобы разрешить все коммуникации, политика работает. Хотя, как показано ниже, когда я указываю аргументы в разрешении, модуль не разрешает исходящий трафик.

apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: allow-pod-ingress
spec:
  order: 50
  selector: name == 'egresspod'
  types:
  - Egress
  ingress:
  - action: Allow
    protocol: TCP
    source:
      selector: some-pod-label == 'some-pod-label-value'
    destination:
      ports:
      - 80

Правильно ли настроена эта политика?


person alaika sokawk    schedule 02.10.2019    source источник


Ответы (1)


Типы: должны соответствовать спецификации. У вас установлено значение Egress, тогда как вы определили правила входа.

Если вы хотите, чтобы egresspod принимал входящий трафик на порт 80, попробуйте изменить тип на Ingress. (Если вы хотите добиться противоположного, измените оба параметра на Egress.)

apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: allow-pod-ingress
spec:
  order: 50
  selector: name == 'egresspod'
  types:
  - Ingress #Has to match
  ingress:  # With this guy.
  - action: Allow
    protocol: TCP
    source:
      selector: some-pod-label == 'some-pod-label-value'
    destination:
      ports:
      - 80

Для получения дополнительной информации посетите эту страницу: https://docs.projectcalico.org/v3.7/reference/calicoctl/resources/globalnetworkpolicy.

person dekkerr    schedule 04.10.2019