我有一个批处理作业,我想在Google Cloud上的Kubernetes集群上运行 . 这项工作必须定期进行,比如每周一次,需要一天才能完成 . 来自doc:
从Kubernetes 1.7版开始,您可以为节点池指定最小大小为零 . 如果不需要运行工作负载中的实例,则允许节点池完全按比例缩小 . 但是,虽然节点池可以扩展到零大小,但整个群集大小不会缩减到零节点(因为始终需要至少一个节点来运行系统Pod) .
我的问题是,如果将这个集群缩小到0个节点,它还会产生成本吗?据我所知,群集大小不会为空,因此仍会产生成本 .
如果是这样的话,那么最小化成本的正确方法是什么?我应该在运行作业之前/之后定期创建/删除集群吗?
1 回答
如果您动态配置Kubernetes集群,只要您可以从头开始重建集群环境而不依赖于工作节点,
Autoscaling
下降到零节点将是一个很好的解决方案,而Kubernetes主节点(系统Pod)不在GKE
中收费,根据Price page .您可以创建
node-pools
:然后根据需要强制缩小:
另外让自己熟悉这个Document,它描述了可以阻止
Cluster Autoscaler
删除Node的Pod类型 .