调整集群大小


本页面介绍如何调整集群大小。您可以调整集群大小以增加或减少该集群中的节点数。要了解如何添加节点池和管理现有节点池,请参阅添加和管理节点池

在集群中添加或移除节点时,Google Kubernetes Engine (GKE) 会从底层 Compute Engine 添加或移除关联的虚拟机 (VM) 实例代管实例组 (MIG)已为您的节点池预配。

增加集群的大小

增加集群的大小时:

  • 使用与现有实例相同的配置创建新节点实例
  • 可以将新 Pod 调度到新实例上
  • 现有 Pod 不会移动到新实例上

减小集群的大小

减小集群的大小时:

  • 调度到正在被移除的实例上的 Pod 将被终止
  • 副本控制器已将其管理的 Pod 重新调度到其余实例上
  • 不重启由副本控制器管理的 Pod

MIG 不会区分运行 Pod 的实例和没有 Pod 的实例。减小集群大小会随机移除实例。

准备工作

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

  • 确保您已启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 确保您已安装 Cloud SDK
  • 使用以下方法之一为您的项目设置默认 gcloud 命令行工具设置:
    • 使用 gcloud init(如果您想要在系统引导下完成项目默认设置)。
    • 使用 gcloud config(如果您想要单独设置项目 ID、可用区和区域。

    gcloud init

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

      gcloud init

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

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

    gcloud config

    1. 设置默认项目 ID
      gcloud config set project PROJECT_ID
    2. 设置默认的 Compute Engine 区域(例如 us-central1):
      gcloud config set compute/region COMPUTE_REGION
    3. 设置默认的 Compute Engine 可用区(例如 us-central1-c):
      gcloud config set compute/zone COMPUTE_ZONE
    4. gcloud 更新到最新版本:
      gcloud components update

    通过设置默认位置,您可以避免 gcloud 工具中出现以下错误:One of [--zone, --region] must be supplied: Please specify location

调整集群大小

gcloud

如需调整集群节点池的大小,请运行 gcloud container clusters resize 命令:

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

请替换以下内容:

  • CLUSTER_NAME:要调整大小的集群的名称。
  • POOL_NAME:要调整大小的节点池的名称。
  • NUM_NODES:可用区级集群中的池中的节点数。如果您使用多区域级或多地区级集群,则 NUM_NODES 是节点池所在的每个区域的节点数。

对每个节点池重复此命令。如果集群只有一个节点池,请省略 --node-pool 标志。

控制台

要调整集群节点池的大小,请执行以下步骤:

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

    转到 Google Kubernetes Engine

  2. 在要修改的集群旁边,点击 操作,然后点击修改

  3. 点击详情标签页旁边的节点标签页。

  4. 节点池部分中,点击要调整大小的节点池的名称。

  5. 点击 调整大小

  6. 节点数字段中,输入节点池中所需的节点数量,然后点击调整大小

  7. 根据需要对每个节点池重复此操作。

通过排空减小集群的大小

您可以手动减小集群的大小,并在移除每个实例的 Pod 之前将其排空。

如需了解如何添加节点池和管理现有节点池,请参阅添加和管理节点池

如需减少和排空集群,请运行 gcloud container clusters resize 命令:

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
  --num-nodes NUM_NODES

请替换以下内容:

  • CLUSTER_NAME:要调整大小的集群的名称。
  • POOL_NAME:要调整大小的节点池的名称。
  • NUM_NODES:可用区级集群中的池中的节点数。如果您使用多区域级或多地区级集群,则 NUM_NODES 是节点池所在的每个区域的节点数。

自动扩缩集群

GKE 的集群自动调节程序功能可以根据使用情况的变化(例如工作负载和资源使用情况的变化),自动调整节点池的大小。

要详细了解自动调节的工作原理,请参阅集群自动调节程序文档。如需为集群设置自动扩缩,请参阅自动扩缩集群

后续步骤