k8s容器网络(一)-- 网络模型
k8s网络模型
在k8s网络模型中,每台服务器上的容器都有自己独立的IP段,各个服务器之间的的容器可以根据目标容器的ip地址进行直接访问,各个容器可以跟服务器进行直接访问。
k8s网络设计与要求
为了实现这一目标,k8s设计了单pod单ip模型,其特点如下:
- 每个pod都有一个独立的ip,pod内的所有容器共享网络命名空间;
- 集群内所有Pod都在一个直接连通的扁平网络中,可通过IP直接访问,容器与容器之间、容器与节点之间能够直接通信,无需NAT和地址伪装
因此我们在设计k8s网络时主要考虑两点:
- 要能够为每一个Node上的Pod分配互相不冲突的IP地址;
- 要所有Pod之间能够互相访问
k8s容器网络接口
CNI(Container Network Interface)是一个标准的、通用的网络接口,是由CoreOS提出的一个容器网络规范。用于配置或销毁容器时动态配置适当的网络配置和资源。
CNI是k8s与底层网络插件之间的一个抽象层,为k8s屏蔽了底层网络实现的复杂度,同时解