Kubernetes 网络之 CNI
本文介绍了Kubernetes中的CNI(Container Network Interface)及其在网络配置中的作用。CNI是一个标准化接口,通过插件化机制支持多种网络方案,如Calico、Flannel和Cilium等,以实现容器间的通信。CNI的基本流程包括创建配置文件、调用插件、创建接口设备、分配IP地址及配置规则。此外,CNI与CRI(Container Runtime Interface)紧密协作,确保容器的网络配置与其生命周期同步。文章还探讨了CNI插件的不同网络模式,如覆盖网络(Overlay Network)和底层网络(Underlay Network),以及Bridge与veth-pair的作用。最后,讨论了kube-proxy在服务发现和负载均衡中的角色,并指出Cilium等现代插件可通过eBPF技术绕过Linux内核,提高效率并替代kube-proxy。