Hinzufügen eines benutzerdefinierten Images zu einer Azure-Skalierungsgruppenvorlage

Hinweis

In diesem Dokument geht es um VM-Skalierungsgruppen, die im Modus „Einheitliche Orchestrierung“ ausgeführt werden. Für neue Workloads empfehlen wir den Modus „Flexible Orchestrierung“. Weitere Informationen finden Sie unter Orchestrierungsmodi für VM-Skalierungsgruppen in Azure.

In diesem Artikel erfahren Sie, wie die Vorlage für eine grundlegende Skalierungsgruppe geändert wird, um die Bereitstellung über ein benutzerdefiniertes Image durchzuführen.

Ändern der Vorlagendefinition

In einem vorherigen Artikel haben wir eine grundlegende Vorlage für eine Skalierungsgruppe erstellt. Wir verwenden nun diese frühere Vorlage und ändern sie, um eine Vorlage zu erstellen, die eine Skalierungsgruppe aus einem benutzerdefinierten Image bereitstellt.

Erstellen eines Images für einen verwalteten Datenträger

Wenn bereits ein benutzerdefiniertes Image für einen verwalteten Datenträger (eine Ressource vom Typ Microsoft.Compute/images) vorhanden ist, können Sie diesen Abschnitt überspringen.

Fügen Sie zunächst einen Parameter sourceImageVhdUri hinzu – den URI für das generalisierte Blob in Azure Storage, das das benutzerdefinierte Image für die Bereitstellung enthält.

     },
     "adminPassword": {
       "type": "securestring"
+    },
+    "sourceImageVhdUri": {
+      "type": "string",
+      "metadata": {
+        "description": "The source of the generalized blob containing the custom image"
+      }
     }
   },
   "variables": {},

Fügen Sie als Nächstes eine Ressource vom Typ Microsoft.Compute/images hinzu – das Image für den verwalteten Datenträger basierend auf dem generalisierten Blob unter dem URI sourceImageVhdUri. Dieses Image muss sich in derselben Region befinden wie die Skalierungsgruppe, die es verwendet. Legen Sie in den Eigenschaften des Image den Betriebssystemtyp, den Speicherort des Blobs (über den Parameter sourceImageVhdUri) und den Speicherkontotyp fest:

   "resources": [
     {
+      "type": "Microsoft.Compute/images",
+      "apiVersion": "2019-03-01",
+      "name": "myCustomImage",
+      "location": "[resourceGroup().location]",
+      "properties": {
+        "storageProfile": {
+          "osDisk": {
+            "osType": "Linux",
+            "osState": "Generalized",
+            "blobUri": "[parameters('sourceImageVhdUri')]",
+            "storageAccountType": "Standard_LRS"
+          }
+        }
+      }
+    },
+    {
       "type": "Microsoft.Network/virtualNetworks",
       "name": "myVnet",
       "location": "[resourceGroup().location]",

Fügen Sie in der Skalierungsgruppenressource eine dependsOn-Klausel mit Verweis auf das benutzerdefinierte Image hinzu, um sicherzustellen, dass das Image vor dem Versuch der Skalierungsgruppe, eine Bereitstellung aus diesem durchzuführen, erstellt wird:

       "location": "[resourceGroup().location]",
       "apiVersion": "2019-03-01-preview",
       "dependsOn": [
-        "Microsoft.Network/virtualNetworks/myVnet"
+        "Microsoft.Network/virtualNetworks/myVnet",
+        "Microsoft.Compute/images/myCustomImage"
       ],
       "sku": {
         "name": "Standard_A1",

Ändern der Eigenschaften der Skalierungsgruppe für die Verwendung des Images für den verwalteten Datenträger

Geben Sie im Abschnitt imageReference der Skalierungsgruppe storageProfile nicht Herausgeber, Angebot, SKU und Version eines Plattformimages an, sondern die id der Ressource Microsoft.Compute/images:

  "virtualMachineProfile": {
    "storageProfile": {
      "imageReference": {
        "id": "[resourceId('Microsoft.Compute/images', omImage')]"
      }
    },
    "osProfile": {
      ...
    }
  }

Verwenden Sie in diesem Beispiel die resourceId-Funktion zum Abrufen der Ressourcen-ID des in der gleichen Vorlage erstellten Image. Wenn Sie das Image für den verwalteten Datenträger zuvor erstellt haben, geben Sie stattdessen die ID dieses Image an. Diese ID muss folgendes Format aufweisen: /subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Compute/images/<image-name>.

Nächste Schritte

Eine Anleitung zum Bereitstellen der vorherigen Vorlage finden Sie in der Dokumentation für Azure Resource Manager.

Sie können diese Tutorialreihe über den Artikel zur Vorlage für eine einfache Skalierungsgruppe starten.

Sie erfahren, wie die Vorlage für eine einfache Skalierungsgruppe geändert wird, um die Skalierungsgruppe in einem vorhandenen virtuellen Netzwerk bereitzustellen.

Sie erfahren, wie die Vorlage für eine einfache Skalierungsgruppe geändert wird, um die Skalierungsgruppe mit einem benutzerdefinierten Image bereitzustellen.

Sie erfahren, wie die Vorlage für eine einfache Skalierungsgruppe geändert wird, um eine Linux-Skalierungsgruppe mit gastbasierter automatischer Skalierung bereitzustellen.

Weitere Informationen zu Skalierungsgruppen finden Sie in der Übersicht über Skalierungsgruppen.