创建区域级集群


本主题介绍了如何创建区域级集群,以在集群升级、自动维护或可用区级服务中断期间提高集群控制层面和工作负载的可用性。

概览

当您创建区域级集群而不是可用区级集群时,集群的控制层面会跨给定区域中的多个可用区复制。对于可用区级集群中的节点池,您可以手动指定要在其中运行节点池的可用区,也可以使用默认配置,该配置会在控制层面区域的三个可用区之间复制每个节点池。所有可用区都必须与集群的控制层面位于同一区域内。

区域级集群会跨多个可用区复制资源,并且需要耗用额外的配额

您可以详细了解您可以创建的集群的类型

以下部分中的说明介绍了如何执行以下操作:

准备工作

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

使用以下任一方法设定默认的 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

创建具有单可用区节点池的区域级集群

以下说明介绍如何创建区域性集群,其中节点池在区域内的单个可用区中运行。集群的控制层面会复制到指定区域的多个可用区中,但节点位于单个可用区中,不会复制到其他可用区。

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

如果您要使用 Visual Studio Code 开发 GKE 应用,请尝试使用 Cloud Code 创建集群

gcloud

如需使用 gcloud 工具创建区域级集群,请使用以下命令之一并替换以下变量:

  • CLUSTER_NAME:新区域级集群的名称。
  • COMPUTE_REGION:集群所需的区域,例如 us-central1
  • COMPUTE_ZONE:节点池所需的可用区,例如 us-central1-a。此可用区必须与集群控制层面位于同一区域。
  • CHANNEL发布版本的类型,可以是 rapidregularstableNone 之一。默认情况下,如果未指定以下标志,则集群注册在 regular 发布版本中:--cluster-version--release-channel--no-enable-autoupgrade--no-enable-autorepair
  • VERSION:您要为集群指定的版本

使用特定的发布版本

如需使用特定发布版本创建新集群,请运行以下命令:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel CHANNEL

使用特定版本

如需使用特定集群版本创建新集群,请运行以下命令:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --cluster-version VERSION

使用静态默认版本

如需使用静态默认集群版本创建新集群,您无需指定集群版本,但需要将发布版本设置为 None

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel None

示例

以下命令会创建一个在 regular 发布渠道(默认)中注册的区域级集群,其中 us-west1-c 可用区有三个节点(默认):

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c

示例

以下命令会创建一个在 regular 发布渠道(默认)中注册的区域级集群,其中两个节点位于 us-west1-c 可用区:

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c \
    --num-nodes 2

控制台

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

    转到 Google Kubernetes Engine

  2. 点击 创建

  3. 集群基本信息部分,完成以下操作:

    1. 为集群输入名称
    2. 对于位置类型,选择区域,然后为您的集群选择所需的区域
    3. 如果要覆盖默认节点位置(例如,要在单个区域中运行),请选中指定默认节点位置复选框,然后选择要运行节点池的区域。
    4. 选择控制层面版本。默认为发布版本的推荐选项。如果您必须指定静态版本,请确保为您的节点池启用自动升级

  4. 在导航窗格的节点池下,点击默认池 (default-pool)。

  5. 节点池详情部分,完成以下操作:

    1. 为默认节点池输入一个名称
    2. 对于静态版本节点,请选择节点版本
    3. 输入要在集群中创建的节点数。您必须具有节点及其资源(例如防火墙路由)的可用资源配额
  6. 在导航窗格的节点池下,点击节点

  7. 映像类型下拉列表中,选择所需的节点映像

  8. 选择要用于实例的默认机器配置。每种机器类型的计费方式都各不相同。默认机器类型为 e2-medium。如需了解机器类型价格信息,请参阅机器类型价格表

  9. 启动磁盘类型下拉列表中,选择所需的磁盘类型

  10. 输入启动磁盘大小

  11. 点击创建

  12. 在“标准”部分中,点击配置

创建集群后,您需要配置 kubectl,然后才能通过命令行与集群交互。

创建具有多可用区节点池的区域级集群

以下说明介绍了如何使用默认设置的多可用区节点池创建区域级集群。集群的控制层面和节点将在指定区域的多个可用区中复制。

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

如果您要使用 Visual Studio Code 开发 GKE 应用,请尝试使用 Cloud Code 创建集群

gcloud

如需使用 gcloud 工具创建区域级集群,请使用以下命令之一并替换以下变量:

  • CLUSTER_NAME:新区域级集群的名称。
  • COMPUTE_REGION:集群所需的区域,例如 us-central1
  • CHANNEL发布版本的类型,可以是 rapidregularstableNone 之一。默认情况下,如果未指定以下标志,则集群注册在 regular 发布版本中:--cluster-version--release-channel--no-enable-autoupgrade--no-enable-autorepair
  • VERSION:您要为集群指定的版本
  • 对于所含可用区数超过三个的区域或者需要较少可用区的情况,您可以使用可选的 --node-locations 标志替换用于复制节点的默认区域。

使用特定的发布版本

如需使用特定发布版本创建新集群,请运行以下命令:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel CHANNEL

使用特定版本

如需使用特定集群版本创建新集群,请运行以下命令:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --cluster-version VERSION

使用静态默认版本

如需使用静态默认集群版本创建新集群,您无需指定集群版本,但需要将发布版本设置为 None

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel None

示例

以下命令会创建一个在 regular 发布版本中注册的区域级集群,其中 us-west1 有九个节点(三个可用区各有三个节点,这是默认设置):

gcloud container clusters create my-regional-cluster --region us-west1

示例

以下命令会创建一个在 regular 发布版本中注册的区域级集群,其中有六个节点(三个可用区各有两个节点;由 --num-nodes 指定):

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --num-nodes 2

示例

以下命令会创建一个在 regular 发布版本中注册的区域级集群,其中两个可用区有六个节点(由 --node-locations 指定的两个可用区各有三个节点):

gcloud container clusters create my-regional-cluster \
    --region us-central1 \
    --node-locations us-central1-b,us-central1-c

控制台

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

    转到 Google Kubernetes Engine

  2. 点击 创建

  3. 集群基本信息部分,完成以下操作:

    1. 为集群输入名称
    2. 对于位置类型,选择区域,然后为您的集群选择所需的区域
    3. 如果要覆盖默认节点位置(例如,要在单个区域中运行),请选中指定默认节点位置复选框,然后选择要运行节点池的区域。
    4. 选择控制层面版本。默认为发布版本的推荐选项。如果您必须指定静态版本,请确保为您的节点池启用自动升级

  4. 在导航窗格的节点池下,点击默认池 (default-pool)。

  5. 节点池详情部分,完成以下操作:

    1. 为默认节点池输入一个名称
    2. 对于静态版本节点,请选择节点版本
    3. 输入要在集群中创建的节点数。您必须具有节点及其资源(例如防火墙路由)的可用资源配额
  6. 在导航窗格的节点池下,点击节点

  7. 映像类型下拉列表中,选择所需的节点映像

  8. 选择要用于实例的默认机器配置。每种机器类型的计费方式都各不相同。默认机器类型为 e2-medium。如需了解机器类型价格信息,请参阅机器类型价格表

  9. 启动磁盘类型下拉列表中,选择所需的磁盘类型

  10. 输入启动磁盘大小

  11. 点击创建

  12. 在“标准”部分中,点击配置

创建集群后,您需要配置 kubectl,然后才能通过命令行与集群交互。

后续步骤