Kubernetes Pod 是如何获取 IP 地址的.docx
《Kubernetes Pod 是如何获取 IP 地址的.docx》由会员分享,可在线阅读,更多相关《Kubernetes Pod 是如何获取 IP 地址的.docx(10页珍藏版)》请在优知文库上搜索。
1、KUberneteS网络模里的核心要求之一是每个Pod都拥有自己的IP地址并可以使用该IP地址进行通信。很多人刚开始使用KUberneteS时,还不消楚如何为每个Pod分配IP地址。他们了解各种组件如何独立工作,但不清烬这些组件如何加合在一起使用。例如他们了解什么是CNI插件,但是不知道它们是如何被调用的“本文就介绍了各种网络组件在Kubemetes集群中是如何交互的,以及如何帮助每个Pod都获取IP地址。在Kubernetes中有多种网络设署方法,以及containerruntime的各种选项.这篇文章将使用Flannel作为networkprovider,并使用Containered作为c
2、ontainerruntime.背景棱念容叁网络同一主机上的容善在同主机上运行的容洪通过IP地址相互通信的方法之一是使用1.inuxBridge,即在Kubernetes(和Docker)世界中,创建veth(虚拟以太网)设备。该Velh设备的端连接在容涔网络命名空间,另一端连接到主机网络上的1.inUXBridRce同一主机上的所有容器都将这vethpair的一端连接到1.inuxBridge,它的可以通过Bridge使用IP地址相互通侑.1.inuxBridge也戢分配了一个IP地址,它充当从目的地到不同打点的Pod流出流量的网关.不同主机上的容导在不同I:机上运行的容器可以通过其IP地址
3、相互通信的方式之一是使用数据包封装(PaCketenCaPSUlatiOn)。FIannel通过vxlan使用该功能,vxlan将原始数据包封装在UDP数据包中并将其发送到目的地。在Kubernetes柒群中,Flannel会在每个节点上创建一个vxlan设备和一些路由表.祗个发往不同主机上的容器的数据包都会通过vxlan设备,并封装在UDP数据包中.在目标位置,它会提取封装的数据包,然后将数据过路由到目的地Pod.注意:这只是配置容器之间网络的方法之一.CRICRK容器运行时接口)是一个插件接口,允许kubelet使用不同的containerruntimes.各种containerrunti
4、mes都实现了CRlAPI,这使用户可以在Kubernetes安装中使用他们想要的containerruntimes.CNlCNI(容洪网络接口)项目包含一个为1.inUX容涔提供基于通用插件网络解决方案的规则.它由各种插件组成,这些插件在配置Pod网络时执行不同的功能.CNl插件是遵循CNI规范的Ur执行文件。为节点子网分配PodIP地址如果要求所有Iod具有IP地址,那么就要确保整个集群中的所有Pod的IP地址是唯一的。这可以通过为每个节点分配一个唯一的子网来实现,即从子网中为Pod分配节点IP地址,节点IPAM控制寿当nodciPaBl假递给kube-controlIvrnnanager
5、的一controllers命令行标志时,它将为每个节点分配来自集群Cn)R(集群网络的IP范围)的专用子网(PodeIDR).由于这些POdClDR是不相交的子网,因此它可以为每个Pod分配唯一的IP地址。当Kubernetes节点首次在集群上注册时,公被分配一个podCIDR.要更改分配给集群中节点的podClDR.需要先注储节点,然后使用应用于KUbernCteS控制平面的任何配置更改来屯新注册节点.PodCIDR可以使用以下命令列出节点的名称:$kubectlgetno-ojsonIjq,.spec.podCIDR1.244.24Kubelet-,CkmtainerRuntime和CNI
6、插件交互当在节点上调度Pod时,一启动Pod就会发生根多事情。这迎我们仅关注与Pod配置网络有关的动态,旦在节点上调度了Pod,将配置网络并启动应用程序容器,Ol(?)IuMMCitoCRiIMtncrMtpodMpodnetMCrtK(7)IUMMM8v-/p911Q0tMCM7KtaMC4*CMu9nZH0konCorMtner参考:容器式cri插件架构COntainerRuntiae与CNI插件的交互每个networkprovider都有一个CNI插件,containerruntime公调用该插件,在Pod启动时配置网络.使用容渊化作为containerruntime.容活化CRI插件将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Kubernetes Pod 是如何获取 IP 地址的 如何 获取 地址
