Выбор ответа Middle ConfigMap и Secret обновлено
Перезапуск подов при смене конфига
Вопрос
Как сделать, чтобы поды Deployment автоматически пересоздавались при изменении их ConfigMap при деплое через Helm?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Добавить в аннотации шаблона пода хеш ConfigMap (checksum/config). Deployment обновляет поды только при изменении spec.template.
Варианты ответа
- Kubernetes делает это сам: контроллер Deployment следит за ConfigMap, на которые ссылаются поды
- Поставить
restartPolicy: Always, тогда kubelet перезапустит поды при смене ConfigMap - Добавить в аннотации шаблона пода хеш ConfigMap (
checksum/config)правильный ответ - Уменьшить
terminationGracePeriodSeconds, чтобы поды быстрее перечитали конфигурацию
Разбор
Deployment обновляет поды только при изменении spec.template. Хеш конфигурации в аннотации шаблона связывает одно с другим, это стандартный приём в Helm-чартах. Похожий эффект дают ConfigMap с хешем в имени (kustomize) и контроллеры вроде Reloader. restartPolicy касается перезапуска упавших контейнеров, а grace period к этому не относится.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.