Подготовка инфраструктуры с помощью OpenTofu
Основная функция OpenTofu — создавать, изменять и удалять ресурсы инфраструктуры, чтобы привести их в соответствие с желаемым состоянием, описанным в конфигурации OpenTofu.
Когда говорят о «запуске OpenTofu», обычно имеют в виду выполнение этих действий по подготовке инфраструктуры, чтобы внести изменения в реальные объекты инфраструктуры. В двоичном файле OpenTofu есть множество других подкоманд для самых разных административных задач, но эти основные задачи по подготовке инфраструктуры составляют основу OpenTofu.
Рабочий процесс подготовки инфраструктуры в OpenTofu основан на трёх командах: plan, apply и destroy. Для выполнения каждой из этих команд требуется инициализированный рабочий каталог, и каждая из них действует только в текущем выбранном рабочем пространстве.
Планирование
Команда tofu plan анализирует конфигурацию OpenTofu, чтобы определить желаемое состояние всех объявленных в ней ресурсов, а затем сравнивает это состояние с реальными объектами инфраструктуры, которыми управляют с помощью текущего рабочего каталога и рабочего пространства. Она использует данные состояния, чтобы определить, каким объявленным ресурсам соответствуют реальные объекты, и проверяет текущее состояние каждого ресурса с помощью API соответствующего поставщика инфраструктуры.
Определив разницу между текущим и желаемым состояниями, tofu plan описывает изменения, необходимые для достижения желаемого состояния. Она не вносит никаких фактических изменений в реальные объекты инфраструктуры, а только формирует план изменений.
Планы обычно запускают, чтобы проверить изменения конфигурации и убедиться, что в результате будут выполнены ожидаемые действия. Однако tofu plan также может сохранить план в виде артефакта, готового к выполнению, который tofu apply сможет использовать для выполнения именно этих изменений.
Подробнее см. в описании команды tofu plan.
Применение
Команда tofu apply выполняет план так же, как tofu plan, но затем действительно вносит запланированные изменения в каждый ресурс с помощью API соответствующего поставщика инфраструктуры. Перед внесением изменений она запрашивает подтверждение пользователя, если только ей явно не указано пропустить подтверждение.
По умолчанию tofu apply непосредственно перед применением изменений составляет новый план и показывает его пользователю при запросе подтверждения. Однако вместо запуска нового планирования команда может принять файл плана, созданный командой tofu plan. Это позволяет надёжно выполнить точный набор предварительно одобренных изменений, даже если за время, прошедшее с момента создания исходного плана, конфигурация или состояние реальной инфраструктуры изменились.
Подробнее см. в описании команды tofu apply.
Удаление
Команда tofu destroy удаляет все ресурсы, которыми управляют с помощью текущего рабочего каталога и рабочего пространства, используя данные состояния, чтобы определить, какие реальные объекты соответствуют управляемым ресурсам. Как и tofu apply, она запрашивает подтверждение перед выполнением.
Удаление работает так же, как удаление всех ресурсов из конфигурации с последующим запуском команды apply, но при этом не требует редактирования конфигурации. Это удобнее, если позднее вы планируете подготовить аналогичные ресурсы.
Подробнее см. в описании команды tofu destroy.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.11/cli/run/