Megosztás a következőn keresztül:


Rövid útmutató: Azure Batch-fiók létrehozása a Terraform használatával

Kezdje el az Azure Batch szolgáltatást a Terraform használatával a Batch-fiók létrehozásához, beleértve a tárhelyet is. Számítási erőforrások (számítási csomópontok készletei) és Batch-feladatok létrehozásához Batch-fiókra van szükség. Egy Azure Storage-fiókot összekapcsolhat a Batch-fiókjával. Ez a párosítás hasznos az alkalmazások telepítéséhez és a bemeneti és kimeneti adatok tárolásához a legtöbb valós munkaterhelés esetében.

A rövid útmutató elvégzése után megismerheti a Batch szolgáltatás alapvető fogalmait, és készen áll arra, hogy nagyobb léptékben próbálja ki a Batchet reálisabb számítási feladatokkal.

Terraform lehetővé teszi a felhőinfrastruktúra definícióját, előnézetét és üzembe helyezését. A Terraform használatával konfigurációs fájlokat hozhat létre HCL-szintaxissal. A HCL szintaxissal megadhatja a felhőszolgáltatót – például az Azure-t – és a felhőinfrastruktúra elemeit. A konfigurációs fájlok létrehozása után létrehoz egy végrehajtási tervet , amely lehetővé teszi az infrastruktúra változásainak előzetes megtekintését az üzembe helyezés előtt. A módosítások ellenőrzése után alkalmazza a végrehajtási tervet az infrastruktúra üzembe helyezésére.

Ebből a cikkből megtudhatja, hogyan:

  • Véletlenszerű érték létrehozása az Azure-erőforráscsoport nevének random_pet használatával
  • Hozz létre egy Azure-erőforráscsoportot az azurerm_resource_group használatával
  • Hozzon létre egy véletlenszerű értéket a random_string használatával
  • Hozzon létre egy Azure Storage-fiókot az azurerm_storage_account használatával.
  • Hozzon létre egy Azure Batch fiókot a azurerm_batch_account használatával.

Előfeltételek

A Terraform-kód implementálása

Megjegyzés:

A cikk mintakódja az Azure Terraform GitHub-adattárban található. Megtekintheti a Terraform aktuális és korábbi verzióinak teszteredményeit tartalmazó naplófájlt.

További cikkek és mintakód, amelyek bemutatják, hogyan használható a Terraform az Azure-erőforrások kezelésére

  1. Hozzon létre egy könyvtárat, amelyben tesztelheti és futtathatja a Terraform-mintakódot, és az aktuális könyvtárá teheti.

  2. Hozzon létre egy providers.tf nevű fájlt, és szúrja be a következő kódot:

    terraform {
      required_version = ">=1.0"
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~>3.0"
        }
        random = {
          source  = "hashicorp/random"
          version = "~>3.0"
        }
      }
    }
    provider "azurerm" {
      features {}
    }
    
  3. Hozzon létre egy main.tf nevű fájlt, és szúrja be a következő kódot:

    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"
    }
    
  4. Hozzon létre egy variables.tf nevű fájlt, és szúrja be a következő kódot:

    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'."
      }
    }
    
  5. Hozzon létre egy outputs.tf nevű fájlt, és szúrja be a következő kódot:

    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
    }
    

Inicializálja a Terraformot

Futtassa a Terraform init parancsot a Terraform üzembe helyezésének inicializálásához. Ez a parancs letölti az Azure-erőforrások kezeléséhez szükséges Azure-szolgáltatót.

terraform init -upgrade

Főbb pontok:

  • A -upgrade paraméter frissíti a szükséges szolgáltatói beépülő modulokat a legújabb verzióra, amely megfelel a konfiguráció verziókorlátozásainak.

Terraform végrehajtási terv létrehozása

Végrehajtási terv létrehozásához futtassa a Terraform-tervet .

terraform plan -out main.tfplan

Főbb pontok:

  • A terraform plan parancs létrehoz egy végrehajtási tervet, de nem hajtja végre. Ehelyett meghatározza, hogy milyen műveletek szükségesek a konfigurációs fájlokban megadott konfiguráció létrehozásához. Ez a minta lehetővé teszi annak ellenőrzését, hogy a végrehajtási terv megfelel-e az elvárásainak, mielőtt módosítanák a tényleges erőforrásokat.
  • Az opcionális -out paraméter lehetővé teszi a terv kimeneti fájljának megadását. A -out paraméter használatával biztosítható, hogy az ön által áttekintett terv pontosan az alkalmazott legyen.

A Terraform végrehajtási terv alkalmazása

Futtassa terraform apply parancsot a végrehajtási terv felhőinfrastruktúrára történő alkalmazásához.

terraform apply main.tfplan

Főbb pontok:

  • A példaparancs terraform apply feltételezi, hogy korábban lefuttattad a terraform plan -out main.tfplan parancsot.
  • Ha másik fájlnevet adott meg a -out paraméterhez, használja ugyanazt a fájlnevet a terraform applyhívásában.
  • Ha nem használta a -out paramétert, hívja meg a terraform apply paraméterek nélkül.

Az eredmények ellenőrzése

  1. Kérje le az Azure-erőforráscsoport nevét.

    resource_group_name=$(terraform output -raw resource_group_name)
    
  2. Szerezze be a Batch-fiók nevét.

    batch_name=$(terraform output -raw batch_name)
    
  3. Futtassa a az batch account show parancsot az új Batch fiókról szóló információ megjelenítéséhez.

    az batch account show \
        --resource-group $resource_group_name \
        --name $batch_name
    

Erőforrások tisztítása

Ha már nincs szüksége a Terraformon keresztül létrehozott erőforrásokra, hajtsa végre az alábbi lépéseket:

  1. Futtassa a terraform plan parancsot, és határozza meg a destroy jelzőt.

    terraform plan -destroy -out main.destroy.tfplan
    

    Főbb pontok:

    • A terraform plan parancs létrehoz egy végrehajtási tervet, de nem hajtja végre. Ehelyett meghatározza, hogy milyen műveletek szükségesek a konfigurációs fájlokban megadott konfiguráció létrehozásához. Ez a minta lehetővé teszi annak ellenőrzését, hogy a végrehajtási terv megfelel-e az elvárásainak, mielőtt módosítanák a tényleges erőforrásokat.
    • Az opcionális -out paraméter lehetővé teszi a terv kimeneti fájljának megadását. A -out paraméter használatával biztosítható, hogy az ön által áttekintett terv pontosan az alkalmazott legyen.
  2. A végrehajtási terv alkalmazásához futtassa a terraform apply parancsot.

    terraform apply main.destroy.tfplan
    

A Terraform hibaelhárítása az Azure-ban

A Terraform Azure-beli használatakor felmerülő gyakori problémák elhárítása

Következő lépések