需要立即缩小节点规模,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和节点。
答案 0 :(得分:1)
似乎不支持“ -scale-down-unneeded-time_”之类的选项。解决方法-如果您确定已完成节点的使用并且不再需要它,则可以手动缩小GKE节点池,而无需等待Cluster Autoscaler自动回收它。可以找到执行此操作的命令here
但是,这样,您将无法控制确切将关闭的节点。
如果您的工作负载短暂,并且占用了整个VM,并且您想在完成后立即关闭VM,则不需要Kubernetes,只会遇到麻烦。实现此目的的最佳方法是在Compute Engine上为每个任务创建一个VM,并在完成后立即将其关闭。只需确保将运行任务所需的所有内容都放入VM映像中即可,这样就不会浪费时间在启动时下载和安装内容。
希望此帮助。