准备工作
在开始之前,请确保您已执行以下任务:
- 启用 Google Kubernetes Engine API。 启用 Google Kubernetes Engine API
- 如果您要使用 Google Cloud CLI 执行此任务,请安装并初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行
gcloud components update命令以获取最新版本。较早版本的 gcloud CLI 可能不支持运行本文档中的命令。
- 确保您具有创建集群的正确权限。您至少应是 Kubernetes Engine Cluster Admin。
- 如果您要将新集群注册到舰队,请确保您拥有所需的 API 和权限。
为 GKE 设置 IAM 服务账号
GKE 使用关联到节点的 IAM 服务账号来运行日志记录和监控等系统任务。这些节点服务账号必须至少拥有项目的 Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) 角色。默认情况下,GKE 会将 Compute Engine 默认服务账号(在您的项目中自动创建)用作节点服务账号。
如需向 Compute Engine 默认服务账号授予 roles/container.defaultNodeServiceAccount 角色,请完成以下步骤:
控制台
gcloud
- 找到您的 Cloud de Confiance 项目编号:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
将
PROJECT_ID替换为您的项目 ID。输出内容类似如下:
12345678901
- 将
roles/container.defaultNodeServiceAccount角色授予 Compute Engine 默认服务账号:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
将
PROJECT_NUMBER替换为上一步中的项目编号。
创建 Autopilot 集群
创建新的 Autopilot 集群时,您至少需要指定的信息包括名称、项目(通常是当前项目)和区域(通常是命令行工具的默认区域)。但是,还有更多可能的配置设置,其中一些设置在创建集群后无法更改。请确保您了解哪些设置在创建集群后无法更改,并且在创建集群时选择正确的设置,以免不得不重新创建集群。
您可以在集群配置选项简介中查看集群配置选项的概览,并在 gcloud container clusters create-auto 和 Terraform google_container_cluster 参考指南中查看可能的选项的完整列表。
您可以使用 Google Cloud CLI、 Cloud de Confiance 控制台或使用 Terraform 创建 Autopilot 集群:
gcloud
运行以下命令:
gcloud container clusters create-auto CLUSTER_NAME \
--location=LOCATION \
--project=PROJECT_ID
替换以下内容:
CLUSTER_NAME:新 Autopilot 集群的名称。LOCATION:集群的区域。PROJECT_ID:您的项目 ID。
我们强烈建议您指定节点可以使用的具有最低权限的 IAM 服务账号,而不是 Compute Engine 默认服务账号。如需了解如何创建具有最低权限的服务账号,请参阅使用最小权限服务账号。
如需在 gcloud CLI 中指定自定义服务账号,请在您的命令中添加以下标志:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com将 SERVICE_ACCOUNT_NAME 替换为具有最低权限的服务账号的名称。
如需查看您可以指定的更多选项,请参阅 gcloud container clusters create-auto 参考文档。
控制台
执行以下任务:
在 Cloud de Confiance 控制台中,前往创建 Autopilot 集群页面。
在集群基本信息部分,完成以下操作:
输入集群的名称。
为您的集群选择一个区域。
在网络部分,请参阅自定义网络隔离以获取配置说明。
- (可选)为节点指定自定义 IAM 服务账号:
- 在高级设置页面中,展开安全部分。
- 在服务账号菜单中,选择您想使用的服务账号。
我们强烈建议您指定节点可以使用的具有最低权限的 IAM 服务账号,而不是 Compute Engine 默认服务账号。如需了解如何创建具有最低权限的服务账号,请参阅使用最小权限服务账号。
(可选)配置其他设置,例如维护窗口和高级安全功能。
点击创建。
Terraform
如需使用 Terraform 创建 Autopilot 集群,请参阅以下示例:
如需创建使用自定义 IAM 服务账号的 Autopilot 集群,请按以下步骤操作:
创建 IAM 服务账号并向其授予项目的
roles/container.defaultNodeServiceAccount角色:创建使用新服务账号的 Autopilot 集群:
如需详细了解如何使用 Terraform,请参阅针对 GKE 的 Terraform 支持。
使用特定发布渠道和版本创建 Autopilot 集群
默认情况下,GKE 会在常规发布渠道中注册新的 Autopilot 集群,并在该渠道中使用默认的 GKE 版本。您可以在使用 gcloud CLI、 Cloud de Confiance 控制台或使用 Terraform 创建 Autopilot 集群时更改发布渠道。
您还可以在使用 gcloud CLI 创建集群时设置特定 GKE 版本。仅当您有特定版本要求时,设置集群版本才有用。如需设置集群版本,请在 gcloud container clusters create-auto 命令中指定 --cluster-version 标志。您指定的版本必须是可用的 GKE 版本。
以下有关设置发布渠道和版本的说明是可选的。除非您需要特定 GKE 版本,否则我们建议您保留默认的发布渠道设置。
gcloud
运行以下命令:
gcloud container clusters create-auto CLUSTER_NAME \
--location=LOCATION \
--release-channel=RELEASE_CHANNEL
将 RELEASE_CHANNEL 替换为集群的发布渠道的名称。默认值为 Regular。
(可选)指定 --cluster-version=CLUSTER_VERSION,并将 CLUSTER_VERSION 替换为集群的 GKE 版本,例如 1.29.4-gke.1043002。您指定的版本会一直应用,直到更高版本成为发布渠道中的默认版本。然后,GKE 会将您的集群自动升级到新的默认版本。如果您省略此标志,GKE 会将版本设置为发布渠道的默认版本。
如需查看可用版本,请参阅“渠道中提供哪些版本?”。您可以在所选渠道中运行任何次要版本,或选择来自其他渠道的补丁版本子集。
控制台
如需在创建 Autopilot 集群时设置发布渠道,请执行以下操作:
在 Cloud de Confiance 控制台中,前往创建 Autopilot 集群页面。
在集群基本信息部分,完成以下操作:
- 指定名称。
- 选择区域。
在高级设置部分中,选择发布渠道。
(可选)为新集群配置其他设置。
点击创建。
Terraform
如需在使用 Terraform 创建 Autopilot 集群时设置发布渠道和集群版本,请参阅以下示例:
如需详细了解如何使用 Terraform,请参阅针对 GKE 的 Terraform 支持。
您还可以更改现有集群的发布渠道和 GKE 版本。如需了解相关说明,请参阅手动升级控制平面和选择新的发布渠道。
连接到集群
gcloud
gcloud container clusters get-credentials CLUSTER_NAME \
--location=LOCATION \
--project=PROJECT_ID
此命令将 kubectl 配置为使用您创建的集群。
控制台
在集群列表中,点击要连接的集群旁边的 more_vert 操作,然后点击连接。
出现提示时,点击在 Cloud Shell 中运行。生成的命令会复制到您的 Cloud Shell 中,例如:
gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test按 Enter 键运行该命令。
验证集群模式
您可以使用 gcloud CLI 或 Cloud de Confiance 控制台来验证集群是否为 Autopilot 集群。
gcloud
如需验证您的集群是否是在 Autopilot 模式下创建的,请运行以下命令:
gcloud container clusters describe CLUSTER_NAME \
--location=LOCATION
输出包含以下内容:
autopilot:
enabled: true
控制台
如需验证您的集群是否是在 Autopilot 模式下创建的,请执行以下操作:
前往 Cloud de Confiance 控制台中的 Google Kubernetes Engine 页面。
在集群列表中找到您的集群。在模式下,应显示 Autopilot。