选择用于管理集群生命周期的工具

Google Distributed Cloud 提供了多种可用于创建集群以及管理集群生命周期操作(更新、升级和删除)的工具供您选择:

  • 命令行工具 gkectl,可以在本地数据中心的管理员工作站上运行。您需要创建一个配置文件,用于描述集群网络、负载均衡和其他集群功能。您可以在 gkectl 的命令行中指定此文件。
  • Google Cloud 控制台、Google Cloud CLI 或 Terraform,您可以从与 GKE On-Prem API 建立网络连接的任何计算机运行。这些标准工具使用在 Google Cloud 基础设施上运行的 GKE On-Prem API,它们统称为 GKE On-Prem API 客户端。如需管理集群的生命周期,GKE On-Prem API 必须使用创建集群时指定的 Google Cloud 区域,将有关集群状态的元数据存储在 Google Cloud中。此元数据可让 API 管理集群生命周期,并且不包含特定于工作负载的数据。

无论您使用哪个工具创建集群,您收集并提供给该工具的信息都是相同的,例如集群节点机器的 IP 地址和负载均衡器 VIP。

您可以选择最适合您的应用场景和环境的工具。例如:

  • 在开发环境中首次安装时,建议您使用 Google Cloud 控制台,因为界面提供了额外的指导和帮助。
  • 如果您的组织已在使用 gcloud CLI 或 Terraform 管理其他 Google Cloud 资源,则您可能也需要将这些工具用于 Google Distributed Cloud。
  • 如果您的组织有监管要求或限制,建议您限制对 Google Cloud 的依赖,并在管理员工作站上使用 gkectl 来创建集群和管理集群生命周期。

如果您使用 gkectl 创建集群,默认情况下,它会注册到 GKE On-Prem API。您也可以在创建集群后注册集群,这可让您使用 GKE On-Prem API 客户端。

GKE On-Prem API 客户端的限制

gkectl 工具最成熟的方面就是它支持的功能。我们建议您在进行选择时查看 GKE On-Prem API 客户端的功能。GKE On-Prem API 客户端不支持以下功能:

  • Secret 管理和轮替
  • 证书轮替
  • 身份验证
  • 用量计量
  • 应用级日志记录和监控
  • 高级网络设置
  • Windows 节点池

以下列表介绍了 GKE On-Prem API 客户端的其他限制:

  • gcloud CLI 不支持任何管理员集群生命周期操作。您可以使用 gkectl、控制台、gcloud CLI 或 Terraform 创建管理员集群。

  • gkectl 命令行工具是升级、更新和删除管理员集群的唯一可用工具。

  • 只有 gkectl 和 Terraform 支持使用私有注册表。

  • 管理员集群及其用户集群的负载均衡器类型必须相同。唯一的例外情况是,如果管理员集群使用 Seesaw,则用户集群可以使用 MetalLB。如果您希望管理员集群和用户集群使用不同类型的负载均衡器,则必须使用 gkectl 创建集群。

  • 使用 Google Cloud 控制台创建用户集群时,所有 vCenter 设置都从管理员集群继承。如果需要用户集群的 vCenter 设置与其管理员集群不同,请使用 gcloud CLI、Terraform 或 gkectl 创建用户集群。

高级集群限制

创建集群时,Google Distributed Cloud 是默认创建高级集群还是非高级集群取决于版本,具体如下:

  • 1.32 版或更低版本:默认创建非高级集群。
  • 1.33 版或更高版本:默认创建高级集群。

只有 Terraform 和 gkectl 命令行工具能够更改默认行为。如需更改默认行为,请执行以下操作:

  • gkectl:在集群配置文件中添加 enableAdvancedCluster 布尔值字段。例如,如需使用 1.32 版创建高级集群,请在集群配置文件中指定 enableAdvancedCluster: true。

  • Terraform:在配置文件(通常称为 main.tf)中添加 enable_advanced_cluster 布尔值字段。例如,如需使用 1.32 版创建高级集群,请将 enable_advanced_cluster = true 添加到 main.tf。

