本页面介绍如何自动扩缩 Google Kubernetes Engine (GKE) 集群。如需了解集群自动扩缩器的工作原理,请参阅集群自动扩缩器。
使用集群自动扩缩程序
以下部分介绍如何使用集群自动扩缩程序。
创建具有自动扩缩功能的集群
gcloud
如需创建使用自动扩缩功能的集群,请使用 --enable-autoscaling
标志并指定 --min-nodes
和 --max-nodes
。
以下命令会创建一个包含 30 个节点的集群。该集群已启用节点自动扩缩功能,可根据集群负载调整节点数量。集群自动扩缩器可以将默认节点池缩减到 15 个节点,也可以将节点池扩容到最多 50 个节点。
gcloud container clusters create cluster-name --num-nodes 30 \
--enable-autoscaling --min-nodes 15 --max-nodes 50 [--zone compute-zone]
在此命令中:
--num-nodes
指定在每个集群地区中创建的节点数。默认值为 3。--enable-autoscaling
表示已启用自动扩缩功能。--min-nodes
指定默认节点池的最小节点数。--max-nodes
指定默认节点池的最大节点数。--zone
指定自动扩缩器应创建新节点的计算地区。
控制台
如需创建其中的默认节点池已启用自动扩缩功能的新集群,请执行以下操作:
访问 Cloud Console 中的 Google Kubernetes Engine 菜单。
点击创建集群按钮。
根据需要配置集群。
在导航窗格的节点池下,点击默认池 (default-pool)。
选中启用自动扩缩复选框。
根据需要更改节点数下限和节点数上限字段的值。
点击创建。
添加具有自动扩缩功能的节点池
gcloud
以下命令创建大小为 3(默认值)的节点池,它具有节点自动扩缩功能,该功能基于集群负载,调节默认节点池(最多 5 个节点,最少 1 个节点):
gcloud container node-pools create pool-name --cluster cluster-name \
--enable-autoscaling --min-nodes 1 --max-nodes 5 [--zone compute-zone]
在此命令中:
--cluster
指示创建节点的集群。--enable-autoscaling
表示已启用自动扩缩功能。--min-nodes
指定节点池的最小节点数。--max-nodes
指定节点池的节点数上限。--zone
指定自动扩缩器应创建新节点的计算地区。
控制台
如需将具有自动扩缩功能的节点池添加到现有集群,请执行以下操作:
访问 Cloud Console 中的 Google Kubernetes Engine 菜单。
点击所需的集群,然后点击修改。
点击添加节点池。
根据需要配置节点池。
在大小部分中,选中启用自动扩缩复选框。
根据需要更改大小下限和大小上限字段的值。
点击保存。
为现有节点池启用自动扩缩功能
gcloud
要为现有节点池启用自动扩缩功能,请运行以下命令:
gcloud container clusters update cluster-name --enable-autoscaling \
--min-nodes 1 --max-nodes 10 --zone compute-zone --node-pool default-pool
在此命令中:
--enable-autoscaling
表示已启用自动扩缩功能。--min-nodes
指定节点池的最小节点数。--max-nodes
指定节点池的节点数上限。--zone
指定集群的计算地区。--node-pool
指定所需的节点池。如果您只有一个节点池,请为此标志提供default-pool
。
控制台
要为现有节点池启用自动扩缩功能,请执行以下操作:
访问 Cloud Console 中的 Google Kubernetes Engine 菜单。
点击所需的集群,然后点击修改。
从页面底部的节点池菜单中,点击节点池的标题以将其展开,然后选择所需的节点池。默认情况下会展开默认节点池。点击修改。
在大小部分中,选中启用自动扩缩复选框。
根据需要更改大小下限和大小上限字段的值。
点击保存。
为现有节点池停用自动扩缩功能
gcloud
要为特定节点池停用自动扩缩功能,请运行以下命令:
gcloud container clusters update cluster-name --no-enable-autoscaling \
--node-pool pool-name [--zone compute-zone --project project-id]
在此命令中,--no-enable-autoscaling
指示集群停用自动扩缩功能。
集群大小固定为集群的当前默认节点池大小,您可以手动更新。
控制台
要为特定节点池停用自动扩缩功能,请执行以下操作:
访问 Cloud Console 中的 Google Kubernetes Engine 菜单。
要将标签添加到单个集群,请点击其“修改”按钮(铅笔形状)。
从页面底部的节点池菜单中,点击节点池的标题以将其展开,然后选择所需的节点池。默认情况下会展开默认节点池。点击修改。
在大小部分中,取消选中启用自动扩缩复选框。
点击保存。
问题排查
请参阅以下有关集群自动扩缩器的问题排查信息:
- 您可能会遇到集群自动扩缩器的限制之一。
- 如果您在缩减集群时遇到问题,请参阅 Pod 调度和中断。您可能需要为
kube-system
pod 添加 PodDisruptionBudget。如需详细了解如何手动为kube-system
pod 添加 PodDisruptionBudget,请参阅集群自动扩缩器常见问题解答。