如何停止 gcloud 容器引擎集群

Posted

技术标签:

【中文标题】如何停止 gcloud 容器引擎集群【英文标题】:How to stop gcloud container engine clusters 【发布时间】:2016-11-14 08:33:11 【问题描述】:

我使用 gcloud 来配置 kubernetes 集群,并使用 容器引擎 来执行此操作。

除了生产集群,我想创建短期集群,用于测试等。

我不想重新创建集群,而是想要一个测试集群并能够按需停止/启动。尝试在 compute engine 中列出的 vm 实例上点击“停止”将使它们最终重新启动。

停止和启动测试集群的正确方法是什么?

短期测试集群的动机是出于成本考虑。

【问题讨论】:

【参考方案1】:

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

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

然后稍后通过使用大小标志的非零值运行它来扩展它。

【讨论】:

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

--zone 还应指定能够在 gcloud SDK v 2.0.27

中将集群节点的大小调整为零
gcloud container clusters resize $CLUSTER --size=0 --zone=$ZONE

【讨论】:

【参考方案3】:

这个问题显然需要改进的解决方案,因为我仍然必须使用 Kubernetes Engine -> Clusters 下的 GCP 控制台。

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

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

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

【讨论】:

【参考方案4】:

在 Web GCP 控制台中可以通过单击集群上的编辑按钮并将每个节点池的大小设置为 0 来实现相同的效果。

参考:https://cloud.google.com/kubernetes-engine/docs/how-to/resizing-a-cluster

【讨论】:

以上是关于如何停止 gcloud 容器引擎集群的主要内容,如果未能解决你的问题,请参考以下文章

403“gcloud容器集群get-credentials期间请求的认证范围不足”

暂停 Dataproc 集群 - Google 计算引擎

gcloud:用户无权访问服务帐户“默认”

使用gcloud停止当前版本的应用引擎的推荐方法是什么?

无法使用自定义网络启动 GKE(Google 容器引擎)集群

在kubernetes引擎中将数据从docker容器存储到GCS中时,得到 "权限不足 "的错误信息。