【发布时间】:2021-03-21 23:38:05
【问题描述】:
我们正在使用 calico 设置严格的默认拒绝策略,以禁用除故障安全规则之外的任何流量。现在我们有多个命名空间,这些命名空间正在增加,因为每个应用程序都有多个命名空间。
现在的想法是默认允许命名空间内的流量,其顺序高于默认拒绝。但是,我在这里没有成功找到可扩展的方法。看来我们需要为每个看起来几乎相同的新命名空间显式创建一个 NetworkPolicy。
我正在寻找这样的东西:您定义一个规则一次,它适用于具有allow-all-in-ns 标签的命名空间中的所有资源。
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
name: allow-self-policy
spec:
namespaceSelector: 'has(allow-all-in-ns)'
ingress:
- action: Allow
source:
namespaceSelector: has(allow-all-in-ns) && self
egress:
- action: Allow
source:
namespaceSelector: has(allow-all-in-ns) && self
我不希望在标签为 allow-all-in-ns 的命名空间之间进行任何通信,但我希望在每个命名空间内使用此标签进行通信。目前使用 calico 的功能集可以实现吗?
【问题讨论】:
标签: networking kubernetes project-calico kubernetes-networkpolicy