Network policy

Network policy — объект сети, который позволяет изолировать один или несколько подов и указать для них разрешенные типы входящего трафика подключения.

Пример объекта Network policy:

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: allow-27107
spec:
  podSelector:
    matchLabels:
      app: mongodb
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: app
    ports:
    - protocol: TCP
      port: 27017

Где:

  • name — имя Network policy.

  • spec.podSelector — cелектор, описывающий модули, к которым применяется политика.

  • ingress.podSelector — cелектор, соответствующий модулям, из которых объект политики допускает входящий трафик. Селектор будет соответствовать модулям в любом проекте.

  • ports — один или несколько портов для приема трафик.

Создание Network policy

  1. Создайте правило для Network policy:

    1. Создайте файл YAML <policy-name>, в котором в разделе <policy-name> опишите правило политики.

    2. В созданном файле определите объект политики, например:

      Запретить вход из всех модулей во всех пространствах имен:

      kind: NetworkPolicy
      apiVersion: networking.k8s.io/v1
      metadata:
      name: deny-by-default
      spec:
      podSelector:
      ingress: []
      

      Разрешить вход из всех модулей в одном пространстве имен:

      kind: NetworkPolicy
      apiVersion: networking.k8s.io/v1
      metadata:
        name: allow-same-namespace
      spec:
        podSelector:
        ingress:
        - from:
          - podSelector: {}
      
  2. Создайте Network policy используя команду oc apply -f <policy_name>.yaml -n <namespace>. Где <policy_name> — имя файла сетевой политики, <namespace> — указывает пространство имен.

Удаление Network policy

oc delete networkpolicy <policy_name> -n <namespace>

Где <policy-name>— имя Network policy.

Просмотр объектов Network Policy

Получить данные обо всех объектах NetworkPolicy в проекте можно с помощью команды oc get networkpolicy.

См.также

Подробнее об управлении Network policy смотрите здесь.