Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как создать группу ресурсов Azure с помощью Terraform.
Terraform включает определение, предварительную версию и развертывание облачной инфраструктуры. С помощью Terraform вы создаете файлы конфигурации с помощью синтаксиса HCL. Синтаксис HCL позволяет указать поставщика облачных служб, таких как Azure, и элементы, составляющие облачную инфраструктуру. После создания файлов конфигурации вы создадите план выполнения , который позволяет предварительно просмотреть изменения инфраструктуры перед развертыванием. После проверки изменений примените план выполнения для развертывания инфраструктуры.
В этой статье вы узнаете, как:
- Создайте случайное значение для имени группы ресурсов Azure с помощью random_pet.
- Создайте группу ресурсов Azure с помощью azurerm_resource_group.
Предпосылки
Реализация кода Terraform
Примечание.
Пример кода для этой статьи находится в репозитории Azure Terraform GitHub. Вы можете просмотреть файл журнала, содержащий результаты теста из текущих и предыдущих версий Terraform.
Дополнительные статьи и пример кода, демонстрирующие использование Terraform для управления ресурсами Azure
Создайте каталог для тестирования примера кода Terraform и сделайте его текущим каталогом.
Создайте файл с именем
providers.tfи вставьте следующий код:terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>4.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Создайте файл с именем
main.tfи вставьте следующий код:# Create a random name for the resource group using random_pet resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } # Create a resource group using the generated random name resource "azurerm_resource_group" "example" { location = var.resource_group_location name = random_pet.rg_name.id }Создайте файл с именем
variables.tfи вставьте следующий код:variable "resource_group_location" { type = string default = "eastus" description = "Location of the resource group." } variable "resource_group_name_prefix" { type = string default = "rg" description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." }Создайте файл с именем
outputs.tfи вставьте следующий код:output "resource_group_name" { value = azurerm_resource_group.example.name }
Инициализация Terraform
Запустите terraform init , чтобы инициализировать развертывание Terraform. Эта команда загружает провайдера Azure, необходимого для управления ресурсами Azure.
terraform init -upgrade
Ключевые моменты:
- Параметр
-upgradeобновляет нужные плагины поставщика до самой новой версии, соответствующей ограничениям конфигурации.
Создайте план выполнения Terraform
Запустите команду terraform plan, чтобы создать план выполнения.
terraform plan -out main.tfplan
Ключевые моменты:
- Команда
terraform planсоздает план выполнения, но не выполняет его. Вместо этого он определяет, какие действия необходимы для создания конфигурации, указанной в файлах конфигурации. Этот шаблон позволяет проверить соответствие плана выполнения ожиданиям перед внесением изменений в фактические ресурсы. - Необязательный параметр
-outпозволяет указать выходной файл для плана. Использование параметра-outгарантирует, что проверяемый план полностью соответствует применяемому.
Применение плана выполнения Terraform
Запустите terraform apply, чтобы применить план выполнения к облачной инфраструктуре.
terraform apply main.tfplan
Ключевые моменты:
- Команда
terraform applyв примере предполагает, что вы ранее выполнилиterraform plan -out main.tfplan. - Если для параметра
-outуказано другое имя файла, используйте то же имя в вызове кterraform apply. - Если вы не использовали параметр
-out, вызовитеterraform applyбез параметров.
Проверка результатов
Получите имя группы ресурсов Azure.
resource_group_name=$(terraform output -raw resource_group_name)Выполните команду az group show , чтобы отобразить группу ресурсов.
az group show --name $resource_group_name
Очистка ресурсов
Если вам больше не нужны ресурсы, созданные через Terraform, выполните следующие действия:
Запустите команду terraform plan, чтобы указать
destroyфлаг.terraform plan -destroy -out main.destroy.tfplanКлючевые моменты:
- Команда
terraform planсоздает план выполнения, но не выполняет его. Вместо этого он определяет, какие действия необходимы для создания конфигурации, указанной в файлах конфигурации. Этот шаблон позволяет проверить соответствие плана выполнения ожиданиям перед внесением изменений в фактические ресурсы. - Необязательный параметр
-outпозволяет указать выходной файл для плана. Использование параметра-outгарантирует, что проверяемый план полностью соответствует применяемому.
- Команда
Чтобы применить план выполнения, запустите terraform apply.
terraform apply main.destroy.tfplan
Устранение неполадок с Terraform в Azure
Устранение распространенных проблем при использовании Terraform в Azure