本页面介绍如何手动调整 Google Kubernetes Engine (GKE) Standard 集群的大小。您可以调整集群大小以增加或减少该集群中的节点数。或者,您也可以自动扩缩集群,其中 GKE 会根据不断变化的条件(例如工作负载和资源使用情况的变化)自动调整节点池的大小。
这些说明不适用于 GKE Autopilot 集群,这些集群会根据集群中的 Pod 数量自动调整大小。
在集群中添加或移除节点时,GKE 会从底层 Compute Engine 添加或移除关联的虚拟机 (VM) 实例代管实例组 (MIG)已为您的节点池预配。如需移除节点,请勿使用 kubectl delete node
,因为这不会删除节点池的基础 MIG 中的 Compute Engine 虚拟机实例。使用集群自动扩缩程序或手动减小集群的大小。
准备工作
在开始之前,请确保您已执行以下任务:
- 启用 Google Kubernetes Engine API。 启用 Google Kubernetes Engine API
- 如果您要使用 Google Cloud CLI 执行此任务,请安装并初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行
gcloud components update
以获取最新版本。
增加集群的大小
增加集群的大小时,会发生以下更改:
- 使用与现有实例相同的配置创建新节点实例。
- 可以将新 Pod 调度到新实例上。
现有 Pod 不会移动到新实例上。
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
标志。
控制台
如需增加集群的节点池的大小,请执行以下步骤:
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
在要修改的集群旁边,点击 more_vert 操作,然后点击修改。
点击详情标签页旁边的节点标签页。
在节点池部分中,点击要增加其大小的节点池的名称。
点击 edit 调整大小。
在节点数字段中,输入节点池中所需的节点数量,然后点击调整大小。
根据需要对每个节点池重复此操作。
减小集群的大小
减小集群的大小时,会发生以下更改:
- GKE 会正常终止要删除的节点,并使用排空过程从实例中移除 Pod。
PodDisruptionBudget
和terminationGracePeriodSeconds
同时发挥作用最长一小时。 - 控制器会重新安排由副本控制器管理的 Pod,以便在其余实例上运行。
- 不重启由副本控制器管理的 Pod。
MIG 不会区分运行 Pod 的实例和没有 Pod 的实例。减小集群大小会随机移除实例。
如需了解如何添加节点池和管理现有节点池,请参阅添加和管理节点池。
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
标志。
控制台
如需减小集群节点池的大小,请执行以下步骤:
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
在要修改的集群旁边,点击 more_vert 操作,然后点击修改。
点击详情标签页旁边的节点标签页。
在节点池部分,点击要减小其大小的节点池的名称。
点击 edit 调整大小。
在节点数字段中,输入节点池中所需的节点数量,然后点击调整大小。
根据需要对每个节点池重复此操作。
自动扩缩集群
GKE 的集群自动调节程序功能可以根据使用情况的变化(例如工作负载和资源使用情况的变化),自动调整节点池的大小。
要详细了解自动调节的工作原理,请参阅集群自动调节程序文档。如需为集群设置自动扩缩,请参阅自动扩缩集群。