Kubernetes - сетевая политика, разрешающая трафик на порт только в пространстве имен

Мне нужно создать сетевую политику, которая принимает трафик (входящий + исходящий) между всеми модулями в одном пространстве имен на конкретном порту ТОЛЬКО (например, на порту 9200).

Я назвал свое пространство имен calico с помощью kubectl label ns calico type=clico

Я попробовал приведенную ниже политику, но после ее создания я создал модуль для тестирования telnet на порту 9200, и это запрещено.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: calico
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          type: calico
    - podSelector: {}
    ports:
    - protocol: TCP
      port: 9200
  egress:
  - to:
    - namespaceSelector:
        matchLabels:
          type: calico
    - podSelector: {}
    ports:
    - protocol: TCP
      port: 9200

person Y.jab    schedule 26.10.2020    source источник
comment
Привет, как установили бязь? Возможно, вы установили calico в качестве подключаемого модуля CNI без функций сетевой политики.   -  person Piotr Malec    schedule 27.10.2020
comment
правильный ли этот файл yaml и удовлетворяет ли он моим требованиям   -  person Y.jab    schedule 27.10.2020


Ответы (1)


Похоже на опечатку в пространстве имен label: type = clico и определении политики: matchLabels: type: calico

person Dmitry Bogopolskiy    schedule 03.06.2021
comment
Если проблема вызвана просто опечаткой, лучше пометить ее как закрываемую, чем отвечать - person camille; 04.06.2021