一、CNI
1、介绍:
CNI(Container Network Interface)是kubernetets中标准的调用网络实现的接口
kubelet通过这个标准的接口来调用不同的网络插件以实现不同的网络配置方式
Kubelet调用CNI构建容器网络步骤:
1、kubelet先通过CRI创建pause容器(pod sanbox),生成network namespace;
2、kubelet根据启动参数配置调用具体的网络插件如CNI网络插件;
3、网络插件给pause容器(pod sanbox)配置网络;
4、创建pod中其他业务容器,然后将其加入pause容器(pod sandbox)网络空间。
kubelet和CNI 有关的启动参数:
-- network-plugin:设置网络插件,可选值有,可选值cni,kubenet,,
-- cni-conf-dir:CNI配置文件所在路径。默认值:/etc/cni/net.d
--cni-bin-dir:CNI插件的可执行文件所在路径,默认值:/opt/cni/bin
2、常见的CNI
常见的CNI网络插件:Calico、Cilium、flannel、Weave Net、Terway、