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
Создайте правило для Network policy:
Создайте файл YAML
<policy-name>
, в котором в разделе<policy-name>
опишите правило политики.В созданном файле определите объект политики, например:
Запретить вход из всех модулей во всех пространствах имен:
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: {}
Создайте Network policy используя команду oc apply -f <policy_name>.yaml -n <namespace>. Где <policy_name> — имя файла сетевой политики, <namespace> — указывает пространство имен.
Войдите в веб-консоль Administrator.
Перейдите в меню
.Нажмите на кнопку Create Network Policy.
Внесите необходимые изменение в кодовом поле.
Опционально, перейдите в раздел Samples, чтобы применить шаблон для создания Network Policy.
Нажмите на кнопку Create.
Удаление Network policy
oc delete networkpolicy <policy_name> -n <namespace>
Где <policy-name>
— имя Network policy.
Перейдите в меню
.Выберите Network policy, которую необходимо удалить, нажмите на кнопку
и выберите Delete Network Policy.
Просмотр объектов Network Policy
Получить данные обо всех объектах NetworkPolicy в проекте можно с помощью команды oc get networkpolicy.
См.также
Подробнее об управлении Network policy смотрите здесь.