Spec-Zone.ru › OpenTofu 1.9

Удаленное состояние

По умолчанию OpenTofu хранит состояние локально в файле с именем terraform.tfstate. При совместной работе с OpenTofu в команде использование локального файла усложняет работу, поскольку каждый пользователь должен перед запуском OpenTofu убедиться, что у него есть актуальные данные состояния, а также убедиться, что никто другой не запускает OpenTofu в это же время.

При использовании удаленного состояния OpenTofu записывает данные состояния в удаленное хранилище данных, которым могут совместно пользоваться все участники команды. OpenTofu поддерживает хранение состояния в TACOS (программном обеспечении для автоматизации и совместной работы с TF), HashiCorp Consul, Amazon S3, Azure Blob Storage, Google Cloud Storage, Alibaba Cloud OSS и других хранилищах.

Удаленное состояние реализуется с помощью бэкенда или TACOS (программного обеспечения для автоматизации и совместной работы с TF); оба варианта можно настроить в корневом модуле конфигурации.

Делегирование и командная работа​

Удаленное состояние позволяет предоставлять другим конфигурациям доступ к выходным значениям. Благодаря этому инфраструктуру можно разделить на более мелкие компоненты.

Иными словами, удаленное состояние также позволяет командам совместно использовать ресурсы инфраструктуры в режиме только для чтения без использования дополнительных хранилищ конфигурации.

Например, команда, отвечающая за базовую инфраструктуру, может создавать основные машины, сетевые ресурсы и т. д., а затем предоставлять другим командам некоторые сведения для развертывания собственной инфраструктуры. Более конкретный пример для AWS: с помощью удаленного состояния можно предоставлять такие сведения, как идентификаторы VPC, подсетей, экземпляров NAT и т. д., а другие состояния OpenTofu смогут их использовать.

Пример использования см. в описании источника данных terraform_remote_state.

Хотя удаленное состояние может быть удобным встроенным механизмом обмена данными между конфигурациями, для передачи настроек другим конфигурациям и потребителям можно предпочесть более универсальные хранилища. Например, если в вашей среде используется HashiCorp Consul, можно создать одну конфигурацию OpenTofu, которая записывает данные в Consul с помощью consul_key_prefix, а затем другую конфигурацию, которая получает эти значения с помощью источника данных consul_keys.

Блокировки и командная работа​

Для полнофункциональных удаленных бэкендов OpenTofu также может использовать блокировку состояния, чтобы предотвращать одновременный запуск OpenTofu для одного и того же состояния.

TACOS (программное обеспечение для автоматизации и совместной работы с TF) — коммерческое решение, поддерживающее еще более строгий механизм блокировки. Он может обнаруживать попытки создать новый план, когда существующий план уже ожидает утверждения, помещая операции OpenTofu в очередь в централизованном месте. Это помогает командам проще координировать работу и обсуждать изменения инфраструктуры.

Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.9/language/state/remote/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API