用途:通过 Kubernetes NetworkPolicy 实现 Pod 级网络分段,定义入站与出站规则,控制 Pod、命名空间与外部端点之间的流量;配合 Calico、Cilium、Antrea 等 CNI 插件执行零信任微隔离,防止集群内横向移动。
主要能力与工作流:
- 默认拒绝全部流量:podSelector 为空、policyTypes 含 Ingress 与 Egress,应用于每个命名空间。
- 允许 DNS 出站:放行到 kube-system 命名空间的 UDP/TCP 53 端口,保证服务发现。
- 应用专属策略:如仅允许 frontend 访问 backend 的 8080 端口、仅允许 backend 访问 database 的 5432 端口。
- 跨命名空间策略:如允许 purpose=monitoring 的命名空间抓取 9090 指标端口。
- 出站限制:限定到特定 Pod、ipBlock 外部 API 及 DNS。
- 阻止云元数据访问:在 0.0.0.0/0 中 except 169.254.169.254/32、100.100.100.200/32,防 SSRF。
验证命令:kubectl get networkpolicies -n production;用 busybox 测试 Pod 验证被阻断与放行的流量。
前提:支持 NetworkPolicy 的 CNI 集群、具备管理员权限的 kubectl、理解 Pod 标签与选择器。
限制:资料未提供具体收费、价格、平台或效果数据;策略实际执行依赖所选 CNI 的兼容性。