调整集群大小

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

增加集群的大小

增加集群的大小时:

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

增加跨多个地区的节点池的大小时,新的大小表示每个地区的节点池中的节点数。例如,如果有一个跨两个地区且大小为 2 的节点池,则总节点数为 4。 如果将节点池的大小调整为 4,则总节点数将变为 8。

减小集群的大小

减小集群的大小时:

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

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

准备工作

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

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

使用 gcloud config

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

调整集群大小

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

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

后续步骤