Network Policies 是 Kubernetes 中的一种资源对象,用于控制 Pod 之间的网络流量。它可以定义哪些 Pod 能够与哪些 Pod 进行通信,并且允许管理员对流量进行细粒度控制。以下是一个 Network Policies 的示例:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-nginx
spec:
podSelector:
matchLabels:
app: nginx
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
role: api-server
ports:
- protocol: TCP
port: 80
这个 Network Policy 允许标记为 app=nginx 的所有 Pod 接受来自标记为 role=api-server 的其他 Pod 发送的 TCP 流量,并限制该流量只能使用端口号为 80。这意味着除了来自符合规则的 Pod 的流量外,所有其他入站流量都将被拒绝。
通过使用 Network Policy,管理员可以实现多种网络策略,例如仅允许特定服务进行通信、限制进出集群的数据包数量、限制特定用户或应用程序在特定时间段内进行通信等等。




