У меня есть кластер K8s, который выполняет независимые задания (каждое задание имеет один модуль), и я ожидаю, что они будут выполняться до конца.Планировщик, однако, иногда перепланирует их на другом узле.Мои задания должны быть однопроходными, и перезапуск их на другом узле для меня неприемлемо.
Я смотрел на бюджеты разрушения Pod (PDB), но, насколько я понимаю, их селекторы применяются к ярлыку Pod.Поскольку каждая моя работа отличается и имеет отдельную метку, как я могу использовать PDB, чтобы сообщить K8s, что все моих модулей имеют значение maxUnavailable 0?
Я также использовал эту аннотацию
"cluster-autoscaler.kubernetes.io/safe-to-evict": false
, но это не влияет на выселение модулей из-за нехватки ресурсов.
В идеале я должен быть в состоянии сказать K8s, что ни один из моих модулей не должен быть выселенесли они не завершены.