我正在尝试在 kubernetes 中设置一个网络策略,其中允许具有相同键标签值的一组通用 pod 在一个端口上进行流量。
说有:
Pod A:
labels:
meshId="d5ea1b48"
和
Pod B:
labels:
meshId="d5ea1b48"
以及更多具有相同标签的 pod meshId=d5ea1b48
。网格表示一个网格网络,其中所有包含的 pod 都被允许在一个端口上进行通信。
我的目标用 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%
因此,如果我没记错的话,这个配置说:我想拒绝那些没有相同meshId
.
有没有办法为所有可能meshId
的 s 创建一个 kubernetes NetworkPolicy ?这种解决方案在 yaml 中的外观如何?
我不想为每个新的 NetworkPolicy 创建一个新的 NetworkPolicy,meshId
因为它们会很多,而且我还认为如果有 50.000 多个 NetworkPolicy,这会损害集群网络的性能。