Kubernetes networkpolicy 多个匹配标签

Kubernetes networkpolicy multiple match labels

我们有针对所有人的默认拒绝所有出口政策 pods 我们有如下所示的出口互联网政策

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-external-egress-internet
spec:
  podSelector:
    matchLabels:
      egress: internet
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr: 0.0.0.0/0

现在,如果我尝试在 spec/podselector/matchlabels 下添加多个标签,一切都会崩溃。有没有办法在带有标签 egress: internetfoo:bar.

的 pods 上实施此网络策略

只使用 foo:bar 作为标签的广告连播应该是允许的,但它不是那样工作的。

这很棘手,因为 matchLabels 不采用多个键值对,而 matchExpressions 将进行 AND 运算。 有两种可能的方法(解决方法):

  1. 创建另一个网络策略(连同现有策略),其中 matchLabels 包含 foo:bar

    [或]

  2. 为两个工作负载添加一个新标签(通用)并在 podSelector

    中使用它