Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kom igång med Azure Batch med hjälp av Terraform för att skapa ett Batch-konto och inkludera lagring. Du behöver ett Batch-konto för att skapa beräkningsresurser (pooler med beräkningsnoder) och Batch-jobb. Du kan länka ett Azure Storage-konto till ditt Batch-konto. Den här parkopplingen är användbar för att distribuera program och lagra indata och utdata för de flesta verkliga arbetsbelastningar.
När du har slutfört den här snabbstarten kommer du att förstå de viktigaste begreppen i Batch-tjänsten och vara redo att prova Batch med mer realistiska arbetsbelastningar i större skala.
Terraform möjliggör definition, förhandsversion och distribution av molninfrastruktur. Med Terraform skapar du konfigurationsfiler med hjälp av HCL-syntax. Med HCL-syntaxen kan du ange molnleverantören – till exempel Azure – och de element som utgör din molninfrastruktur. När du har skapat konfigurationsfilerna skapar du en körningsplan som gör att du kan förhandsgranska ändringarna i infrastrukturen innan de distribueras. När du har verifierat ändringarna tillämpar du genomförandeplanen för att implementera infrastrukturen.
I den här artikeln lär du dig att:
- Skapa ett slumpmässigt värde för Azure-resursgruppens namn med hjälp av random_pet
 - Skapa en Azure-resursgrupp med hjälp av azurerm_resource_group
 - Skapa ett slumpmässigt värde med hjälp av random_string
 - Skapa ett Azure Storage-konto med hjälp av azurerm_storage_account
 - Skapa ett Azure Batch-konto med azurerm_batch_account
 
Förutsättningar
Implementera koden med Terraform
Anmärkning
Exempelkoden för den här artikeln finns på Azure Terraform GitHub-lagringsplatsen. Du kan visa loggfilen som innehåller testresultaten från aktuella och tidigare versioner av Terraform.
Se fler artiklar och exempelkod som visar hur du använder Terraform för att hantera Azure-resurser
Skapa en katalog där du kan testa och köra Terraform-exempelkoden och göra den till den aktuella katalogen.
Skapa en fil med namnet
providers.tfoch infoga följande kod:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Skapa en fil med namnet
main.tfoch infoga följande kod: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" }Skapa en fil med namnet
variables.tfoch infoga följande kod: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'." } }Skapa en fil med namnet
outputs.tfoch infoga följande kod: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 }
Initiera Terraform
Kör terraform init för att initiera Terraform-distributionen. Det här kommandot laddar ned den Azure-provider som krävs för att hantera dina Azure-resurser.
terraform init -upgrade
Viktiga punkter:
- Parametern 
-upgradeuppgraderar nödvändiga provider-plugin-program till den senaste versionen som uppfyller konfigurationens versionsbegränsningar. 
Skapa en Terraform-exekveringsplan
Kör terraform plan för att skapa en utförandeplan.
terraform plan -out main.tfplan
Viktiga punkter:
- Kommandot 
terraform planskapar en utförandeplan, men utför den inte. I stället avgör den vilka åtgärder som krävs för att skapa den konfiguration som anges i konfigurationsfilerna. Med det här mönstret kan du kontrollera om åtgärdsplanen stämmer överens med dina förväntningar innan du gör några ändringar i faktiska resurser. - Med den valfria parametern 
-outkan du ange en utdatafil för planen. Med hjälp av parametern-outser du till att den plan som du har granskat är exakt vad som tillämpas. 
Tillämpa en Terraform-utförandeplan
Kör terraform apply för att tillämpa utförandeplanen på din molnbaserade infrastruktur.
terraform apply main.tfplan
Viktiga punkter:
- 
              
terraform applyExempelkommandot förutsätter att du tidigare kördeterraform plan -out main.tfplan. - Om du har angett ett annat filnamn för parametern 
-outanvänder du samma filnamn i anropet tillterraform apply. - Om du inte använde parametern 
-outanropar duterraform applyutan några parametrar. 
Verifiera resultatet
Hämta namnet på Azure-resursgruppen.
resource_group_name=$(terraform output -raw resource_group_name)Hämta Batch-kontonamnet.
batch_name=$(terraform output -raw batch_name)Kör az batch account show för att visa information om det nya Batch-kontot.
az batch account show \ --resource-group $resource_group_name \ --name $batch_name
Rensa resurser
Gör följande när du inte längre behöver de resurser som skapats via Terraform:
Kör terraform plan och specificera flaggan
destroy.terraform plan -destroy -out main.destroy.tfplanViktiga punkter:
- Kommandot 
terraform planskapar en utförandeplan, men utför den inte. I stället avgör den vilka åtgärder som krävs för att skapa den konfiguration som anges i konfigurationsfilerna. Med det här mönstret kan du kontrollera om åtgärdsplanen stämmer överens med dina förväntningar innan du gör några ändringar i faktiska resurser. - Med den valfria parametern 
-outkan du ange en utdatafil för planen. Med hjälp av parametern-outser du till att den plan som du har granskat är exakt vad som tillämpas. 
- Kommandot 
 Kör terraform apply för att tillämpa genomförandeplanen.
terraform apply main.destroy.tfplan
Felsöka Terraform i Azure
Felsöka vanliga problem när du använder Terraform i Azure