Выбор ответа Middle ConfigMap и Secret обновлено
subPath и обновление файла
Вопрос
Файл конфигурации смонтирован из ConfigMap через subPath: nginx.conf. После изменения ConfigMap файл в поде остался старым. Почему?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Тома с subPath не получают обновлений ConfigMap; монтируйте каталог целиком. Обычный том ConfigMap kubelet обновляет атомарно через подмену символьной ссылки на каталог с данными. subPath монтирует конкретный файл, и эта схема с ним не работает.
Варианты ответа
- kubelet обновляет тома ConfigMap только при перезапуске узла, до этого файл прежний
- Тома с
subPathне получают обновлений ConfigMap; монтируйте каталог целикомправильный ответ - Том смонтирован только для чтения; нужно указать
readOnly: false, чтобы kubelet мог писать - ConfigMap с ключами, содержащими точку (
nginx.conf), не обновляются в подах
Разбор
Обычный том ConfigMap kubelet обновляет атомарно через подмену символьной ссылки на каталог с данными. subPath монтирует конкретный файл, и эта схема с ним не работает. Решения: монтировать каталог (например в /etc/nginx/conf.d/) или перезапускать поды при смене конфигурации. Права на запись и точки в ключах на обновление не влияют.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.