首页 文章

重新调整为0个节点时,Google Cloud Kubernetes会降低成本

提问于
浏览
1

我有一个批处理作业,我想在Google Cloud上的Kubernetes集群上运行 . 这项工作必须定期进行,比如每周一次,需要一天才能完成 . 来自doc:

从Kubernetes 1.7版开始,您可以为节点池指定最小大小为零 . 如果不需要运行工作负载中的实例,则允许节点池完全按比例缩小 . 但是,虽然节点池可以扩展到零大小,但整个群集大小不会缩减到零节点(因为始终需要至少一个节点来运行系统Pod) .

我的问题是,如果将这个集群缩小到0个节点,它还会产生成本吗?据我所知,群集大小不会为空,因此仍会产生成本 .

如果是这样的话,那么最小化成本的正确方法是什么?我应该在运行作业之前/之后定期创建/删除集群吗?

1 回答

  • 2

    如果您动态配置Kubernetes集群,只要您可以从头开始重建集群环境而不依赖于工作节点, Autoscaling 下降到零节点将是一个很好的解决方案,而Kubernetes主节点(系统Pod)不在 GKE 中收费,根据Price page .

    您可以创建 node-pools

    gcloud container node-pools create ${CLUSTER_NAME}-pool \
        --cluster ${CLUSTER_NAME} \
        --enable-autoscaling --min-nodes 0 --max-nodes 10 \
        --zone ${INSTANCE_ZONE}
    

    然后根据需要强制缩小:

    gcloud container clusters resize ${CLUSTER_NAME} --size=0 [--node-pool=${CLUSTER_NAME}-pool]
    

    另外让自己熟悉这个Document,它描述了可以阻止 Cluster Autoscaler 删除Node的Pod类型 .

相关问题