Kubernetes自动缩放的节点和Pod锁定

问题描述

在Kubernetes中运行,我有一个基于Keda自动缩放的部署。

此部署需要运行几个小时的长时间运行的任务,目前无法转移到工作上。

Kubernetes中是否有任何方法可以在长任务运行时锁定节点和/或Pod,以防止它们在长任务运行时因缩小而终止?

我目前唯一的选择是使用长terminationGracePeriodSeconds并确保任务结束后吊舱存在。

解决方法

您可以使用podDisruptionBudget来实现。这样可以确保一定数量的Pod始终保持在线状态,并且包含这些Pod的节点只要没有在线替代项就不能删除。