创建 Autopilot 集群


本页面介绍如何在 Autopilot 模式中创建 Google Kubernetes Engine (GKE) 集群。Autopilot 操作模式是一种实用的 Kubernetes 体验,可让您专注于自己的服务和应用,而 Google 负责节点管理和基础架构。您可以安排 Pod,而无需规划节点使用情况。创建 Autopilot 集群后,您可以根据需要部署工作负载 扩缩应用。GKE 预配、配置和管理资源及硬件会运行工作负载。

准备工作

在开始之前,请确保您已执行以下任务:

使用以下任一方法设定默认的 gcloud 设置:

  • 使用 gcloud init(如果您想要在系统引导下完成默认设置)。
  • 使用 gcloud config(如果您想单独设置项目 ID、区域和地区)。

使用 gcloud init

如果您收到 One of [--zone, --region] must be supplied: Please specify location 错误,请完成本部分。

  1. 运行 gcloud init 并按照说明操作:

    gcloud init

    如果您要在远程服务器上使用 SSH,请使用 --console-only 标志来防止命令启动浏览器:

    gcloud init --console-only
  2. 按照说明授权 gcloud 使用您的 Google Cloud 帐号。
  3. 创建新配置或选择现有配置。
  4. 选择 Google Cloud 项目。
  5. 为可用区级集群选择默认 Compute Engine 可用区,或为区域级集群或 Autopilot 集群选择区域。

使用 gcloud config

  • 设置默认项目 ID
    gcloud config set project PROJECT_ID
  • 如果您使用的是可用区级集群,请设置默认计算可用区
    gcloud config set compute/zone COMPUTE_ZONE
  • 如果您使用的是 Autopilot 集群或区域级集群,请设置默认计算区域
    gcloud config set compute/region COMPUTE_REGION
  • gcloud 更新到最新版本:
    gcloud components update

创建 Autopilot 集群

您可以使用 gcloud 命令行工具或 Google Cloud Console 创建 Autopilot 集群。

gcloud

如需使用 gcloud 命令行工具创建公共 AutoPilot 集群,请运行以下命令:

gcloud container clusters create-auto CLUSTER_NAME \
    --region REGION \
    --project=PROJECT_ID

请替换以下内容:

  • CLUSTER_NAME:新 Autopilot 集群的名称。
  • REGION:集群的区域,例如 us-central1
  • PROJECT_ID:您的项目 ID。

您可以在创建 Autopilot 集群时指定其他选项,例如您的网络名称或指定专用集群。

  • --network 指定您的集群连接到的网络。
  • --subnetwork 指定您的集群连接到的子网。
  • --enable-master-authorized-network 用于指定仅限您授权的 IP 地址范围访问公共端点。
  • --master-authorized-networks 指定有权访问公共端点的一组机器的地址。
  • --cluster-ipv4-cidr 指定 Pod 地址范围。
  • --services-ipv4-cidr 指定 Service 地址范围。
  • --enable-private-nodes 创建没有外部 IP 地址的专用集群。
  • --master-ipv4-cidr 指定控制层面的内部地址范围(对于专用集群)。
  • --enable-private-endpoint 表示集群使用控制层面 API 端点的专用 IP 地址管理(对于专用集群)。

如需查看完整的选项列表,请运行以下命令:

gcloud container clusters create-auto --help

控制台

如需使用 Google Cloud Console 创建 Autopilot 集群,请执行以下任务:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击 创建

  3. Autopilot 部分中,点击配置

  4. 输入集群的名称

  5. 为您的集群选择一个区域

  6. 选择公共或专用集群。

  7. (可选)展开网络选项以指定网络设置:

    1. 如果您选择专用集群:
      1. 如需创建可从已获授权的外部 IP 地址访问的控制平面,请选中使用外部 IP 地址的访问权限控制平面复选框。取消选中此复选框可停用公共端点访问权限。
      2. (可选)设置控制平面 IP 地址范围,例如 172.16.0.0/28
    2. 如果您要创建对公共端点具有有限访问权限的集群,请选中启用控制平面授权的网络复选框。
      1. 点击添加已获授权的网络,以授予对您指定的一组特定地址的访问权限。
      2. 名称部分,输入所需的网络名称。
      3. 对于网络,输入要授予集群控制层面访问权限的 CIDR 范围。
      4. 点击完成。根据需要添加其他已获授权的网络。
    3. 输入网络节点子网,或接受 default 设置。此选项会为集群生成子网。
    4. Pod 地址范围字段中,输入 Pod 范围、掩码,或接受默认值(示例:10.0.0.0/14)。
    5. 服务地址范围字段中,输入服务范围 Pod 范围、掩码,或接受默认值(示例:10.4.0.0/19)。
  8. (可选)展开高级选项以指定更多设置:

    1. 为控制层面选择一个发布渠道
    2. 点击启用维护期以控制在集群上进行集群自动维护的时间。
      1. 点击添加维护排除项。对于每周维护,请选择开始时间和长度,然后选择要在一周中的哪几天安排维护期。切换到自定义编辑器直接修改规则
    3. 元数据字段中,输入集群的说明。
    4. 点击添加标签以添加键值对,从而帮助您整理集群。
  9. 点击创建

