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