awesome-everything EN
↑ Обратно к восхождению

Деплой и инфра

Infrastructure as Code: тест с выбором

Суть Синтез по всему модулю IaC в формате с выбором — декларативное желаемое состояние, движок diff в plan/apply, удалённое состояние, locking, drift и иммутабельная инфраструктура.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов, проходящих сквозь весь модуль. Каждый отражает решение, которое ты принимаешь в терминале во время реального окна изменений, — не определение для пересказа, а компромисс, который надо взвесить, пока прод под наблюдением.

Цель

Убедись, что умеешь связать декларативное желаемое состояние, движок diff в plan/apply, роль файла состояния, locking при конкурентности и обработку drift — синтез, к которому вёл урок.

Викторина

Твой конфиг объявляет S3-бакет. Ты запускаешь apply один раз, затем ещё раз — без изменений в конфиге и без изменений вне инструмента. Что должно произойти на втором apply и какое свойство это гарантирует?

Викторина

Коллега спрашивает: 'Зачем вообще держать файл состояния? Просто делай refresh против живого облака каждый раз и diff против него.' Какой самый сильный довод, что файл состояния не опционален?

Викторина

Два CI-джоба запускают `terraform apply` против одного бэкенда с разницей в девять секунд, locking отключён через `-lock=false`. Какой основной режим отказа?

Викторина

CI-прогон упал посреди apply и оставил несвежий лок. Следующий пайплайн быстро падает с `Error acquiring the state lock`. Джуниор хочет сразу запустить `terraform force-unlock` и повторить apply. В чём предостережение сеньора?

Викторина

Во время инцидента в 2 ночи коллега вручную поправил правило security-group в консоли, чтобы остановить кровотечение. Код никто не трогал. Рутинный `terraform apply` запускается во вторник утром. В чём опасность и что должно было произойти сначала?

Викторина

Сгенерированный пароль БД попадает в output Terraform, а файл состояния лежит в S3-бакете, который могут читать несколько инженеров. В чём экспозиция и какой правильный паттерн?

Итог

Сквозная линия: ты объявляешь желаемое состояние, plan делает diff против записанного файла состояния (сначала refresh провайдера), а apply исполняет diff идемпотентно. Файл состояния — карта идентичности, одновременно источник истины и опасность: держи его в версионируемом, залоченном удалённом бэкенде, никогда не прогоняй через него секреты и встречай drift осознанно через plan -refresh-only, решая намерение до того, как apply тихо откатит аварийное исправление. Склоняйся к иммутабельной инфраструктуре, чтобы дрейфить было нечему.

Продолжить восхождение ↑Infrastructure as Code: тест на припоминание
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.