系统要求

GKE On-Prem 有以下要求:

  • VMware vSphere 6.5 环境,包括 vSphere 6.5、vCenter 6.5、vSphere ESXI 6.5。
  • 第 4 层网络负载平衡器。默认情况下,GKE On-Prem 集成了 F5 BIG-IP 12.x 或 13.x 版本。您也可以选择启用手动负载平衡并使用您自己的 L4 负载平衡器。

在开始之前,您应该先阅读 GKE On-Prem 概览

硬件要求

GKE On-Prem 支持众多硬件选项。如需了解继承自 vSphere 的硬件要求,请参阅 VMware/vSphere 6.5 硬件规范

Google 与多个 OEM 合作伙伴合作,提供经过验证的硬件解决方案。请选择这些合作伙伴提供的选项,以获得已知的有效解决方案和协作支持的好处(Google 和合作伙伴共同解决安装问题)。

以下是我们目前的 OEM 合作伙伴。随着新平台和合作伙伴加入 Anthos 系列解决方案,此列表将不断更新:

  • Cisco
  • Dell
  • HPE
  • Intel
  • Lenovo

vSphere 要求

将 GKE On-Prem 安装到 VMware vSphere 6.5 环境。如需了解如何安装 vSphere,请参阅 VMware 文档中的 vSphere 安装和设置流程概览

vSphere 6.5 包括以下组件:

请按照以下部分进行操作,了解如何配置现有 vSphere 安装,以与 GKE On-Prem 配合使用。

许可版本和版本要求

目前,GKE On-Prem 要求 VMware vSphere 6.5。具体而言,您需要以下获得许可的 VMware 产品:

  • 具有 Enterprise Plus 许可版本的 VMware ESXI 6.5,安装在数据中心的每一个主机上。
  • 具有 Standard 许可版本的 VMware vCenter 6.5,安装在数据中心的一个主机上。

如需了解详情,请参阅以下 VMware 资源:

vCenter 用户帐号权限

用于安装 GKE On-Prem 集群的 vSphere 用户帐号必须具有足够的权限。vCenter 的 Administrator 角色向其用户授予对所有 vCenter 对象的完整访问权限。

或者,您也可以选择使用所需的最小权限集创建自定义角色,详细信息请参阅下表。

如需了解如何管理权限,请参阅管理 vCenter 组件的权限

安装期间创建的虚拟机

在新安装过程中,GKE On-Prem 会在 vSphere 中创建多个虚拟机(VM,或称“节点”)。下表介绍了这些虚拟机的规格及其用途。

此外,GKE On-Prem 还会创建一个 100 GB 的永久性磁盘来存储管理员集群的数据。

管理员集群

名称 系统前缀 配置字段 规格 用途
管理员集群控制层面 gke-admin-master 不适用
  • 4 个 vCPU
  • 16384 MB RAM
  • 40 GB 硬盘空间

在管理员集群中运行管理员控制层面。

插件虚拟机 gke-admin-node 不适用

使用以下规格运行的两个虚拟机:

  • 4 个 vCPU
  • 16384 MB RAM
  • 40 GB 硬盘空间

在管理员集群中运行管理员控制层面的插件。

用户集群控制层面 [USER_CLUSTER_NAME]-user-N usercluster.masternode
  • 4 个 vCPU
  • 8192 MB RAM
  • 40 GB 硬盘空间

每个用户集群都有自己的控制层面。用户控制层面虚拟机在管理员集群中运行。您可以选择创建一个或三个用户控制层面。如果您选择创建三个用户控制层面,则 GKE On-Prem 会使用这些规格创建三个虚拟机(每个控制层面一个)。

用户集群

名称 系统前缀 配置字段 规格 用途
用户集群工作器节点 [USER_CLUSTER_NAME]-user usercluster.workernode

以下是用户集群工作器节点的默认值:

  • 4 个 vCPU
  • 8192 MB RAM
  • 40 GB 硬盘空间

用户集群“节点”(也称为“机器”)是运行工作负载的虚拟机。创建用户集群时,您需要决定其运行的节点数量。每个节点所需的配置取决于您运行的工作负载。

如需了解可以创建的最大集群数和节点数,请参阅配额和限制

您可以在现有用户集群中添加虚拟机或从中移除虚拟机。请参阅调整集群大小

管理员集群和用户集群中的 PersistentVolumeClaim

您的 vSphere 数据存储区必须有空间来满足管理员集群和用户集群中由 Prometheus 和 Google Cloud 的运维套件创建的 PersistentVolumeClaim (PVC)。例如,Prometheus 需要足够的存储空间来存储数天的指标,而且 Google Cloud 的运维套件需要存储空间以在网络中断期间缓冲日志。

每个集群都具有以下 PVC:

  • 本地 Prometheus statefulset:250 GiB * 2 个副本 = 500 GiB
  • Stackdriver Prometheus statefulset:250 GiB * 1 个副本 = 250 GiB
  • Log Aggregator statefulset:100 GiB * 2 个副本 = 200 GiB

网络时间协议

您的 vSphere 环境中的所有虚拟机都必须使用相同的网络时间协议 (NTP) 服务器。

如果您的管理员工作站和集群节点使用静态 IP 地址,您必须在 hostconfig 文件tod 字段中指定 NTP 服务器的 IP 地址。

如果您的管理员工作站和集群节点从 DHCP 服务器获取其 IP 地址,您可以将 DHCP 服务器配置为提供 NTP 服务器的地址。如果 DHCP 未指定 NTP 服务器,GKE On-Prem 默认使用 ntp.ubuntu.com

负载平衡器要求

