Kubernetes 为每个节点分配一个 IP 地址范围,即 CIDR 地址块,以便每个 Pod 可以拥有唯一的 IP 地址。CIDR 地址块的大小对应于每个节点的最大 Pod 数量。默认情况下,Kubernetes的节点配置为运行不超过 110 个 Pod。

每个节点默认最多 110 个 Pod,Kubernetes 为每个节点分配一个 /24 CIDR 地址块(256 个地址)。通过将可用 IP 地址数量设为约 Pod 数量的两倍,当 Pod 被添加到节点或从节点中移除时,Kubernetes 能够减少 IP 地址的重用。

如果减少每个节点的最大 Pod 数量,Kubernetes 会为节点分配相应较小的 CIDR 地址块。该地址块始终包含至少两倍于每个节点的最大 Pod 数量的地址数量。下表为 Kubernetes 根据每个节点的最大 Pod 数量分配给每个节点的 CIDR 地址块的大小:

每个节点的最大 Pod 数量 每个节点的 CIDR 范围

8 /28

9 至 16 /27

17 至 32 /26

33 至 64 /25

65 至 110 /24

配置每个节点的最大 Pod 数量时,会间接配置每个集群节点需要多少 IP 地址空间。例如,如果将每个节点的最大 Pod 数量设置为 30,则根据上表,应使用 /26 CIDR 范围,即每个节点可分配 64 个 IP 地址。如果未配置每个节点的最大 Pod 数量,则使用 /24 CIDR 范围,即每个节点分配 256 个 IP 地址。

减少每个节点的最大 Pod 数量可以使集群拥有更多节点,因为每个节点所需的总 IP 地址空间较小。减少每个节点的最大 Pod 数量也可以创建需要较少 IP 地址的较小集群。例如,每个节点有 8 个 Pod,每个 Pod 分配一个 /28 CIDR。这些 Pod IP 地址范围确定了成功创建集群所需的 IP 地址数量。

根据每个节点的最大 Pod 数量,Kubernetes 会为每个节点分配一个 /24 CIDR 范围以供节点的 Pod 使用。由于此集群从 /21 CIDR 范围 (cluster-ipv4-cidr) 分配 Pod IP 地址,因此最多可以有八个节点(24-21 = 3,2**3 = 8)。

这将创建一个最多可包含 128 个节点的集群。根据每个节点的最大 Pod 数量,Kubernetes 会为每个节点分配一个 /28 CIDR 范围以供节点的 Pod 使用。因为所有 Pod 的地址可用范围是 /21 ,这意味着最多可以有 128 个节点(28-21 = 7,27 = 128)。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