首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Calico GlobalNetworkPolicy排斥不起作用

Calico GlobalNetworkPolicy排斥不起作用
EN

Stack Overflow用户
提问于 2020-11-25 11:03:34
回答 1查看 729关注 0票数 1

最近在AKS集群上开始使用Calico网络策略。其计划是阻塞新名称空间的所有通信量,但指定给标记为“kube”的coredeDNS吊舱的通信量除外。此策略不应应用于名称空间:默认、kubesystem和calico-system。

用: name=default标记默认命名空间

我从Calico网站上找到了一个例子,并添加了默认的名称空间链接:https://docs.projectcalico.org/security/kubernetes-default-deny。但是,该策略也被应用于默认名称空间,而不应该是这种情况吗?我已经标记了默认的命名空间。

代码语言:javascript
复制
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: deny-app-policy
spec:
  namespaceSelector: has(projectcalico.org/name) && projectcalico.org/name not in {"kube-system", "calico-system","default"}
  types:
  - Ingress
  - Egress
  egress:
  # allow all namespaces to communicate to DNS pods
  - action: Allow
    protocol: UDP
    destination:
      selector: 'k8s-app == "kube-dns"'
      ports:
      - 53

还检查了文档:https://docs.projectcalico.org/reference/resources/globalnetworkpolicy

有( projectcalico.org/name )->将资源与标签projectcalico.org/name匹配,这与值无关。

&& projectcalico.org/name在{“kube”、"calico-system“、"default"} ->中不匹配资源,没有标签的是projectcalico.org/name,或者在给定的集合{”kube“、"calico-system"}中不匹配

意义(?):它将应用于任何名称空间,但带有标签的名称空间和设置为kube-system或calico-system的值除外。但如果是这样的话,为什么不起作用呢?我向默认名称空间添加了一个标签: name=default

EN

回答 1

Stack Overflow用户

发布于 2021-03-18 02:19:32

AKS集群目前部署在CalicoV3.8.9中,它不支持spec.namespaceSelector (这是在V3.10中添加的)。

您可以通过显式地允许(在入口和出口中)通信在kube-system命名空间中使用sourcedestination字段中的destination字段来模拟这样的策略(参见https://docs.projectcalico.org/archive/v3.8/reference/resources/globalnetworkpolicy#entityrule)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65003377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档