Kubernetes是否需要分配真实IP地址?

我试图了解Kubernetes及其幕后工作方式。据我了解,每个pod都有自己的IP地址。我不确定是哪种IP地址。

我公司的网络管理员需要传出某些信息吗?还是内部无法在整个网络上寻址的IP地址?

我已经阅读了有关网络覆盖图(例如Project Calico)的信息,并且我认为它们在其中起作用,但是我似乎找不到解释该连接的页面。 (我认为我的问题对互联网来说太过补救了。)

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

alwvp 回答:Kubernetes是否需要分配真实IP地址?

Kubernetes集群

  

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

Kubernetes的问题在于它不是像这样的服务。虚拟机,但具有自己的网络功能和管理功能的集群,包括 IP地址分配网络路由

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

  

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

     

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

Cluster Architecture - Nodes

IP地址管理

Kubernetes网络取决于群集使用的容器网络接口(CNI)插件。

  

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

通常为每个节点分配一个CIDR范围的IP地址,然后将这些IP地址范围分配给该节点上计划的Pod。

GKE network overview很好地描述了它在GKE上的工作方式。

  

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

     

每个节点都有一个IP地址池,GKE会为该节点上运行的Pod分配IP地址池(默认为/ 24 CIDR块)。

     

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

     

每个服务都有一个IP地址,称为IP,它是从群集的VPC网络分配的。

,

Kubernetes Pods将收到一个真实的IP地址,就像
brdige 网络接口一样,这与Docker的情况一样:真正难懂的东西基本上是不同节点之间Pod到Pod的连接。这是在iptables / nftables / IPVS(根据您在节点中运行的组件)的帮助下通过kube-proxy执行的黑魔法

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

Kubernetes网络可能很难理解,但我们很幸运,因为蒂姆·霍金(Tim Hockin)提供了一个很好的演讲,名为Life of a Packet,可以为您提供有关其工作原理的清晰概述。

本文链接:https://www.f2er.com/3135810.html

大家都在问