Как откатить приложение Kubernetes StatefulSet
В настоящее время я перевожу один из наших микросервисов из типа развертывания K8S в StatefulSets. При обновлении конфигурации развертывания в Kubernetes я заметил, что StatefulSets не поддерживает revisionHistoryLimit
а также minReadySeconds
,
revesionHistoryLimit
используется для сохранения предыдущих N номеров наборов реплик для отката.minReadySeconds
это количество секунд, в течение которых модуль pod должен быть готов без сбоев контейнера.
Я не смог найти совместимые настройки для StatefulSets.
Итак, мои вопросы: 1) Как долго мастер будет ждать, чтобы рассмотреть Stateful Pod готовым? 2) Как обработать откат Stateful приложения.
1 ответ
Решение
- Вы должны определить датчик готовности, и мастер будет ждать его, чтобы сообщить о модуле как о готовности.
- StatefulSets в настоящее время не поддерживает откат.
- После восстановления конфигурации вы также должны удалить все модули, которые StatefulSet уже пытался запустить с неправильной конфигурацией. Новый модуль автоматически раскрутится с правильной конфигурацией.