Kubernetes网络策略将出口流量限制为服务
是否可以只允许特定服务的出口流量? 这是我天真的尝试:Kubernetes网络策略将出口流量限制为服务,kubernetes,project-calico,kubernetes-networkpolicy,Kubernetes,Project Calico,Kubernetes Networkpolicy,是否可以只允许特定服务的出口流量? 这是我天真的尝试: kind: NetworkPolicy metadata: name: default-deny-all-egress namespace: default spec: podSelector: {} egress: - ports: - protocol: TCP port: 53 - protocol: UDP port: 53 to: - podSelec
kind: NetworkPolicy
metadata:
name: default-deny-all-egress
namespace: default
spec:
podSelector: {}
egress:
- ports:
- protocol: TCP
port: 53
- protocol: UDP
port: 53
to:
- podSelector:
matchLabels:
k8s-app: kube-dns
policyTypes:
- Egress
不,据我所知,您只能使用
podSelector
。
然而,如果您有权访问集群,我认为您仍然可以为所需的pod手动添加额外的标签,并使用podSelector
为您提供良好的NetworkPolicy
结构模板。以下策略允许将pod出站流量发送到同一命名空间中与pod选择器匹配的其他pod
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-egress-same-namespace
namespace: default
spec:
podSelector:
matchLabels:
color: blue
egress:
- to:
- podSelector:
matchLabels:
color: red
ports:
- port: 80
我知道你可以使用下面这样的入口。不确定您是否可以将其用于出口-尚未尝试。但是要从其他名称空间访问pod,您应该以某种方式将其指向配置中
namespaceSelector:
matchLabels:
shape: square