遇到以下情况时,仅支持 gkectl 命令行工具:

  • 将非高级集群升级为高级集群时。
  • 将集群从 1.32 升级到 1.33 时。

如需了解详情,请参阅将集群更新或升级为高级集群。

GKE On-Prem API 客户端在创建、升级、更新和删除操作方面存在限制,如下表所示。所有操作都仅支持 gkectl 命令行工具,但管理员集群删除操作除外。删除管理员集群是一种特殊情况,涉及删除 Google Cloud 资源、负载均衡器资源、虚拟机和 vSphere 数据磁盘。如需了解详情,请参阅删除管理员集群。

使用以下下拉菜单按客户端和集群类型过滤表格:

下表显示了所选客户端支持的集群操作:

客户 集群类型 操作 是否支持/版本

Terraform

非高级用户集群

创建

1.32 或更低版本

Terraform

非高级用户集群

升级并保持非高级

1.32 或更低版本

Terraform

非高级用户集群

升级为高级

否

Terraform

非高级用户集群

更新配置

是

Terraform

非高级用户集群

删除

是

Terraform

高级用户集群

创建

1.33.200 或更高版本

Terraform

高级用户集群

升级

1.33.200 或更高版本

Terraform

高级用户集群

更新配置

是

Terraform

高级用户集群

删除

是

Terraform

非高级管理员集群

创建

1.32 或更低版本

Terraform

非高级管理员集群

升级并保持非高级

否

Terraform

非高级管理员集群

升级为高级

否

Terraform

非高级管理员集群

更新配置

是

Terraform

非高级管理员集群

删除

否

Terraform

高级管理员集群

创建

1.33.200 或更高版本

Terraform

高级管理员集群

升级

否

Terraform

高级管理员集群

更新配置

是

Terraform

高级管理员集群

删除

否

控制台

非高级用户集群

创建

1.32 或更低版本

控制台

非高级用户集群

升级并保持非高级

1.32 或更低版本

控制台

非高级用户集群

升级为高级

否

控制台

非高级用户集群

更新配置

是

控制台

非高级用户集群

删除

是

控制台

高级用户集群

创建

1.33.200 或更高版本

控制台

高级用户集群

升级

1.33.200 或更高版本

控制台

高级用户集群

更新配置

是

控制台

高级用户集群

删除

是

控制台

非高级管理员集群

创建

1.32 或更低版本

控制台

非高级管理员集群

升级并保持非高级

否

控制台

非高级管理员集群

升级为高级

否

控制台

非高级管理员集群

更新配置

否

控制台

非高级管理员集群

删除

否

控制台

高级管理员集群

创建

1.33.200 或更高版本

控制台

高级管理员集群

升级

否

控制台

高级管理员集群

更新配置

否

控制台

高级管理员集群

删除

否

gcloud CLI

非高级用户集群

创建

1.32 或更低版本

gcloud CLI

非高级用户集群

升级并保持非高级

1.32 或更低版本

gcloud CLI

非高级用户集群

升级为高级

否

gcloud CLI

非高级用户集群

更新配置

是

gcloud CLI

非高级用户集群

删除

是

gcloud CLI

高级用户集群

创建

1.33.200 或更高版本

gcloud CLI

高级用户集群

升级

1.33.200 或更高版本

gcloud CLI

高级用户集群

更新配置

是

gcloud CLI

高级用户集群

删除

是

gcloud CLI

非高级管理员集群

创建

否

gcloud CLI

非高级管理员集群

升级并保持非高级

1.32 及更低版本

gcloud CLI

非高级管理员集群

升级为高级

否

gcloud CLI

非高级管理员集群

更新配置

否

gcloud CLI

非高级管理员集群

删除

否

gcloud CLI

高级管理员集群

创建

否

gcloud CLI

高级管理员集群

升级

1.33.200 及更高版本

gcloud CLI

高级管理员集群

更新配置

否

gcloud CLI

高级管理员集群

删除

否

由于 GKE On-Prem API 客户端会不断演变,请不时查阅这些限制。