使用 Cloud NAT 在专用集群上启用出站互联网访问权限

默认情况下,Autopilot 集群是公开的。如果您创建了专用 Autopilot 集群,则这些节点没有外部 IP 地址。如要从集群中创建出站互联网连接(例如从 DockerHub 拉取映像),您必须配置 Cloud NAT。通过 Cloud NAT,专用集群可以将出站数据包发送到互联网,并接收所有对应的已建立入站响应数据包。执行以下任务,在 Cloud Router 路由器上创建 NAT 配置。

gcloud

如需使用 gcloud 命令行工具对集群进行 NAT,请运行以下命令:

  1. 创建 Cloud Router 路由器:

    gcloud compute routers create NAT_ROUTER \
        --network NETWORK \
        --region REGION \
        --project=PROJECT_ID
    

    请替换以下内容:

    • NAT_ROUTER:您的 Cloud Router 路由器的名称。
    • NETWORK:要为其创建 Cloud Router 路由器的网络名称。例如,如果要对默认网络进行 NAT,请在创建路由器时使用 default 网络名称。
    • REGION:集群的区域,例如 us-central1
    • PROJECT_ID:您的项目 ID。
  2. 向路由器添加配置。此配置允许该地区中的所有实例将 Cloud NAT 用于所有主要和别名 IP 地址范围。此外,它还为 NAT 网关自动分配外部 IP 地址。如需了解更多选项,请参阅 gcloud 命令行界面文档:

    gcloud compute routers nats create NAT_CONFIG \
        --region REGION \
        --router NAT_ROUTER \
        --nat-all-subnet-ip-ranges \
        --auto-allocate-nat-external-ips \
        --project=PROJECT_ID
    

    请替换以下内容:

    • NAT_CONFIG:NAT 配置的名称。
    • REGION:集群的区域,例如 us-central1
    • NAT_ROUTER:您的 Cloud Router 路由器的名称。
    • PROJECT_ID:您的项目 ID。

控制台

  1. 转到 Cloud Console 中的 Cloud NAT 页面。

    转到 Cloud NAT

  2. 点击开始使用创建 NAT 网关

  3. 输入网关名称

  4. 选择 VPC 网络

  5. 为 NAT 网关设置地区

  6. 在地区中选择或创建 Cloud Router 路由器。

  7. 点击创建

连接到集群

创建集群后,您需要获取身份验证凭据才能连接到集群。

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --region REGION \
    --project=PROJECT_ID

请替换以下内容:

  • CLUSTER_NAME:新 Autopilot 集群的名称。
  • REGION:集群的区域,例如 us-central1
  • PROJECT_ID:您的项目 ID。

此命令将 kubectl 配置为使用您创建的集群。

控制台

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 在集群列表中,点击要连接的集群旁边的 操作,然后点击连接

  3. 出现提示时,点击在 Cloud Shell 中运行。生成的命令会复制到您的 Cloud Shell 中,例如:

    gcloud container clusters get-credentials autopilot-cluster --region us-east1 --project autopilot-test
    
  4. Enter 键运行该命令。

验证集群模式

您可以使用 gcloud 命令行工具或 Google Cloud Console 验证集群是否为 Autopilot 集群。

gcloud

如需验证您的集群是否是在 Autopilot 模式下创建的,请运行以下命令:

gcloud container clusters describe CLUSTER_NAME \
    --region REGION

请替换以下内容:

  • CLUSTER_NAME:Autopilot 集群的名称。
  • REGION:集群的区域,例如 us-central1

该命令的输出包含以下内容:

autopilot:
  enabled: true

控制台

如需验证您的集群是否是在 Autopilot 模式下创建,请执行以下操作:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 在集群列表中找到您的集群。在模式列中,状态显示为 Autopilot

验证集群配置

如需查看跨命名空间的所有资源,请运行以下命令:

kubectl get all --all-namespaces

您会看到集群的新资源,例如 Pod、Service、Deployment 和 DaemonSet。

后续步骤