Incorporación de una imagen personalizada a una plantilla de un conjunto de escalado de Azure

Nota:

En este documento se tratan los conjuntos de escalado de máquinas virtuales que se ejecutan en modo de orquestación uniforme. Se recomienda usar la orquestación flexible para las cargas de trabajo nuevas. Para obtener más información, consulte Modos de orquestación para los conjuntos de escalado de máquinas virtuales de Azure.

Este artículo le enseña cómo modificar la plantilla de conjunto de escalado básico para implementarla a partir de una imagen personalizada.

Cambio de la definición de la plantilla

En un artículo anterior creamos una plantilla de conjunto de escalado básico. Ahora usaremos esa plantilla anterior y la modificaremos para crear una plantilla que implementa un conjunto de escalado a partir de una imagen personalizada.

Creación de una imagen de disco administrado

Si ya tiene una imagen de disco administrado personalizada (un recurso del tipo Microsoft.Compute/images), puede omitir esta sección.

En primer lugar, agregue un parámetro sourceImageVhdUri, que es el identificador URI del blob generalizado de Azure Storage que contiene la imagen personalizada desde la que se va a realizar la implementación.

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

A continuación, agregue un recurso de tipo Microsoft.Compute/images, que es la imagen de disco administrado basada en el blob generalizado ubicado en el URI sourceImageVhdUri. Esta imagen debe estar en la misma región que el conjunto de escalado que la utilice. En las propiedades de la imagen, especifique el tipo de sistema operativo, la ubicación del blob (desde el parámetro sourceImageVhdUri) y el tipo de cuenta de almacenamiento:

   "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]",

En el recurso del conjunto de escalado, agregue una cláusula dependsOn que haga referencia a la imagen personalizada para garantizar que la imagen se crea antes de que el conjunto de escalado se intente implementar desde ella:

       "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",

Cambio en las propiedades del conjunto de escalado para usar la imagen de disco administrado

En imageReference del conjunto de escalado storageProfile, en lugar de especificar el publicador, la oferta, la SKU y la versión de una imagen de la plataforma, especifique el id del recurso Microsoft.Compute/images:

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

En este ejemplo, use la función resourceId para obtener el identificador de recurso de la imagen que se creó en la misma plantilla. Si ha creado la imagen de disco administrado con antelación, deberá proporcionar el identificador de esa imagen en su lugar. Este identificador debe tener el formato: /subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Compute/images/<image-name>.

Pasos siguientes

Para implementar la plantilla anterior, siga la documentación de Azure Resource Manager.

Puede iniciar esta serie de tutoriales con el artículo Más información sobre las plantillas de conjuntos de escalado de máquinas virtuales.

Puede ver cómo modificar la plantilla de conjunto de escalado básico para implementar el conjunto de escalado en una red virtual existente.

Puede ver cómo modificar la plantilla de conjunto de escalado básico para implementar el conjunto de escalado con una imagen personalizada.

Puede ver cómo modificar la plantilla de conjunto de escalado básico para implementar un conjunto de escalado de Linux con escalabilidad automática basada en invitados.

Para obtener más información sobre los conjuntos de escalado, vea la página de información general sobre los conjuntos de escalado.