利达主机如何注册设备_Kubernetes Pod 如何获取 IP 地址

本文探讨了在 Kubernetes 集群中,如何通过CNI、Flannel和Containerd等组件确保Pod获得唯一IP的过程。CNI作为容器网络接口,其插件负责Pod网络配置。每个节点被分配一个podCIDR子网,Kubelet、Container Runtime与CNI插件协同工作,启动Pod并为其分配IP地址。
摘要由CSDN通过智能技术生成

6099059dc23b9d27cfceef8f99f59ae2.png

在学习 Kubernetes 网络模型的过程中,了解各种网络组件的作用以及如何交互非常重要。本文就介绍了各种网络组件在 Kubernetes 集群中是如何交互的,以及如何帮助每个 Pod 都能获取 IP 地址。

作者:Ronak Nathani

翻译:Bach(才云)

校对:星空下的文仔(才云)、bot(才云)

Kubernetes 网络模型的核心要求之一是每个 Pod 都拥有自己的 IP 地址并可以使用该 IP 地址进行通信。 很多人刚开始使用 Kubernetes 时,还不清楚如何为每个 Pod 分配 IP 地址。 他们了解各种组件如何独立工作,但不清楚这些组件如何组合在一起使用。 例如,他们了解什么是 CNI 插件,但是不知道它们是如何被调用的。 本文就介绍 了各种网络组件 在 Kubernetes 集群中是如何交互的 ,以 及 如何帮助每个 Pod 都 获取 IP 地址。

在 Kubernetes 中有多种网络设置方法,以及 container runtime 的各种选项。这篇文章将使用 Flannel 作为 network provider,并使用 Containered 作为 container runtime。

K8sMeetup

背景概念

容器网络 同一主机上的容器 在同一主机上运行的容器通过 IP 地址相互通信的方法之一是使用 Linux Bridge,即在 Kubernetes(和 Docker)世界中,创建 veth(虚拟以太网)设备。该 veth 设备的一端连接在容器网络命名空间,另一端连接到主机网络上的 Linux Bridge。同一主机上的所有容器都将这 veth pair 的一端连接到 Linux Bridge,它们可以通过 Bridge 使用 IP 地址相互通信。Linux Bridge 也被分配了一个 IP 地址,它充当从目的地到不同节点的 Pod 流出流量的网关。

62e1f3ead4d883f3c8a8215cf5e12f3b.png

不同主机上的容器 在不同主机上运行的容器可以通过其 IP 地址相互通信的方式之一是使用数据包封装(packet encapsulation)。Flannel 通过 vxlan
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值