🛠️ StatefulSet откатили на good template, а rollout всё ещё завис?
При RollingUpdate + OrderedReady это documented forced rollback scenario.
bad revision → Pod не Ready → rollout остановился → template reverted → broken Pod остался → controller продолжает ждать его Ready
Простого rollback .spec.template может быть недостаточно.
После revert проблемный Pod, уже созданный по bad revision, может потребовать удаления, чтобы controller пересоздал его по good template.
Но сначала проверьте:
— ordinal; — Ready и Events; — .spec.podManagementPolicy; — .spec.updateStrategy; — currentRevision/updateRevision; — controller-revision-hash; — PVC и retention policy; — application role и quorum.
Почему так осторожно?
StatefulSet Pod имеет стабильную identity и часто связан с persistent storage.
Обычный Pod delete не равен force delete.
--force --grace-period=0 особенно рискован: Kubernetes предупреждает, что force deletion StatefulSet Pod может нарушить at-most-one semantics.
При обычном RollingUpdate обновление идёт от большего ordinal к меньшему и ждёт Ready текущего Pod.
Диагностика:
stuck ordinal → Ready → revision → reverted template → PVC/application semantics → manual intervention
Сохраните последовательность диагностики StatefulSet, который остановился на одном ordinal Pod.