如何停止gcloud容器引擎集群

51
我使用gcloud来创建Kubernetes集群,并使用容器引擎来实现。
除了生产环境外,我想创建短暂的集群以供测试等用途。
与其重建集群,我希望有一个测试集群,并能按需启动/停止。在compute engine列出的VM实例上尝试点击“停止”将使它们最终重新启动。
如何正确地停止和启动测试集群?
短暂的测试集群的动机是出于成本考虑。
5个回答

109

您可以通过运行以下命令将集群中的节点数量临时缩减至零:

gcloud container clusters resize $CLUSTER_NAME --num-nodes=0

然后通过在大小标志中使用非零值来将其放大。


谢谢!这个主题的文档有点棘手。这个文档包含了关于集群的所有CRUD操作,除了U(调整大小),而调整大小文档则与其他指南分离。 - pazams
当我在使用 gcloud container clusters create $CLUSTER_NAME --num-nodes 1 --machine-type g1-small 命令创建的集群上执行此操作时,gcloud container clusters describe $CLUSTER_NAME 仍然报告 currentNodeCount: 1。我做错了什么? - Drux
1
哦,原来需要几秒钟时间(在gcloud container clusters resize $CLUSTER_NAME --size=0返回后)才能使更改生效。考虑到这一点,现在对我也起作用了。 - Drux
1
请注意,这并不适用于所有机器类型。例如,f1微实例集群的大小至少为3(这在GUI控制台和CLI中都得到了强制执行)。 - Oliver

27

--zone 参数需要在 gcloud SDK 版本为 2.0.27 时指定,才可以将集群节点调整为零。

gcloud container clusters resize $CLUSTER --size=0 --zone=$ZONE

14

这个问题显然需要一个改进的解决方案,因为我仍然不得不在Kubernetes引擎 ->群集下使用GCP控制台。

我将运行在集群中的节点数更改为0,并将最小节点数更改为0,因为启用了自动缩放功能,然后它就起作用了。

上面的gcloud命令提供了有用的见解,但由于启用了自动缩放功能,它会失败。更好的解决方案是在调整群集大小为零之前将最小节点数缩减为零,如下所示:

gcloud container clusters update [CLUSTER_NAME] --enable-autoscaling \
    --min-nodes 0 --max-nodes 10 --node-pool [NODE_POOL_NAME]

或者您可以完全禁用自动缩放:

gcloud container clusters update [CLUSTER_NAME] --no-enable-autoscaling \
--node-pool [NODE_POOL_NAME] --project [PROJECT_ID]]

现在,您可以将集群节点调整为零:

gcloud container clusters resize [CLUSTER_NAME] --num-nodes=0

7

0
你可以按照以下步骤来完成:
1. 前往GKE页面,选择你想要暂停的集群的名称。点击"节点"选项卡。 2. 在"节点池"部分,点击你想要调整大小的池子的名称。点击"调整大小"。 3. 在"节点数量"字段中输入"0",然后点击"调整大小"。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接