减少kubectl规模的等待时间

时间:2019-06-06 09:12:02

标签: kubernetes google-kubernetes-engine scaling

需要立即缩小节点规模,Kubernetes不允许开发人员配置节点缩小规模之前的时间。当前,它的默认值是10分钟。

我正在开发一个需要大量计算能力/小时的应用程序。我正在运行A,它将一些任务添加到作业队列中。在6vCPU和24GB实例上,每个作业平均需要10-40分钟的时间。

当您应用kubectl scale deployment <deployment-name>时,它会立即缩小豆荚的比例。但是,只有在10分钟内未使用任何处理能力时,基础节点才会按比例缩小。

是否有配置此等待时间的时间?联系Google GKE或Kubernetes允许我的特定用例例外是值得的吗?

我还尝试在处理后从Pod中杀死自己的节点,并成功了,但是,Kubernetes重新创建了删除的实例,因此我的尝试没有用。

任何建议将不胜感激

kubectl scale deployments mydeployment --replica=0

Actual:立即缩小Pod,但在10分钟后缩小基础节点。 随机:立即缩小Pod和节点。

1 个答案:

答案 0 :(得分:1)

似乎不支持“ -scale-down-unneeded-time_”之类的选项。解决方法-如果您确定已完成节点的使用并且不再需要它,则可以手动缩小GKE节点池,而无需等待Cluster Autoscaler自动回收它。可以找到执行此操作的命令here

但是,这样,您将无法控制确切将关闭的节点

如果您的工作负载短暂,并且占用了整个VM,并且您想在完成后立即关闭VM,则不需要Kubernetes,只会遇到麻烦。实现此目的的最佳方法是在Compute Engine上为每个任务创建一个VM,并在完成后立即将其关闭。只需确保将运行任务所需的所有内容都放入VM映像中即可,这样就不会浪费时间在启动时下载和安装内容。

希望此帮助。