В K8s, если у меня развернут набор состояний с тремя репликами, как мне обновить карту конфигурации без потери данных на связанных постоянных томах? На это есть некоторые странные ограничения, в том числе -
Простой rollout restart
терпит неудачу, потому что обновленная карта конфигурации делает один узел несовместимым с другими. Это предотвращает продолжение развертывания, потому что все необходимо перезапускать синхронно.
Принудительный перезапуск путем удаления модулей работает с точки зрения синхронного обновления конфигурации, но, похоже, удаляет постоянные тома (это тоже кажется странным, это стандартное поведение или что-то мое приложение делает за моей спиной?)
Оцените здесь несколько советов - как это делают профессионалы? Я чувствую, что, должно быть, неправильно понимаю проблему здесь.
Решение может быть переключением delete-claim
флаг (при использовании persistent-claim
). Это изменение влияет на поведение контроллера кластера при удалении ConfigMap и на необходимость удаления PVC. При обновлении ConfigMap просто установите delete-claim
= false в определении PVC.
Взглянуть: configmap-update.