【问题标题】:kubernetes networkpolicy namespaceSelector select when namespace has no labelskubernetes networkpolicy namespaceSelector 在命名空间没有标签时选择
【发布时间】:2019-10-27 00:57:40
【问题描述】:

我正在尝试添加 calico 网络策略以允许我的命名空间与 kube-system 命名空间通信。但是在我的 k8s 集群中,kube-system 没有附加标签,所以我无法在其中选择 pod。以下是我尝试过的,但它不起作用。

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.

我有一种方法可以仅通过名称来选择命名空间吗?

【问题讨论】:

    标签: kubernetes project-calico calico kubernetes-networkpolicy


    【解决方案1】:

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

    kubectl label ns/kube-system calico=enabled
    

    【讨论】:

      【解决方案2】:

      他们特别指出这是一种限制,@Nepomucen 有正确的解决方案。

      “按名称定位命名空间或服务(但是,您可以通过标签定位 pod 或命名空间,这通常是一种可行的解决方法)。”

      参考:https://kubernetes.io/docs/concepts/services-networking/network-policies/#what-you-can-t-do-with-network-policy-s-at-least-not-yet

      【讨论】:

        猜你喜欢
        • 2015-12-21
        • 1970-01-01
        • 2018-05-20
        • 1970-01-01
        • 2023-01-27
        • 2022-01-15
        • 1970-01-01
        • 1970-01-01
        • 2020-09-26
        相关资源
        最近更新 更多