我有来自 prometheus 适配器的 sidekiq 自定义指标。使用普罗米修斯的队列指标我已经设置了 HPA。当 sidekiq 队列中的作业超过 1000 个作业时,HPA 会触发 10 个新 pod。然后每个 pod 将在队列中执行 100 个作业。当工作减少到 400 个时。HPA 将按比例缩小。但是当缩减发生时,hpa 杀死 pod 说 4 个 pod 被杀死。Thoes 4 pods 仍在运行作业,说每个 pod 正在运行 30-50 个作业。现在,当 hpa 删除这 4 个 pod 时,在它们上运行的作业也会终止。并且这些工作在 sidekiq 中被标记为失败。
所以我想要实现的是阻止 hpa 删除正在执行作业的 pod。此外,我希望 hpa 即使在负载降至最低后也不会缩小,而是在 sidekiq 指标中队列中的作业为 0 时删除 pod。
有什么办法可以做到这一点?