我想根据请求的数量来扩展我的部署。每个 pod 一次只能处理一个请求。扩大规模是没有问题的,但是当我想缩小规模时,我想确保我没有杀死一个正在工作的 pod(例如编码一个大文件)。
我有以下豆荚:
- Pod 1(10 分钟前创建,有一个任务)
- Pod 2(5 分钟前创建,免费)
- Pod 3(1 分钟前创建,有一个任务)
如果我降低副本值,kubernetes 将杀死 pod 3。它不关心 pod 是否繁忙。我可以手动杀死 pod 2,所以 kubernetes 会启动一个新的:
- Pod 1(10 分钟前创建,有一个任务)
- Pod 3(1 分钟前创建,有一个任务)
- Pod 4(刚刚创建,免费)
在我知道 pod 2 被杀死后,我可以减少计数器的数量,因此 pod 4 将在获得任务之前被杀死。但是这个解决方案听起来很丑陋,因为必须有人告诉 pod 2 关闭。
所以 kubernetes 会杀死最后创建的那些,但是有没有可能告诉他,一个 pod 很忙,他必须等待它才会被杀死?