0Pricing
DevOps Bootcamp · Урок

Основы управления состоянием

Разберитесь в понятии состояния Terraform, узнайте, почему оно важно для отслеживания развёрнутых ресурсов, и научитесь управлять локальным файлом состояния.

«Основы управления состоянием» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Что такое состояние Terraform?

Состояние Terraform подобно памяти вашей инфраструктуры. Это снимок ресурсов, которыми управляет Terraform.

Представьте его как важную базу данных, которая отслеживает, что Terraform создал и настроил в реальном мире (у вашего облачного провайдера).

Почему состояние важно

Состояние необходимо, поскольку оно позволяет Terraform:

  • Сопоставлять ресурсы: определять, какому блоку ресурса в конфигурации соответствует конкретный реальный облачный ресурс.
  • Отслеживать метаданные: хранить атрибуты ресурсов, отсутствующие в конфигурации, например идентификаторы или IP-адреса.
  • Планировать изменения: сравнивать желаемое состояние (вашу конфигурацию) с текущим состоянием (файлом состояния), чтобы определить, какие ресурсы нужно создать, обновить или уничтожить.

Роль состояния в рабочем процессе

Когда вы выполняете команду terraform apply, Terraform сначала просматривает ваши файлы .tf, чтобы понять, чего вы хотите. Затем он обращается к файлу состояния, чтобы проверить, что существует сейчас.

Сравнивая эти два источника, Terraform формирует «план» достижения желаемой конфигурации инфраструктуры. После применения изменений он обновляет файл состояния, отражая новую действительность.

Знакомство с `terraform.tfstate`

По умолчанию Terraform хранит состояние локально в файле с именем terraform.tfstate в рабочем каталоге.

Этот файл представляет собой документ JSON, содержащий подробное сопоставление вашей конфигурации с реальными ресурсами.

Наш первый ресурс

Используем простой ресурс null_resource, чтобы увидеть, как создается состояние. Этот ресурс ничего не создает в облаке, но Terraform по-прежнему отслеживает его.

Сохраните это содержимое в файл main.tf:

resource "null_resource" "my_example" {
  triggers = {
    always_run = timestamp()
  }
}

Создание файла состояния

Сначала инициализируйте Terraform, а затем примените конфигурацию, чтобы создать ресурс и файл terraform.tfstate.

Выполните эти команды в терминале:

terraform init
terraform apply --auto-approve

Список ресурсов состояния

После завершения команды apply у вас появится файл terraform.tfstate. Его содержимое можно проверить с помощью команд Terraform CLI.

Используйте команду terraform state list, чтобы просмотреть все ресурсы, отслеживаемые в состоянии:

terraform state list

Просмотр сведений о ресурсе

Чтобы получить подробную информацию о конкретном ресурсе из файла состояния, используйте команду terraform state show, указав адрес ресурса.

Попробуйте выполнить её для нашего ресурса null_resource:

terraform state show null_resource.my_example

Не редактируйте состояние вручную!

Файл terraform.tfstate имеет критическое значение и сложную структуру. Никогда не редактируйте его вручную напрямую.

Ручное редактирование может повредить состояние и привести к следующим последствиям:

  • Несогласованная инфраструктура.
  • Terraform перестанет отслеживать ресурсы.
  • Неожиданное удаление или создание ресурсов.

Всегда используйте команды Terraform CLI (например, terraform state mv) для изменения состояния.

Проверка управления состоянием

Какие из следующих утверждений о состоянии Terraform верны?

Итоги управления состоянием

На этом уроке мы изучили состояние Terraform — важнейший компонент для отслеживания инфраструктуры.

  • Мы узнали, что состояние сопоставляет конфигурацию с реальными ресурсами.
  • Локальный файл состояния называется terraform.tfstate.
  • Такие команды, как terraform state list и terraform state show, помогают проверять состояние.
  • Никогда не редактируйте файл состояния вручную, чтобы избежать повреждения.

Понимание состояния — основа эффективного использования Terraform!

Часто задаваемые вопросы

Урок «Основы управления состоянием» бесплатный?

Да — полный текст урока «Основы управления состоянием» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Основы управления состоянием»?

Разберитесь в понятии состояния Terraform, узнайте, почему оно важно для отслеживания развёрнутых ресурсов, и научитесь управлять локальным файлом состояния. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Основы управления состоянием»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Поставщики и ресурсы
  2. Переменные и выходные значения
  3. Основы управления состоянием
  4. Модули и повторное использование кода
← Назад к DevOps Bootcamp