Google compute engine 降低夜间Kubernetes群集的成本

Google compute engine 降低夜间Kubernetes群集的成本,google-compute-engine,gcloud,google-kubernetes-engine,Google Compute Engine,Gcloud,Google Kubernetes Engine,我正在使用Google的Kubernetes引擎来管理一个包含多个节点池的集群。每个池具有不同的配置(例如,并非所有池都具有自动缩放) 游泳池大部分在夜间未使用,因此我希望在此期间(大约10小时)减少资源消耗和成本 我考虑过在一天结束时停止VM实例,并在早上重新启动它们。此外,我还可以通过运行gcloud container clusters resize$CLUSTER\u NAME--size=0 在未使用期间降低成本的最佳选择是什么?有更好的方法吗?使用cluster autoscaler

我正在使用Google的Kubernetes引擎来管理一个包含多个节点池的集群。每个池具有不同的配置(例如,并非所有池都具有自动缩放)

游泳池大部分在夜间未使用,因此我希望在此期间(大约10小时)减少资源消耗和成本

我考虑过在一天结束时停止VM实例,并在早上重新启动它们。此外,我还可以通过运行
gcloud container clusters resize$CLUSTER\u NAME--size=0

在未使用期间降低成本的最佳选择是什么?有更好的方法吗?

使用cluster autoscaler(可调整节点池中的节点数)将无法将所有节点池缩放为零。这是因为集群中正在运行一些系统吊舱(
kubectl get pods-n kube system

但是,您可以使用调用以下命令的脚本强制将节点池的规模缩小到零:

gcloud container clusters resize $CLUSTER --num-nodes=0 [--node-pool=$POOL]

您是否考虑过另一个,可能在空闲层,例如,使用cron作业定期运行此命令?如果GKE中没有其他替代方案,那么作为一种解决方案。因为您禁用了自动缩放功能,所以简单可行的方法是减少您已经在做的节点大小。自动化这类任务可能会遇到前面讨论的另一个问题。停止GCE VM实例将不起作用。GKE将重新启动,或更换为新的。我建议将节点池的大小调整为0,或者使用Cluster Autoscaler(但它不会缩小到0)。