k8s的网络
k8s中的通信模式:
1、pod内部之间容器与容器之间的通信
在同一个pod中的容器共享资源和网络,使用同一个网络命名空间,可以直接通信的
2、同一个node节点之内,不同pod之间的通信
每个pod都有一个全局的真实的ip地址,同一个node直接的不同pod可以直接使用对方pod的ip地址进行通信
pod1和pod2是通过docker0的网桥来进行通信
3、不同node节点上的pod之间如何进行通信
cni的插件
cni是一个标准接口,用于容器运行时调用网络插件,配置容器网络,负责设置容器的网络命名空间,ip地址,路由等等参数
flannel插件:功能就是让集群之中不同节点的docker容器具有全集群唯一的虚拟ip地址
overlay网络:在底层物理网络的基础之上创建一个逻辑的网络层,二层+三层的集合,二层是物理网络,三层是逻辑上的网络层
overlay网络也是一种网络虚拟化的技术
flannel支持的数据转发方式:
1、UDP模式:默认模式(一般不用),应用层的转发,配置简单,但是性能最差
2、vxlan:基于内核转发,也是最常用的网络类型(小集群都是用这个)
3、host-gw:性能最好,但是配置麻烦
UDP:基于应用转发,是由flannel提供路由表,由flannel封装数据包,以及解封装