我有一个运行独立作业的 K8s 集群(每个作业都有一个 pod),我希望它们能够运行完成。然而,调度器有时会在不同的节点上重新调度它们。我的工作需要单次运行,并且在不同的节点上重新启动它们对我来说是不可接受的结果。
我正在查看 Pod 中断预算 (PDB),但据我了解,他们的选择器适用于 pod 标签。由于我的每一项工作都是不同的并且有一个单独的标签,我如何使用 PDB 告诉 K8s我所有的 pod 的 maxUnavailable 为 0?
我也用过这个注解
"cluster-autoscaler.kubernetes.io/safe-to-evict": false
但这并不影响 pod 驱逐对资源压力的影响。
理想情况下,我应该能够告诉 K8s,除非它们是完整的,否则我的任何 Pod 都不应该被驱逐。