首页/云/Kubernetes 速查/NetworkPolicy 依赖的 CNI 能力
网络与服务55 条

NetworkPolicy 依赖的 CNI 能力

策略要真正执行必须由 CNI 插件实现;Calico、Cilium、Antrea 等支持策略,纯 Flannel 默认不执行策略(对象能建但不起作用)。

Kubernetes 速查云更新于 2026-10-12

确认集群网络组件

确认集群网络组件
kubectl -n kube-system get pods -o wide | grep -i -E 'calico|cilium|antrea|flannel|kube-router'
kubectl get networkpolicy -A | head
kubectl get pods -n kube-system -L k8s-app

连通性验证(策略生效性测试)

连通性验证(策略生效性测试)
kubectl run np-test --rm -it --image=busybox:1.36 --restart=Never -n prod -- sh
# 容器内:
nc -zv -w 2 db 5432 && echo allowed || echo blocked
测试策略是否生效:建一条默认拒绝后从同命名空间 Pod 发起连接,应被阻断;若仍连通说明插件未执行策略。

易错点

  • 更换 CNI 属于集群级变更(网络短暂中断),必须先做方案与回滚演练
  • 多 CNI 并存(Multus 等)时策略作用于哪张网卡要有明确约定

数据来源与参考

  • Kubernetes 官方文档 · Network Policies / CNI 插件说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