我正在尝试添加一个calico网络策略,以允许我的命名空间与kube-system命名空间进行通信。但是在我的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 describe ns kube-system
Name: kube-system
Labels: <none>
Annotations: <none>
Status: Active
No resource quota.
No resource limits.
我有一种方法可以仅通过名称选择名称空间吗?
答案 0 :(得分:0)
是什么阻止您为此名称空间创建新标签?,例如:
kubectl label ns/kube-system calico=enabled
答案 1 :(得分:0)
他们特别指出这是一个限制,@ Nepomucen在解决方案方面具有正确的解决方法。
“按名称定位名称空间或服务(但是,可以按其标签定位pod或名称空间,这通常是可行的解决方法)。”