Kubernetes需要分配真实的IP地址吗?

Kubernetes需要分配真实的IP地址吗?,kubernetes,ip-address,Kubernetes,Ip Address,我试图了解库伯内特斯和它是如何在引擎盖下工作的。据我所知,每个吊舱都有自己的IP地址。我不确定的是这是什么类型的IP地址 这是我公司的网络管理员需要传达的信息吗?或者是在整个网络上无法寻址的内部IP地址 我读过有关网络覆盖(如Calico项目)的文章,我认为它们在其中起了作用,但我似乎找不到一个页面来解释这种联系。(我认为我的问题对互联网来说太难了。) 吊舱的IP地址是我网络上的完整IP地址(就像虚拟机一样)?Kubernetes吊舱将收到一个真实的IP地址,就像Docker吊舱由于brdige

我试图了解库伯内特斯和它是如何在引擎盖下工作的。据我所知,每个吊舱都有自己的IP地址。我不确定的是这是什么类型的IP地址

这是我公司的网络管理员需要传达的信息吗?或者是在整个网络上无法寻址的内部IP地址

我读过有关网络覆盖(如Calico项目)的文章,我认为它们在其中起了作用,但我似乎找不到一个页面来解释这种联系。(我认为我的问题对互联网来说太难了。)


吊舱的IP地址是我网络上的完整IP地址(就像虚拟机一样)?

Kubernetes吊舱将收到一个真实的IP地址,就像Docker吊舱由于brdige网络接口而发生的情况:真正难以理解的是不同节点之间的吊舱到吊舱的连接,这是在iptables/nftables/IPV的帮助下通过
kube代理执行的一个黑魔法(根据节点中运行的组件)

关于分配给ClusterIP类型的服务的IP地址的另一个故事:事实上,它是用于根据需要透明地重定向到端点的

Kubernetes网络可能看起来很难理解,但我们很幸运,因为Tim Hockin提供了一个名为的非常好的演讲,可以让您清楚地了解它的工作原理。

Kubernetes群集 Pod的IP地址是我网络上的完整IP地址吗(就像虚拟机一样)

Kubernetes的特点是,它不是一种像虚拟机这样的服务,而是一个拥有自己网络功能和管理的集群,包括IP地址分配网络路由

您的节点可能是虚拟机或物理机,但它们在NodeController中注册,例如用于健康检查,最常见的是用于IP地址管理

节点控制器是Kubernetes主组件,用于管理节点的各个方面

节点控制器在节点的生命周期中有多个角色。第一个角色是在注册节点时将CIDR块分配给节点(如果CIDR分配已打开)

IP地址管理 Kubernetes网络取决于集群使用的容器网络接口()插件

CNI插件负责…然后它应该将IP分配给接口,并通过调用适当的IPAM插件来设置与IP地址管理部分一致的路由

通常,每个节点都会分配一个CIDR范围的IP地址,然后节点会将该IP地址分配给在节点上调度的POD

很好地描述了它如何在GKE上工作

每个节点都有一个从集群的虚拟私有云(VPC)网络分配的IP地址

每个节点都有一个IP地址池,GKE分配在该节点上运行的POD(默认情况下为a/24 CIDR块)

每个Pod都有一个从其节点的Pod CIDR范围分配的IP地址。该IP地址由Pod内运行的所有容器共享,并将它们连接到群集中运行的其他Pod

每个服务都有一个IP地址,称为ClusterIP,由集群的VPC网络分配


那么网络覆盖层(即法兰绒或印花布)与此相关吗?或者它是完全独立的吗?@Vaccano是的,法兰绒和印花布都作为CNI安装,并且有更多的替代方案,因此,如果我理解正确,网络管理员会为每个节点留出一个子组IP地址。CNI(即印花布)将这些分配给吊舱,然后在其中运行我的docker容器。@Vaccano是的。请参阅此处的IPAM