Bereitstellen eines Azure Batch-Kontos und zweier Pools mit einer Startaufgabe – Terraform
Artikel
In dieser Schnellstartanleitung erstellen Sie ein Azure Batch-Konto, ein Azure Storage-Konto und zwei Batch-Pools mithilfe von Terraform. Batch ist ein cloudbasierter Auftragsplanungsdienst, der die Verarbeitung großer Datenmengen auf vielen Computern parallelisiert und verteilt. Er wird in der Regel für Aufgaben wie das Rendern von 3D-Grafiken, das Analysieren großer Datasets oder das Verarbeiten von Videos verwendet. In diesem Fall enthalten die erstellten Ressourcen ein Batch-Konto (das die zentrale Organisationsentität für verteilte Verarbeitungsaufgaben ist), ein Storage-Konto zum Speichern der zu verarbeitenden Daten und zwei Batch-Pools, bei denen es sich um Gruppen virtueller Computer handelt, die die Aufgaben ausführen.
Mit Terraform können Sie eine Cloudinfrastruktur definieren, eine Vorschau der Cloudinfrastruktur anzeigen und die Cloudinfrastruktur bereitstellen. Terraform ermöglicht das Erstellen von Konfigurationsdateien mit HCL-Syntax. Mit der HCL-Syntax können Sie den Cloudanbieter (beispielsweise Azure) und die Elemente angeben, aus denen sich Ihre Cloudinfrastruktur zusammensetzt. Nach der Erstellung Ihrer Konfigurationsdateien erstellen Sie einen Ausführungsplan, mit dem Sie eine Vorschau Ihrer Infrastrukturänderungen anzeigen können, bevor diese bereitgestellt werden. Nach der Überprüfung der Änderungen wenden Sie den Ausführungsplan an, um die Infrastruktur bereitzustellen.
Geben Sie die erforderliche Version von Terraform und die erforderlichen Anbieter an.
Definieren Sie den Azure-Anbieter ohne zusätzliche Features.
Definieren Sie Variablen für den Speicherort und das Namenspräfix der Ressourcengruppe.
Generieren Sie einen zufälligen Namen für die Azure-Ressourcengruppe.
Erstellen Sie an einem angegebenen Speicherort eine Ressourcengruppe mit dem generierten Namen.
Generieren Sie eine zufällige Zeichenfolge für den Namen des Storage-Kontos.
Erstellen Sie ein Storage-Konto mit dem generierten Namen in der erstellten Ressourcengruppe.
Generieren Sie eine zufällige Zeichenfolge für den Namen des Batch-Kontos.
Erstellen Sie ein Batch-Konto mit dem generierten Namen in der erstellten Ressourcengruppe und verknüpft mit dem erstellten Storage-Konto.
Generieren Sie einen zufälligen Namen für den Batch-Pool.
Erstellen Sie einen Batch-Pool mit einer festen Skalierung in der erstellten Ressourcengruppe und verknüpft mit dem erstellten Batch-Konto.
Erstellen Sie einen Batch-Pool mit Autoskalierung in der erstellten Ressourcengruppe und verknüpft mit dem erstellten Batch-Konto.
Geben Sie die Namen der erstellten Ressourcengruppe, des Storage-Kontos, des Batch-Kontos und beider Batch-Pools aus.
Erstellen Sie eine Datei namens outputs.tf, und fügen Sie den folgenden Code ein:
Terraform
output"resource_group_name" {
value = azurerm_resource_group.rg.name
}
output"storage_account_name" {
value = azurerm_storage_account.example.name
}
output"batch_account_name" {
value = azurerm_batch_account.example.name
}
output"batch_pool_fixed_name" {
value = azurerm_batch_pool.fixed.name
}
output"batch_pool_autopool_name" {
value = azurerm_batch_pool.autopool.name
}
Erstellen Sie eine Datei namens providers.tf, und fügen Sie den folgenden Code ein:
Terraform
terraform {
required_version = ">=1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider"azurerm" {
features {}
}
Erstellen Sie eine Datei namens variables.tf, und fügen Sie den folgenden Code ein:
Terraform
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."
}
Initialisieren von Terraform
Führen Sie zum Initialisieren der Terraform-Bereitstellung terraform init aus. Mit diesem Befehl wird der Azure-Anbieter heruntergeladen, der zum Verwalten Ihrer Azure-Ressourcen erforderlich ist.
Konsole
terraform init -upgrade
Die wichtigsten Punkte:
Der Parameter -upgrade aktualisiert die erforderlichen Anbieter-Plug-Ins auf die neueste Version, die den Versionseinschränkungen der Konfiguration entspricht.
Erstellen eines Terraform-Ausführungsplans
Führen Sie terraform plan aus, um einen Ausführungsplan zu erstellen.
Konsole
terraform plan -out main.tfplan
Die wichtigsten Punkte:
Durch den Befehl terraform plan wird ein Ausführungsplan erstellt, aber nicht ausgeführt. Stattdessen werden die Aktionen ermittelt, die erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an den eigentlichen Ressourcen vornehmen.
Der optionale Parameter -out ermöglicht die Angabe einer Ausgabedatei für den Plan. Durch die Verwendung des Parameters -out wird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.
Anwenden eines Terraform-Ausführungsplans
Führen Sie terraform apply aus, um den Ausführungsplan auf Ihre Cloudinfrastruktur anzuwenden.
Konsole
terraform apply main.tfplan
Die wichtigsten Punkte:
Der Beispielbefehl terraform apply setzt voraus, dass Sie zuvor terraform plan -out main.tfplan ausgeführt haben.
Wenn Sie einen anderen Dateinamen für den Parameter -out angegeben haben, verwenden Sie denselben Dateinamen im Aufruf von terraform apply.
Wenn Sie den Parameter -out nicht verwendet haben, rufen Sie terraform apply ohne Parameter auf.
az batch account show --name<batch_account_name>--resource-group<resource_group_name>
Ersetzen Sie im obigen Befehl <batch_account_name> durch den Namen Ihres Batch-Kontos und <resource_group_name> durch den Namen Ihrer Ressourcengruppe.
Bereinigen von Ressourcen
Wenn Sie die über Terraform erstellten Ressourcen nicht mehr benötigen, führen Sie die folgenden Schritte aus:
Führen Sie terraform plan aus, und geben Sie das Flag destroy an.
Konsole
terraform plan -destroy -out main.destroy.tfplan
Die wichtigsten Punkte:
Durch den Befehl terraform plan wird ein Ausführungsplan erstellt, aber nicht ausgeführt. Stattdessen werden die Aktionen ermittelt, die erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an den eigentlichen Ressourcen vornehmen.
Der optionale Parameter -out ermöglicht die Angabe einer Ausgabedatei für den Plan. Durch die Verwendung des Parameters -out wird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.
Führen Sie zum Anwenden des Ausführungsplans den Befehl terraform apply aus.
Azure Batch is a service that enables you to run large-scale parallel and high-performance computing (HPC) applications efficiently in the cloud. There's no need to manage or configure infrastructure. Just schedule the job, allocate the resources you need, and let Batch take care of the rest.
Azure Batch runs large-scale applications efficiently in the cloud. Schedule compute-intensive tasks and dynamically adjust resources for your solution without managing infrastructure.