网络策略 - 限制来自某些命名空间的出口但允许其他命名空间
Posted
技术标签:
【中文标题】网络策略 - 限制来自某些命名空间的出口但允许其他命名空间【英文标题】:Network Policy - Restricting Egress From Some Namespaces But Allowing Other Namespace 【发布时间】:2020-12-11 09:12:29 【问题描述】:假设我有这些ns
nginx-master - Running my Ingress controller
monitoring - Running Prometheus, Grafana
app1-project (Parent)
app1-dev
app1-qa
app2-project(Parent)
app2-dev
app2-qa
我基本上想从nginx-master
发送流量(入口/出口)并监控到 app1-project 和 app2-project(传播给他们各自的孩子)
但是,阻止从 app1-project 和 app2-project 到彼此的任何(入口/出口)流量
【问题讨论】:
【参考方案1】:下面的配置应该可以为您解决问题
首先,分别使用project: ingress
和project: monitoring
在命名空间上创建标签。
然后使用下面的清单。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-network-policy
namespace: app1-project
spec:
podSelector:
policyTypes:
- Ingress
- Egress
ingress:
- from:
- namespaceSelector:
matchLabels:
project: ingress
- namespaceSelector:
matchLabels:
project: monitoring
出口为空将拒绝所有出口https://kubernetes.io/docs/concepts/services-networking/network-policies/#default-deny-all-egress-traffic
【讨论】:
以上是关于网络策略 - 限制来自某些命名空间的出口但允许其他命名空间的主要内容,如果未能解决你的问题,请参考以下文章