Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Začněte se službou Azure Batch pomocí Terraformu a vytvořte účet Batch, včetně úložiště. K vytvoření výpočetních prostředků (fondů výpočetních uzlů) a úloh Batch potřebujete účet Batch. Účet Azure Storage můžete propojit se svým účtem Batch. Toto párování je užitečné při nasazování aplikací a ukládání vstupních a výstupních dat pro většinu reálných úloh.
Po dokončení tohoto rychlého startu porozumíte klíčovým konceptům služby Batch a budete připraveni vyzkoušet službu Batch s realističtějšími úlohami ve větším měřítku.
Terraform umožňuje definovat, zobrazit náhled a nasadit cloudovou infrastrukturu. Pomocí Terraformu vytvoříte konfigurační soubory pomocí syntaxe HCL. Syntaxe seznamu HCL umožňuje zadat poskytovatele cloudu , například Azure, a prvky, které tvoří vaši cloudovou infrastrukturu. Po vytvoření konfiguračních souborů vytvoříte plán provádění , který vám umožní zobrazit náhled změn infrastruktury před jejich nasazením. Jakmile ověříte změny, použijete plán provádění k nasazení infrastruktury.
V tomto článku se naučíte:
- Vytvoření náhodné hodnoty pro název skupiny prostředků Azure pomocí random_pet
- Vytvoření skupiny prostředků Azure pomocí azurerm_resource_group
- Vytvoření náhodné hodnoty pomocí random_string
- Vytvoření účtu Azure Storage pomocí azurerm_storage_account
- Vytvoření účtu Azure Batch pomocí azurerm_batch_account
Požadavky
Implementace kódu Terraformu
Poznámka:
Vzorový kód pro tento článek se nachází v úložišti GitHubu Azure Terraformu. Můžete zobrazit soubor protokolu obsahující výsledky testu z aktuálních a předchozích verzí Terraformu.
Další články a ukázkový kód ukazující použití Terraformu ke správě prostředků Azure
Vytvořte adresář, ve kterém chcete otestovat a spustit ukázkový kód Terraformu a nastavit ho jako aktuální adresář.
Vytvořte soubor s názvem
providers.tfa vložte následující kód:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Vytvořte soubor s názvem
main.tfa vložte následující kód:resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { name = random_pet.rg_name.id location = var.resource_group_location } resource "random_string" "azurerm_storage_account_name" { length = 13 lower = true numeric = false special = false upper = false } resource "random_string" "azurerm_batch_account_name" { length = 13 lower = true numeric = false special = false upper = false } resource "azurerm_storage_account" "storage" { name = "storage${random_string.azurerm_storage_account_name.result}" resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location account_tier = element(split("_", var.storage_account_type), 0) account_replication_type = element(split("_", var.storage_account_type), 1) } resource "azurerm_batch_account" "batch" { name = "batch${random_string.azurerm_batch_account_name.result}" resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location storage_account_id = azurerm_storage_account.storage.id storage_account_authentication_mode = "StorageKeys" }Vytvořte soubor s názvem
variables.tfa vložte následující kód:variable "resource_group_location" { type = string default = "eastus" description = "Location for all resources." } 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." } variable "storage_account_type" { type = string default = "Standard_LRS" description = "Azure Storage account type." validation { condition = contains(["Premium_LRS", "Premium_ZRS", "Standard_GRS", "Standard_GZRS", "Standard_LRS", "Standard_RAGRS", "Standard_RAGZRS", "Standard_ZRS"], var.storage_account_type) error_message = "Invalid storage account type. The value should be one of the following: 'Premium_LRS','Premium_ZRS','Standard_GRS','Standard_GZRS','Standard_LRS','Standard_RAGRS','Standard_RAGZRS','Standard_ZRS'." } }Vytvořte soubor s názvem
outputs.tfa vložte následující kód:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "batch_name" { value = azurerm_batch_account.batch.name } output "storage_name" { value = azurerm_storage_account.storage.name }
Inicializujte Terraform
Spusťte terraform init pro inicializaci nasazení Terraformu. Tento příkaz stáhne poskytovatele Azure potřebného ke správě prostředků Azure.
terraform init -upgrade
klíčové body:
- Parametr
-upgradeaktualizuje potřebné pluginy poskytovatele na nejnovější verzi, která odpovídá verzním omezením konfigurace.
Vytvoření plánu provádění Terraformu
Spusťte terraform plan pro vytvoření plánu provádění.
terraform plan -out main.tfplan
klíčové body:
- Příkaz
terraform planvytvoří plán provádění, ale nespustí ho. Místo toho určuje, jaké akce jsou nezbytné k vytvoření konfigurace zadané v konfiguračních souborech. Tento model umožňuje ověřit, jestli plán provádění odpovídá vašim očekáváním, než provede jakékoli změny skutečných prostředků. - Volitelný
-outparametr umožňuje zadat výstupní soubor pro plán. Použití parametru-outzajišťuje, že vámi zkontrolovaný plán je přesně tím, co bude aplikován.
Implementujte plán Terraformu
Spusťte terraform apply pro aplikaci výkonného plánu na vaši cloudovou infrastrukturu.
terraform apply main.tfplan
klíčové body:
-
terraform applyUkázkový příkaz předpokládá, že jste dříve spustiliterraform plan -out main.tfplan. - Pokud jste pro
-outparametr zadali jiný název souboru, použijte stejný název souboru při voláníterraform apply. - Pokud jste parametr nepoužíli
-out, zavolejteterraform applybez parametrů.
Ověření výsledků
Získejte název skupiny prostředků Azure.
resource_group_name=$(terraform output -raw resource_group_name)Získejte název účtu Batch.
batch_name=$(terraform output -raw batch_name)Spuštěním příkazu az batch account show zobrazte informace o novém účtu Batch.
az batch account show \ --resource-group $resource_group_name \ --name $batch_name
Upravte zdroje
Pokud už prostředky vytvořené přes Terraform nepotřebujete, proveďte následující kroky:
Spusťte terraform plan a určete příznak
destroy.terraform plan -destroy -out main.destroy.tfplanklíčové body:
- Příkaz
terraform planvytvoří plán provádění, ale nespustí ho. Místo toho určuje, jaké akce jsou nezbytné k vytvoření konfigurace zadané v konfiguračních souborech. Tento model umožňuje ověřit, jestli plán provádění odpovídá vašim očekáváním, než provede jakékoli změny skutečných prostředků. - Volitelný
-outparametr umožňuje zadat výstupní soubor pro plán. Použití parametru-outzajišťuje, že vámi zkontrolovaný plán je přesně tím, co bude aplikován.
- Příkaz
Spusťte terraform apply pro provedení plánu.
terraform apply main.destroy.tfplan
Řešení potíží s Terraformem v Azure
Řešení běžných problémů při používání Terraformu v Azure