Ответ вслух Middle Terraform и IaC спрашивают часто обновлено

Как организовать Terraform в команде

Вопрос

Интервьюер: «Как у вас был устроен Terraform: где state, кто и как применяет, как разделены окружения?»

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

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

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

Коротко

Образцовый ответ: «State лежал в S3-совместимом хранилище с версионированием и блокировкой, доступ только у роли CI и пары админов. Окружения в отдельных каталогах envs/dev, envs/prod, каждое из нескольких небольших state: сеть, кластер, базы, чтобы план шёл быстро и ошибка была локальной.

Что должно прозвучать в ответе

  • Удалённый state с блокировкой, версионированием и ограниченным доступом

  • Разделение по окружениям и компонентам: отдельные state, общие модули

  • Plan в merge request, apply только из CI после ревью

  • Фиксация версий Terraform, провайдеров и модулей

  • Обнаружение дрейфа: plan по расписанию

  • Секреты не в коде и по возможности не в state

Что могут спросить следом

  • Что будете делать, если state повреждён?
  • Как разбить огромный state на части?
  • Как обновить мажорную версию провайдера?

Разбор

Образцовый ответ: «State лежал в S3-совместимом хранилище с версионированием и блокировкой, доступ только у роли CI и пары админов. Окружения в отдельных каталогах envs/dev, envs/prod, каждое из нескольких небольших state: сеть, кластер, базы, чтобы план шёл быстро и ошибка была локальной. Общие вещи в модулях с версиями по тегам. Любое изменение через MR: CI делает plan и кладёт его в комментарий, после ревью мерж и apply сохранённого плана. Версии Terraform и провайдеров зафиксированы, lock-файл в git. Ночью пайплайн делает plan по всем state и шлёт в чат, если есть дрейф. Пароли генерировали в Vault, а не в Terraform. Если state испорчен, восстанавливаю прошлую версию из версионирования бакета и сверяю с реальностью через plan».

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

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