Networking 允许来自pod标签等于pod标签的流量

Networking 允许来自pod标签等于pod标签的流量,networking,kubernetes,kubernetes-networkpolicy,Networking,Kubernetes,Kubernetes Networkpolicy,我正在尝试在kubernetes中设置一个网络策略,其中一组具有相同密钥标签值的普通POD允许在一个端口上拥有流量 假设有: Pod A: labels: meshId="d5ea1b48" 及 以及更多具有相同标签meshId=d5ea1b48的吊舱。 mesh表示一个mesh网络,其中只允许所有包含的pod在一个端口上具有流量 我的目标用yaml解释: kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: n

我正在尝试在kubernetes中设置一个网络策略,其中一组具有相同密钥标签值的普通POD允许在一个端口上拥有流量

假设有:

Pod A:
 labels:
  meshId="d5ea1b48"

以及更多具有相同标签meshId=d5ea1b48的吊舱。 mesh表示一个mesh网络,其中只允许所有包含的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的人拒绝1234端口上的传入流量

是否有一种方法可以一次性为所有可能的MESHID创建kubernetes网络策略?这样的解决方案在yaml中会是什么样子


我不想为每个新的meshId创建一个新的NetworkPolicy,因为将有大量的NetworkPolicy,我还认为如果有超过50.000个NetworkPolicy,这将损害集群网络的性能。

无法以您提出的方式概括标签选择器。请注意,网络策略旨在强化基础,以便只有真正的流量才能进出

我还想指出一个事实,那就是为什么你最终会得到50000美元的额外保单。这意味着您的POD选择器策略不好。考虑改变这一点,而不是相反。你就快把这件事做完了

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1    
metadata:
 name: example
spec:
 podSelector:
  matchLabels:
   meshId: value1
 ingress:
 - ports:
  - port 1234
  - protocol: TCP
 - from:
  - podSelector:
      matchLabels:
        meshId: value1
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1    
metadata:
 name: example
spec:
 podSelector:
  matchLabels:
   meshId: value1
 ingress:
 - ports:
  - port 1234
  - protocol: TCP
 - from:
  - podSelector:
      matchLabels:
        meshId: value1