| name | implementing-container-network-policies-with-calico |
| description | 使用 Calico CNI 网络策略和全局网络策略实施 Kubernetes 网络分段,控制 Pod 间流量、限制出口流量并实现零信任微分段。 |
| domain | cybersecurity |
| subdomain | container-security |
| tags | ["container-security","kubernetes","calico","network-policy","microsegmentation","cni"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
使用 Calico 实施容器网络策略
概述
Calico 通过其 CNI 插件提供 Kubernetes 原生及扩展的网络策略执行能力。本技能涵盖创建和审计 Calico NetworkPolicy 与 GlobalNetworkPolicy 资源,使用 calicoctl 和 Kubernetes API 实现 Pod 间流量控制、命名空间隔离、出口限制以及基于 DNS 的策略规则。
前提条件
- 已安装 Calico CNI 的 Kubernetes 集群
- Python 3.9+,需安装
kubernetes 客户端库
- 已安装并配置 calicoctl CLI 工具
- 具有网络策略管理 RBAC 权限的 kubectl 访问权限
步骤
步骤 1:审计现有网络策略
使用 calicoctl 和 kubectl 盘点当前网络策略,识别未受保护的命名空间。
步骤 2:实施默认拒绝策略
为每个命名空间创建默认拒绝入口和出口流量的策略,作为零信任基线。
步骤 3:创建工作负载专属允许规则
为合法的 Pod 间及 Pod 与服务间通信定义细粒度允许规则。
步骤 4:验证策略执行
测试 Pod 间连通性,验证策略是否正确执行。
预期输出
JSON 审计报告,列出所有网络策略、未受保护的命名空间、策略规则数量和连通性测试结果。