本页面介绍如何调整集群大小。您可以调整集群大小以增加或减少该集群中的节点数。要了解如何添加节点池和管理现有节点池,请参阅添加和管理节点池。
增加集群的大小
增加集群的大小时:
- 使用与现有实例相同的配置创建新节点实例
- 可以将新 Pod 调度到新实例上
- 现有 Pod 不会移动到新实例上
增加跨多个地区的节点池的大小时,新的大小表示每个地区的节点池中的节点数。例如,如果有一个跨两个地区且大小为 2 的节点池,则总节点数为 4。 如果将节点池的大小调整为 4,则总节点数将变为 8。
减小集群的大小
减小集群的大小时:
- 调度到正在被移除的实例上的 Pod 将被终止
- 副本控制器已将其管理的 Pod 重新调度到其余实例上
- 不重启由副本控制器管理的 Pod
托管实例组不会区分运行 Pod 的实例和没有 Pod 的实例。减小集群大小会随机移除实例。
准备工作
在开始之前,请确保您已执行以下任务:
- 确保您已启用 Google Kubernetes Engine API。 启用 Google Kubernetes Engine API
- 确保您已安装 Cloud SDK。
使用以下任一方法设定默认的 gcloud
设置:
- 使用
gcloud init
(如果您想要在系统引导下完成默认设置)。 - 使用
gcloud config
(如果您想单独设置项目 ID、区域和地区)。
使用 gcloud init
如果您收到 One of [--zone, --region] must be supplied: Please specify
location
错误,请完成本部分。
-
运行
gcloud init
并按照说明操作:gcloud init
如果您要在远程服务器上使用 SSH,请使用
--console-only
标志来防止命令启动浏览器:gcloud init --console-only
-
按照说明授权
gcloud
使用您的 Google Cloud 帐号。 - 创建新配置或选择现有配置。
- 选择 Google Cloud 项目。
- 选择默认的 Compute Engine 区域。
使用 gcloud config
调整集群大小
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
标志。
控制台
如需调整集群节点池的大小,请执行以下步骤:
访问 Cloud Console 中的 Google Kubernetes Engine 菜单。
在要修改的集群旁边,点击 more_vert 操作,然后点击修改。
点击详情标签页旁边的节点标签页。
在节点池部分中,点击要调整大小的节点池的名称。
点击 edit 调整大小。
在节点数字段中,输入节点池中所需的节点数量,然后点击调整大小。
根据需要对每个节点池重复此操作。
通过排空减小集群的大小
您可以手动减小集群的大小,并在移除每个实例的 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 的集群自动调节程序功能可以根据使用情况的变化(例如工作负载和资源使用情况的变化),自动调整节点池的大小。
要详细了解自动调节的工作原理,请参阅集群自动调节程序文档。如需为集群设置自动扩缩,请参阅自动扩缩集群。