Spec-Zone.ru › OpenTofu 1.11

Рабочие пространства

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

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

Бэкенды, поддерживающие несколько рабочих пространств​

Вы можете использовать несколько рабочих пространств со следующими бэкендами:

  • AzureRM
  • Consul
  • COS
  • GCS
  • Kubernetes
  • Local
  • OSS
  • Postgres
  • Remote
  • S3

Использование рабочих пространств​

Важно

Рабочие пространства не подходят для декомпозиции систем или развертываний, требующих отдельных учетных данных и средств управления доступом. Подробности и рекомендуемые альтернативы см. в разделе Варианты использования документации по OpenTofu CLI.

OpenTofu запускается с одной рабочей областью по умолчанию с именем default, которую нельзя удалить. Если вы не создали новое рабочее пространство, вы используете рабочее пространство по умолчанию в рабочем каталоге OpenTofu.

Когда вы запускаете tofu plan в новом рабочем пространстве, OpenTofu не обращается к существующим ресурсам в других рабочих пространствах. Эти ресурсы по-прежнему физически существуют, но для управления ими необходимо переключить рабочее пространство.

Подробные сведения о создании и использовании рабочих пространств см. в документации по рабочим пространствам OpenTofu CLI.

Интерполяция текущего рабочего пространства​

В конфигурации OpenTofu вы можете указать имя текущего рабочего пространства с помощью последовательности интерполяции ${terraform.workspace}. Ее можно использовать везде, где допускаются интерполяции.

Ссылка на текущее рабочее пространство полезна для изменения поведения в зависимости от рабочего пространства. Например, для рабочих пространств, отличных от рабочего пространства по умолчанию, может быть полезно запускать кластеры меньшего размера. Например:

Блок кода
resource "aws_instance" "example" {
  count = "${terraform.workspace == "default" ? 5 : 1}"

  # ... other arguments
}

Еще один популярный вариант использования — включение имени рабочего пространства в имена ресурсов или теги:

Блок кода
resource "aws_instance" "example" {
  tags = {
    Name = "web - ${terraform.workspace}"
  }

  # ... other arguments
}

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

Spec-Zone.ru

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