Выбор ответа Middle ConfigMap и Secret обновлено

subPath и обновление файла

Вопрос

Файл конфигурации смонтирован из ConfigMap через subPath: nginx.conf. После изменения ConfigMap файл в поде остался старым. Почему?

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

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

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

Коротко

Правильный ответ: Тома с subPath не получают обновлений ConfigMap; монтируйте каталог целиком. Обычный том ConfigMap kubelet обновляет атомарно через подмену символьной ссылки на каталог с данными. subPath монтирует конкретный файл, и эта схема с ним не работает.

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

  1. kubelet обновляет тома ConfigMap только при перезапуске узла, до этого файл прежний
  2. Тома с subPath не получают обновлений ConfigMap; монтируйте каталог целикомправильный ответ
  3. Том смонтирован только для чтения; нужно указать readOnly: false, чтобы kubelet мог писать
  4. ConfigMap с ключами, содержащими точку (nginx.conf), не обновляются в подах

Разбор

Обычный том ConfigMap kubelet обновляет атомарно через подмену символьной ссылки на каталог с данными. subPath монтирует конкретный файл, и эта схема с ним не работает. Решения: монтировать каталог (например в /etc/nginx/conf.d/) или перезапускать поды при смене конфигурации. Права на запись и точки в ключах на обновление не влияют.

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

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