2026/4/5 1:37:26
网站建设
项目流程
网站建设的简洁性,纪念册设计制作图片,手机版网站开发人员选项,重庆重大新闻事件文章目录前言一、K8S 中 Pod 网络通信的三种情况1.1 同一nod节点中1.2 同一pod中的容器1.3 不同node节点上二、Flannel方案2.1 Flannel UDP 模式通信流程2.2 Flannel VXLAN 模式通信流程2.3 Flannel Host-gw 模式通信流程三、calico四、Flannel与calico的区别总结前言
本文主要…文章目录前言一、K8S 中 Pod 网络通信的三种情况1.1 同一nod节点中1.2 同一pod中的容器1.3 不同node节点上二、Flannel方案2.1 Flannel UDP 模式通信流程2.2 Flannel VXLAN 模式通信流程2.3 Flannel Host-gw 模式通信流程三、calico四、Flannel与calico的区别总结前言本文主要讲解k8s集群中pod网络通讯原理一、K8S 中 Pod 网络通信的三种情况1.1 同一nod节点中同一node的每个pod都有自己独立的ip并且在同一网段当pod1尝试访问pod2时访问会通过网卡docker0进行转发到pod2最终实现通讯。1.2 同一pod中的容器在前一篇博客我们了解到了pod中可以有很多个容器而同一个pod中的所有容器都在同一个命名空间中因此就相当于两个容器在同一个虚拟主机上可以直接通过本地ip进行访问。1.3 不同node节点上这种相当于跨主机进行通信由于外部ip互相不认识因此这种通讯不能直接访问跨主机方式进行通讯有两种方案一种是Flannel另一种是calico。二、Flannel方案flannel方案又分为三种模式2.1 Flannel UDP 模式通信流程举例container1pod1访问container2pod2pod1会将自己的ip与要通讯的目标pod2ip进行打包发给网关网关cni通过网桥发送给node1节点的网卡eth0网卡中的Flannel0再将网卡的ip与对端node2的网卡ip打包进入数据包中形成UDP包然后通过宿主机网卡eth0将数据帧发送给对端node节点node节点收到包后层层解包先是拆出node2的ip发现是找自己的就会继续拆包拆出pod2的ip然后会将包转发给pod2最后pod2发现是找自己的就会拆数据包提取里面的数据实现互通。2.2 Flannel VXLAN 模式通信流程原理podA1到podB2pod1将自己的ip与对端pod2的ip和数据打包形成数据包发送给网卡网卡通过虚拟网桥cni将数据帧发送给Flannel1flannel1给原始数据包加外层封装再发给node1的网卡nod1的网卡ens160将自己的网卡ip与对端node2的网卡ip写入数据包中同时将vxlan头部也加入到数据帧中最后通过物理网卡ens160和vxlan隧道将数据帧快速的发送给对端网卡ens160对端收到后进行解包发现是找自己的就会继续解包发现要找podB2就会将数据包转发给podB2。特点1、转发速度快通过vxlan进行数据帧转发。与UDP的区别2、需要进行打包、解包2.3 Flannel Host-gw 模式通信流程原理PodA110.244.1.2Node A 的 Pod 子网要访问 PodB210.244.4.3Node B 的 Pod 子网数据包从 Pod 的eth0发出通过veth转发到 Node A 的cni0网桥。cni0发现目标 IP10.244.4.3属于 “10.244.4.0/24” 子网查 Node A 的路由表找到一条路径通往pod2Node A 的ens160物理网卡直接将数据包发送到 Node B 的ens160Node B 的ens160收到数据包后查自己的路由表发现 “10.244.4.0/24” 是自己的 Pod 子网于是将数据包转发到 Node B 的cni0网桥cni0将数据包通过veth转发到 PodB2 的eth0PodB2 收到数据。核心特点1、无封装开销性能最高因为是纯路由转发2、Node 必须处于同一个二层网络不能跨网段转发。三、calico举例pod1ip10.244.1.2 pod2ip10.244.2.3原理pod1访问pod2pod1位于node1节点中pod2位于node2节点中pod将数据写入数据包发送给pod1的网卡eth0eth0再通过网桥将数据包发送给node1节点的网卡node1查找路由规则BGP为node1找出转发的最佳路径node1通过自己的物理网卡将数据包发送到对端的node2网卡node2查找路由表发现有pod2后将包发给pod2。Calico 的核心思想把每一台 Node 当成一台路由器不使用隧道不修改原始数据包通过 BGP 同步路由表直接三层转发四、Flannel与calico的区别总结本文主要讲解k8s集群中pod网络通讯原理谢谢观看。