我有一个pod,它发出指标,它有多个出口相关联,如-
1.身份验证端点(tcp/443)
1.域名系统(UDP/53)
1.示例元数据(tcp/80)
1.其他pod(全部)
为上述所有内容定义策略的好做法是什么-
1 -单个网络策略中的所有出口
示例(所有出口采用相同策略)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: metrics-emitter-egress-to-multiple-points
spec:
podSelector:
matchLabels:
name: metrics-emitter
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 443
- to:
ports:
- protocol: UDP
port: 53
- to:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 9443
或
2 -每个出口使用不同的NetworkPolicy
示例(每个NetPol不同)-
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: metrics-emitter-egress-to-auth-endpoint
spec:
podSelector:
matchLabels:
name: metrics-emitter
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 443
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: metrics-emitter-egress-to-dns
spec:
podSelector:
matchLabels:
name: metrics-emitter
policyTypes:
- Egress
egress:
- to:
ports:
- protocol: UDP
port: 53
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: metrics-emitter-egress-to-api-server
spec:
podSelector:
matchLabels:
name: metrics-emitter
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 9443
2条答案
按热度按时间aurhwmvo1#
最好是在一个单一的管理所有的政策,否则你将不得不通过吨类似的线。
也很容易将有助于减轻任何问题,如果一个类似的政策正在添加或覆盖发生。
s4n0splo2#
网络策略可用于指定允许进入pod和允许从pod出去。这些规范的工作方式与预期一致:如果允许从集群之外的外部网络端点进入POD,则允许从该端点到POD的流量。
最好在单个网络策略中定义所有策略。
在覆盖或添加类似策略的情况下,可降低因发生任何不良事件而造成损失的风险