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

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 客户端会不断演变,请不时查阅这些限制。