kubeasz 网络插件:5 种 CNI 按场景各改一行配置

发布时间:2026/9/14 10:05:19
kubeasz 网络插件:5 种 CNI 按场景各改一行配置 kubeasz 网络插件5 种 CNI 按场景各改一行配置【免费下载链接】kubeasz使用Ansible脚本安装K8S集群介绍组件交互原理方便直接不受国内网络环境影响项目地址: https://gitcode.com/GitHub_Trending/ku/kubeaszkubeasz 网络插件把 calico、flannel、cilium、kube-router、kube-ovn 五种 CNI 收进同一个 network 角色K8s CNI 选型不用自己手拼 yaml。读完你能按场景改一个变量把跨节点流量从隧道切到 BGP 直连。单机房快速拉起flannel 一行 vxlan 就够痛点是 POC 和测试环境要的是快不想为网络单独花时间。flannel 的 vxlan 后端最通用任何机房直接拉起不挑网络装完即用代价是它只做 Pod 互通、不做策略。CLUSTER_NETWORKflannel FLANNEL_BACKENDvxlan同二层追最低延迟Calico 后端选 BGP 直连模式痛点是隧道封装每跳多 20~50 字节头延迟敏感业务等不起。K8s 低延迟网络配置的关键在 Calico 后端选择——同一二层网络里把 calico 后端设为 birdPod 流量走裸 BGP 路由不做 IPIP/VXLAN 封装。CALICO_NETWORKING_BACKENDbird CALICO_ENABLE_OVERLAYNever直连模式下延迟能压到 0.1ms 量级是同二层环境 K8s 低延迟网络配置能摸到的上限。要细粒度隔离eBPF 网络策略交给 Cilium痛点是多业务混部要按标签控制谁能访问谁。Cilium 用 eBPF 数据面执行策略绕开 iptables 规则爆炸还带 hubble 直接看流量。设置CLUSTER_NETWORKcilium需要观测再加cilium_hubble_enabled: true。eBPF 网络策略的粒度到进程和 L7比传统 NetworkPolicy 细一个量级。跨子网与混合云Calico 切 overlay 隧道互联痛点是节点跨子网或在公有云二层不通BGP 直连根本建不起来。这时反过来让 calico 走 overlay 隧道用 IPIP/VXLAN 封装跨子网路由。CALICO_ENABLE_OVERLAYAlways CALICO_NETWORKING_BACKENDvxlanAzure 等不支持 IPIP 的云用 vxlan想要折中就用 CrossSubnet同子网直连、跨子网封装。五个 CNI 放一张表对比| CNI | 部署上手难度 | 同机房延迟量级 | 网络策略能力 | 建议集群规模上限 | | flannel | 低vxlan 开箱即用 | 隧道封装约 0.3ms 起 | 不支持 | 50 节点 | | calico | 中 | BGP 直连约 0.1ms | NetworkPolicy | 1000 节点开 RR | | cilium | 中 | eBPF约 0.1ms | 最细eBPF 策略 | 500 节点 | | kube-router | 中 | 依赖 overlay 模式 | 支持 | 100 节点 | | kube-ovn | 高 | 依赖 OVN 配置 | 支持功能丰富 | 500 节点 |如果你的场景是单机房 POC直接选 flannel生产大集群直接选 calico。两个高频坑⚠️坑一大包偶发超时现象小包正常大文件传输偶发超时抓包看到丢包。根因IPIP/VXLAN 封装吃掉头部空间MTU 没跟着降大包被黑洞。一行修复同子网直接CALICO_ENABLE_OVERLAYNever关隧道或显式把 MTU 调到 1450。坑二BGP 邻居起不全现象节点一多calicoctl node status里出现 NotEstablished。根因BGP 全互联的邻居数随节点平方级增长超 50 节点后连接收敛不了。节点超 50 个还不开 RR连接数直接爆炸。一行修复CALICO_RR_ENABLEDtrue启用路由反射器。选错 CNI 后面全是运维成本按场景对号入座就行。详见 calico 配置 与 cilium 配置。【免费下载链接】kubeasz使用Ansible脚本安装K8S集群介绍组件交互原理方便直接不受国内网络环境影响项目地址: https://gitcode.com/GitHub_Trending/ku/kubeasz创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考