GKE On-Prem 有两种负载平衡模式:集成和手动。集成模式支持 F5 BIG-IP。手动模式支持以下负载平衡器:

  • Citrix
  • Seesaw

无论选择哪种负载平衡器,您的环境都应满足以下网络要求。

为负载平衡预留 VIP 地址

您需要预留数个将用于负载平衡的 VIP 地址。请为以下每个用途预留一个 VIP 地址:

组件 说明
管理员控制层面

访问管理员集群的 Kubernetes API 服务器。管理员集群的 kubeconfig 文件会在其 server 字段中引用此 VIP 地址。

管理员控制层面插件

管理管理员控制层面插件虚拟机之间的通信。

管理员控制层面 Ingress

用于与在管理员集群中运行的 Service 进行交互。Istio 管理集群的入站流量,并且需要为外部访问明确配置 Service。

每个用户集群控制层面一个 VIP 地址

提供对每个用户集群的 Kubernetes API 服务器的访问权限。每个用户集群的 kubeconfig 文件都会引用其中一个 VIP 地址。

每个用户集群 Ingress 控制器一个 VIP 地址

用于与在用户集群中运行的 Service 进行交互。

一个用于集群升级的 VIP 地址

在集群升级期间由 GKE On-Prem 使用。

预留 CIDR 地址块

您需要为以下范围预留 CIDR 地址块

范围

说明

Pod IP 地址范围

  • 为 Kubernetes Pod IP 地址预留的 CIDR IPv4 地址块 (/C)。在此范围中,为每个节点分配较小的 /24 范围。如果您需要 N 节点集群,请确保 /C 的大小足以支持 N 个 /24 地址块。
  • 您需要为管理员集群预留一个 Pod IP 地址范围,并为要创建的每个用户集群预留一个 Pod IP 地址范围。
  • 例如,如果集群可以增长到最多 10 个节点,则 /C 必须为 /20 地址块,因为其下可支持最多 16 个 /24 范围。

Service IP 地址范围

  • 为 Kubernetes Service IP 地址预留的 CIDR IPv4 地址块 (/S)。地址块的大小决定了服务数量。Ingress 控制器本身需要一个 Service IP 地址,集群 DNS 等 Kubernetes Service 需要 10 个或更多 IP 地址。
  • 您需要为管理员集群预留一个 Service IP 地址范围,并为要创建的每个用户集群预留一个 Service IP 地址范围。不要为管理员集群和用户集群使用相同的 Service IP 地址范围。
  • 请使用 /24(256 个 IP 地址)或更大的地址块。小于 /24 的范围会限制每个集群可托管的服务数量。

为集群生命周期事件打开防火墙

请确保您的防火墙允许以下流量。除非另有说明,否则默认协议为 TCP:

来源

目标

生命周期事件

管理员控制层面、用户控制层面、用户集群节点

对 *.googleapis.com 的出站访问,解析为 Google 网络块 IP 地址范围(端口 443),用于访问 Google Cloud Storage 和 Container Registry。

  • 集群引导
  • 添加或修复集群机器

管理员和用户控制层面虚拟机

vCenter IP 地址(端口 443)

添加新机器

管理员工作站虚拟机

vCenter IP 地址(端口 443)

集群引导

管理员工作站虚拟机

通过 SSH(端口 22)连接到管理员和用户控制层面

  • 集群引导
  • 控制层面升级

Service 和 Pod 连接的要求和限制

为安装 GKE On-Prem 进行准备时,请考虑以下连接事项:

类别

要求/限制

路由

您需要确保 vSphere 虚拟机能够互相路由。

IP 地址范围

对于管理员集群以及要创建的每个用户集群,您需要预留两个不同的 CIDR IPv4 地址块:一个用于 Pod IP 地址,一个用于 Service IP 地址。

SSL

不适用

封装

要使用的 CNI 提供方为 Calico

集群的要求和限制

在规划 GKE On-Prem 集群时,请考虑以下方面:

类别

要求/限制

路由

  • 仅限 F5 BIG-IP:对 F5 BIG-IP 控制层面的 API 访问,该控制层面支持使用虚拟 IP 地址在 vSphere 虚拟机之间进行负载平衡。
  • 您需要将网络配置为路由将在负载平衡器上配置的虚拟 IP 地址。
  • 您需要配置负载平衡器,以便能够路由到集群节点。对于 F5 BIG-IP,集群中的 NodePort Service 公开为 L4 VIP 地址。对于其他负载平衡器,您可以手动配置 NodePort Service 以将其公开为 L4 VIP 地址。

服务的可检测性

对于通过 HTTPS 使用 Ingress 的每个用户集群,您需要添加 DNS 条目,用于指向集群的 Ingress 控制器的 VIP 地址。

F5 BIG-IP 要求

F5 BIG-IP 与 GKE On-Prem 相集成,从而成为推荐的选项。了解如何安装 F5 BIG-IP

要配置 F5 BIG-IP 负载平衡器,请按照以下说明操作:

F5 BIG-IP 用户帐号权限

GKE On-Prem 要求 F5 BIG-IP 用户帐号具有 Administrator 角色。请参阅 F5 的用户角色文档。

在安装过程中,您需要向 GKE On-Prem 提供您的 F5 BIG-IP 凭据。您提供的帐号必须具有 Administrator 角色,如 F5 容器连接器用户指南所述,“BIG-IP 控制器需要 Administrator 权限才能提供全部功能。”

F5 BIG-IP 分区

您需要提前为要创建的每个集群创建一个 F5 BIG-IP 管理分区。最初,您需要创建至少两个分区:一个用于管理员集群,一个用于用户集群。请参阅 F5 的配置管理分区以控制用户访问权限文档。

请勿将管理分区用于其关联集群以外的任何用途。