本页面介绍专用集群在 Google Kubernetes Engine (GKE) 中的工作原理。您还可以了解如何创建专用集群。
专用集群使用没有外部 IP 地址的节点。这意味着互联网上的客户端无法连接到节点的 IP 地址。专用集群非常适合某些工作负载,例如因数据隐私权和安全法规而需要受控访问权限的工作负载。
专用集群支持 Standard 模式或 Autopilot 模式。
专用集群的架构
与公共集群不同,专用集群同时具有控制平面内部端点和控制平面外部端点。
下图概述了专用集群的架构:
以下是专用集群的核心组件:
控制平面:控制平面同时具有一个内部端点(用于内部集群通信)和一个外部端点。您可以选择停用外部端点。
节点:节点仅使用内部 IP 地址,从而将其与公共互联网隔离开来。
VPC 网络:这是一个虚拟网络,您可以在其中创建具有内部 IP 地址范围的子网,专门用于集群的节点和 Pod。
专用 Google 访问通道:此组件在集群的子网上启用,允许具有内部 IP 地址的节点访问基本的 Google Cloud API 和服务,而无需公共 IP 地址。例如,专用集群需要专用 Google 访问通道从 Artifact Registry 访问容器映像,以及将日志发送到 Cloud Logging。专用 Google 访问通道在专用集群中默认启用,但共享 VPC 集群除外,此类集群需要手动启用。
专用集群中的控制平面
每个 GKE 集群都有一个由控制平面管理的 Kubernetes API 服务器。
控制层面在由 Google 管理的项目的 VPC 网络中的一个虚拟机上运行。地区级集群有多个控制平面副本,每个副本都在其各自的虚拟机上运行。
在专用集群中,控制层面的 VPC 网络通过 VPC 网络对等互连连接到集群的 VPC 网络。您的 VPC 网络包含集群节点,由 Google 管理的 Google Cloud VPC 网络包含您集群的控制层面。
节点和控制层面之间的流量完全使用内部 IP 地址进行路由。如果您使用 VPC 网络对等互连将集群的 VPC 网络连接到第三个网络,则第三个网络无法访问控制层面 VPC 网络中的资源。这是因为 VPC 网络对等互连仅支持直接对等互连的网络之间的通信,第三个网络无法与控制层面网络建立对等互连。如需了解详情,请参阅 VPC 网络对等互连限制。
专用集群中的端点
专用集群的控制平面具有一个内部端点以及一个外部端点。
内部端点是控制平面的 VPC 网络内的内部 IP 地址。在专用集群中,节点始终与控制平面的内部端点通信。根据您的配置,您也可以使用连接到专用端点的工具(例如 kubectl
)来管理集群。任何与专用集群使用相同子网的虚拟机都可以访问内部端点。
外部端点是控制平面的外部 IP 地址。默认情况下,诸如 kubectl
之类的工具通过控制平面的外部端点与控制平面通信。
用于访问集群端点的选项
您可以使用以下配置之一控制对端点的访问:
停用外部端点访问权限:这是最安全的选项,因为它可阻止对控制平面进行的所有互联网访问。如果您已将本地网络配置为使用 Cloud Interconnect 和 Cloud VPN 连接到 Google Cloud,那么这是一个不错的选择。
如果您停用外部端点访问权限,则必须为内部端点配置已获授权的网络。如果不执行此操作,您只能从与集群属于同一子网的集群节点或虚拟机连接到内部端点。使用此设置时,已获授权的网络必须是内部 IP 地址。
启用外部端点访问权限,并启用已获授权的网络:在此配置中,已获授权的网络适用于控制平面的外部端点。如果您需要从使用 Cloud Interconnect 或 Cloud VPN 连接到集群的 VPC 网络的源网络来管理集群,那么这是一个不错的选择。
启用外部端点访问权限,但停用已获授权的网络:这是默认选项,也是限制性最低的选项。由于未启用授权网络,因此只要您进行身份验证,就可以从任何来源 IP 地址管理集群。
重用 VPC 网络对等互连
如果集群位于同一 Google Cloud 可用区或区域中,并使用同一 VPC 网络,则在 2020 年 1 月 15 日之后创建的专用集群会使用通用 VPC 网络对等互连连接。
对于可用区级集群:您在某个可用区中创建的第一个专用集群会生成与集群 VPC 网络的新 VPC 网络对等互连连接。您在同一可用区和 VPC 网络中创建的其他可用区级专用集群使用相同的对等互连连接。
对于区域级集群:您在某个区域内创建的第一个专用集群会生成与集群 VPC 网络的新 VPC 网络对等互连连接。您在同一区域和 VPC 网络中创建的其他区域级专用集群使用相同的对等互连连接。
可用区级和区域级集群使用自己的对等互连连接,即使它们位于同一区域也是如此。例如:
您可以在
us-east1-b
可用区中创建两个或更多可用区级专用集群,并将它们配置为使用同一 VPC 网络。两个集群都使用相同的对等互连连接。您可以在
us-east1
区域中创建两个或更多区域级专用集群,并将它们配置为使用与可用区级集群相同的 VPC 网络。这些区域级集群彼此之间使用相同的 VPC 网络对等互连连接,但需要使用不同的对等互连连接与可用区级集群进行通信。
2020 年 1 月 15 日之前创建的所有专用集群会使用唯一的 VPC 网络对等互连连接。换句话说,这些集群与其他可用区级或区域级集群不使用相同的对等互连连接。如需在这些集群上启用 VPC 网络对等互连重复使用功能,您可以删除一个集群并重新创建。升级集群不会导致其重复使用现有的 VPC 网络对等互连连接。
如需检查您的专用集群是否在使用通用 VPC 网络对等互连连接,请参阅验证 VPC 对等互连重复使用功能。
限制
如果集群启用了 VPC 网络对等互连重复使用功能,则每个可用区或区域最多可以支持 75 个专用集群。
例如,您最多可在
us-east1-a
中创建 75 个地区级专用集群,另外在us-east1
中创建 75 个区域级专用集群。如果在共享 VPC 网络中使用专用集群,这同样适用。单个 VPC 网络的连接数上限为 25,这意味着您只能使用 25 个非重复的位置创建专用集群。
VPC 网络对等互连重复使用功能仅适用于同一位置的集群,例如同一区域中的区域级集群或同一可用区中的可用区级集群。如果您在每个区域的所有可用区中同时创建区域级集群和可用区级集群,则该区域最多可以有四个 VPC 网络对等互连。
对于在 2020 年 1 月 15 日之前创建的集群,每个 VPC 网络可以与多达 25 个其他 VPC 网络对等互连,这意味着对于这些集群,每个网络最多只能有 25 个专用集群(假设对等互连不用于其他目的)。