Я пытаюсь настроить сетевую политику в kubernetes, где общей группе модулей, имеющих одинаковое значение метки для ключа, разрешено иметь трафик на один порт.
Скажем, есть:
Pod A:
labels:
meshId="d5ea1b48"
и
Pod B:
labels:
meshId="d5ea1b48"
и более коробочек с одинаковой маркировкой meshId=d5ea1b48
.Сетка представляет собой ячеистую сеть, в которой просто всем включенным модулям разрешено иметь трафик на один порт.
Моя цель интерпретируется в yaml:
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: example
spec:
podSelector:
matchLabels:
meshId: %meshId of from-pod%
ingress:
- ports:
- port 1234
- protocol: TCP
- from:
- podSelector:
matchLabels:
meshId: %meshId of to-pod%
Так что, если я не ошибаюсь, эта конфигурацияговорит: я хочу запретить входящий трафик через порт 1234 для тех, у кого нет того же meshId
.
Есть ли способ создать kubernetes NetworkPolicy один раз для всех возможных meshId
с?Как бы выглядело такое решение в yaml?
Я не хочу создавать новую NetworkPolicy для каждого нового meshId
, потому что их будет тонна, и я также думаю, что это повредит производительности кластера.сеть, если существует более 50 000 сетевых политик.