kubernetes networkpolicy namespaceSelector在命名空间没有标签时选择

kubernetes networkpolicy namespaceSelector在命名空间没有标签时选择,kubernetes,project-calico,calico,kubernetes-networkpolicy,Kubernetes,Project Calico,Calico,Kubernetes Networkpolicy,我正在尝试添加印花布网络策略,以允许我的命名空间与kube系统命名空间对话。但在我的k8s集群中,kube系统没有附加标签,所以我无法选择其中的吊舱。下面是我试过的,但不起作用 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-kube-system namespace: advanced-policy-demo spec: podSelector: {} # select

我正在尝试添加印花布网络策略,以允许我的命名空间与kube系统命名空间对话。但在我的k8s集群中,kube系统没有附加标签,所以我无法选择其中的吊舱。下面是我试过的,但不起作用

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-kube-system
  namespace: advanced-policy-demo
spec:
  podSelector: {}       # select all pods in current namespace.
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - namespaceSelector:
        matchLabels: {}
      podSelector:
        matchLabels:
          tier: control-plane
  egress:
  - to:
    - namespaceSelector:
        matchLabels: {}
      podSelector:
        matchLabels:
          tier: control-plane
$kubectl描述ns kube系统
名称:kube系统
标签:
注释:
状态:活动
没有资源配额。
没有资源限制。

有没有一种方法可以只通过名称来选择名称空间?

是什么阻止您为此名称空间创建新标签?如下所示:

kubectl label ns/kube-system calico=enabled

他们特别称之为限制,@Nepomucen有正确的变通解决方案

按名称确定名称空间或服务的目标(但是,您可以按其标签确定POD或名称空间的目标,这通常是一种可行的解决方法)

参考:

kubectl label ns/kube-system calico=enabled