一文看懂CNI
2026-10-13
浏览量:次
一文看懂 CNI:Kubernetes 的“容器网络接口”
CNI 的全称是 Container Network Interface,容器网络接口。它不是某一个具体网络插件,而是一套由 CNCF 维护的标准规范,用来定义容器运行时如何为容器配置网络。
Kubernetes 本身不直接实现容器网络,而是把“怎么给 Pod 分配 IP、怎么连通跨节点 Pod、怎么做网络策略”这件事交给 CNI
插件完成。
CNI 解决了什么问题
Kubernetes 要求每个 Pod 都有独立 IP,并且集群内 Pod 之间可以直接通信。
但 Linux 容器本身只有网络命名空间,没有现成的 IP、路由和跨主机网络。CNI 就是用来补齐这块能力的标准接口。
它主要解决三件事:
Pod 网络接入:给 Pod 创建网络接口,通常是 veth pair,一端在 Pod 命名空间,一端挂在宿主机网桥或路由上。
IP 地址分配:通过 IPAM 模块给 Pod 分配 IP、网关和路由。
网络策略与清理:部分插件还能实现 NetworkPolicy、流量加密、带宽限制;Pod 删除时释放网络资源。
CNI 是怎么工作的
当 Kubernetes 创建一个 Pod 时,流程大致是这样的:
Kubelet 收到创建 Pod 请求。
容器运行时为 Pod 创建网络命名空间。
运行时根据 /etc/cni/net.d/ 下的 JSON 配置文件调用 CNI 插件。
CNI 插件执行 ADD 操作,创建 veth pair、分配 IP、配置路由和防火墙规则。
Pod 删除时,运行时调用 DEL 操作,清理网络资源。
CNI 插件本身是可执行文件,通常放在 /opt/cni/bin。
它通过环境变量接收 Pod 信息,通过 stdin 接收 JSON 配置,再通过 stdout 返回结果。
CNI 的核心组成
CNI 体系主要由几部分组成:
CNI 规范:定义插件如何被调用、配置格式、返回结果格式。
CNI 插件二进制:如 flannel、calico、cilium-cni 等。
配置文件:JSON 格式,描述网络名称、插件类型、子网、网关等。
IPAM 插件:负责 IP 地址管理,常见有 host-local、DHCP、云厂商 VPC IPAM。
链式插件:多个插件可以按顺序组合,比如先创建网桥,再做端口映射或带宽限制。
三种主流网络模型
CNI 插件背后的网络实现方式差异很大,常见有三类。
Overlay 网络
通过 VXLAN、IPIP 等隧道封装数据包,在现有三层网络上构建一个逻辑二层网络。优点是部署简单,对底层网络要求低;缺点是封装会带来一定性能损耗。
代表插件:Flannel、Weave Net、Canal。
路由 / Underlay 网络
通过 BGP 或静态路由直接转发 Pod 流量,不做额外封装。性能更高,但需要底层网络支持路由分发。
代表插件:Calico BGP 模式、Kube-router。
eBPF / 云原生网络
利用 Linux 内核 eBPF 在内核态处理转发、负载均衡和安全策略,减少 iptables 开销,适合大规模微服务和服务网格场景。
代表插件:Cilium、Calico eBPF 模式。
此外还有云厂商方案,例如 AWS VPC CNI、Azure CNI、阿里云 Terway,它们让 Pod 直接使用 VPC IP,减少 NAT 和封装开销。
主流 CNI 插件怎么选
Flannel
最简单、最轻量的方案之一,适合中小集群、测试环境或对网络策略要求不高的场景。默认使用 VXLAN,部署成本低,但不原生支持 NetworkPolicy。
Calico
生产环境最常用的 CNI 之一。BGP 模式下没有封装开销,性能接近原生;同时内置 NetworkPolicy,适合需要微服务隔离、安全合规的大规模集群。
Cilium
基于 eBPF,性能和可观测性更强,支持 L3-L7 网络策略、服务网格集成和流量监控。适合云原生生产环境、大规模微服务和金融、电商等高要求场景。
Weave Net
部署简单,支持加密和故障自愈,适合中小集群或对跨节点安全通信有需求的场景。
Canal
本质是 Flannel 负责网络连通,Calico 负责网络策略。适合从 Flannel 过渡到具备策略能力的场景,但现在越来越多集群会直接使用 Calico。
一句话总结
CNI 是 Kubernetes 网络生态的“标准插头”。Kubernetes 只规定 Pod 需要什么网络能力,具体怎么实现交给 CNI 插件。
选型时可以先看规模和安全需求:小集群、快速搭建选 Flannel;生产集群、需要网络策略选 Calico;大规模微服务、服务网格和高可观测性选 Cilium;云上集群可以优先考虑云厂商原生 CNI。
- 上一篇:DDoS防护技术栈选型指南
- 下一篇:AMD最新动态,行业格局生变




