helm upgrade прошёл, но поды работают со старым конфигом
В чарте сервиса значения из values.yaml рендерятся в ConfigMap, который монтируется в под как файл конфигурации. Вы поменяли значение таймаута и выкатили изменение:
$ helm upgrade api ./charts/api -f values-prod.yaml
Release "api" has been upgraded. Happy Helming!
ConfigMap в кластере обновился, но приложение продолжает работать со старым таймаутом. Поды не перезапускались, их возраст — 6 дней.
Почему изменение не доехало и как это лечится в чарте?
- Helm обновил ConfigMap, но спецификация подов не изменилась, поэтому Deployment не запустил перевыкатку — добавляют аннотацию с контрольной суммой конфигурации в шаблон пода
- Helm применяет изменения ConfigMap отложенно, нужно дождаться следующей синхронизации кластера
- Приложение обязано само отслеживать изменение смонтированного файла и перечитывать конфигурацию на лету: со стороны чарта и Deployment здесь сделать нечего, это зона ответственности разработчика
- Нужно было выполнять обновление с флагом `--force`, тогда Helm пересоздаёт все объекты релиза
