Kubernetes 网络原理与插件 专栏导览

专栏定位

本专栏聚焦 Kubernetes 网络的底层原理与主流 CNI 插件实现——从 Linux 网络栈的基础原语(Network Namespace、veth pair、bridge、iptables)出发,系统推导 Kubernetes 网络模型的设计约束与实现路径,深入解析 Flannel、Calico、Cilium 三大主流 CNI 插件的技术选型差异,并覆盖 Service 的流量转发底层实现(iptables/IPVS/eBPF)、NetworkPolicy 的安全隔离机制,以及 CoreDNS 的集群 DNS 架构。

Kubernetes 网络是整个云原生技术栈中最难理解、最容易出故障、最需要深度知识才能调优的模块。一个容器为什么能用 IP 直接访问另一个节点上的容器?跨节点流量经过了几次封包/解包?Service 的 ClusterIP 为什么 ping 不通却能 curl?这些看似简单的问题背后,是 Linux 内核网络栈数十年演进的结果。本专栏的目标是让读者真正理解这些问题的根因,而不仅仅是会用 kubectl

目标读者

  • 希望深入理解 Kubernetes 网络实现原理的平台工程师 / SRE
  • 在生产环境中遇到 Pod 网络不通、跨节点延迟高、Service 故障等问题的运维工程师
  • 正在选型 CNI 插件(Flannel vs Calico vs Cilium)的架构师
  • 对 eBPF 在 Kubernetes 网络中应用感兴趣的基础设施工程师

专栏目录

序号标题核心内容
0101 Kubernetes 网络模型——从 Linux 网络命名空间到 Pod IPLinux Network Namespace 的本质;veth pair 的工作原理;Linux bridge 与 ARP;K8s 网络四大约束(Pod IP 可直接路由、无 NAT、Node 可访问所有 Pod);CNI 接口的诞生背景
0202 CNI 体系详解——插件规范、调用链与主流实现对比CNI Spec v1.0 协议;kubelet 调用 CNI 的完整链路;ADD/DEL/CHECK 操作语义;IPAM 插件(host-local/dhcp/calico-ipam);Flannel/Calico/Cilium/WeaveNet 选型对比矩阵
0303 Flannel 深度解析——VXLAN、Host-GW 与 UDP 模式Flannel 的子网分配机制与 etcd/Kubernetes API 存储;UDP 模式的 TUN 设备与用户态转发;VXLAN 模式的 VTEP 与封包路径;Host-GW 模式的路由表实现;三种模式的性能对比
0404 Calico 深度解析——BGP 路由、eBPF 数据面与网络策略Calico 的纯三层路由理念;Felix 组件的 iptables 规则生成;BIRD 进程的 BGP Peer 建立;IPIP/VXLAN 跨子网封装;Calico eBPF 数据面替换 kube-proxy;NetworkPolicy 的 Calico 实现
0505 Cilium 深度解析——eBPF 驱动的下一代网络与可观测性eBPF 在网络栈的 Hook 点(TC/XDP/Socket);Cilium 的 BPF Map 数据结构;替代 kube-proxy 的 eBPF Service 实现;Cilium Network Policy(L3/L4/L7);Hubble 的流量可观测原理
0606 Service 底层实现——kube-proxy、iptables 与 IPVSClusterIP/NodePort/LoadBalancer/ExternalName 的语义;iptables 模式的规则链结构(KUBE-SERVICES/KUBE-SVC-xxx/KUBE-SEP-xxx);IPVS 模式的优势与 ipset;Endpoint Slice 的引入;Service 流量的完整路径追踪
0707 NetworkPolicy 与 CoreDNS——网络安全策略与集群 DNSNetworkPolicy 的选择器语义与默认行为;ingress/egress 规则的 iptables 实现;三种典型隔离场景;CoreDNS 的架构与插件链(cache/kubernetes/forward);Pod DNS 解析链路;ndots 参数与 DNS 调优

推荐阅读路径

底层原理路径(建议顺序阅读):01 → 02 → 03 → 04 → 05

快速上手路径(只关心 Service 和 DNS 故障排查):01 → 06 → 07

CNI 选型路径:02 → 03 → 04 → 05

前置知识

  • Docker 专栏(Linux Namespace 与 CGroups 基础)
  • K8s 架构 专栏(Pod/Node/kubelet 基础)
  • TCP/IP 基础:IP 路由、ARP、VLAN、NAT 的概念
  • iptables 基础操作(了解 chain 和 rule 的概念即可)

关联专栏