EKS GlobalNetworkPolicies по умолчанию-запретить с исключениями модуля - PullRequest
0 голосов
/ 02 октября 2019

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

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

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

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

1 Ответ

0 голосов
/ 04 октября 2019

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

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

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

...