Выбор ответа Junior ConfigMap и Secret спрашивают часто обновлено

Изменили ConfigMap, а под не видит

Вопрос

В ConfigMap поменяли LOG_LEVEL на debug. Под получает его через envFrom. Через 10 минут приложение всё ещё пишет info. Почему?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Переменные окружения фиксируются при старте контейнера; нужен kubectl rollout restart. Окружение процесса фиксируется при запуске, и Kubernetes не может поменять его на лету.

Варианты ответа

  1. Переменные окружения фиксируются при старте контейнера; нужен kubectl rollout restartправильный ответ
  2. kubelet синхронизирует переменные из ConfigMap раз в час, нужно подождать
  3. ConfigMap нельзя менять после создания, изменение молча не применилось
  4. Нужно удалить ConfigMap и создать заново, тогда kubelet подхватит новые значения

Разбор

Окружение процесса фиксируется при запуске, и Kubernetes не может поменять его на лету. Обновляются только файлы в томах из ConfigMap (кроме subPath). Deployment сам не перезапустит поды, потому что шаблон пода не изменился. ConfigMap можно менять, если он не immutable.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.