Rövid útmutató: Tárolópéldány üzembe helyezése az Azure-ban ARM-sablon használatával

Az Azure Container Instances segítségével egyszerűen és gyorsan futtathat kiszolgáló nélküli Docker-tárolókat az Azure-ban. Igény szerint üzembe helyezhet alkalmazásokat a tárolópéldányokon, és nem kell teljes körű tárolóvezérlési platformot használnia (amilyen például az Azure Kubernetes Service). Ebben a rövid útmutatóban egy Azure Resource Manager-sablont (ARM-sablont) használ egy izolált Docker-tároló üzembe helyezéséhez, és elérhetővé teszi a webalkalmazást egy nyilvános IP-címmel.

Az Azure Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. Az üzembe helyezés létrehozásához szükséges programozási parancsok sorozatának megírása nélkül írhatja le a tervezett üzembe helyezést.

Ha a környezet megfelel az előfeltételeknek, és már ismeri az ARM-sablonokat, kattintson az Üzembe helyezés az Azure-ban gombra. A sablon az Azure Portalon fog megnyílni.

Button to deploy the Resource Manager template to Azure.

Előfeltételek

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

A sablon áttekintése

Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.26.54.24096",
      "templateHash": "15999594271314721416"
    }
  },
  "parameters": {
    "name": {
      "type": "string",
      "defaultValue": "acilinuxpublicipcontainergroup",
      "metadata": {
        "description": "Name for the container group"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "image": {
      "type": "string",
      "defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld",
      "metadata": {
        "description": "Container image to deploy. Should be of the form repoName/imagename:tag for images stored in public Docker Hub, or a fully qualified URI for other registries. Images from private registries require additional registry credentials."
      }
    },
    "port": {
      "type": "int",
      "defaultValue": 80,
      "metadata": {
        "description": "Port to open on the container and the public IP address."
      }
    },
    "cpuCores": {
      "type": "int",
      "defaultValue": 1,
      "metadata": {
        "description": "The number of CPU cores to allocate to the container."
      }
    },
    "memoryInGb": {
      "type": "int",
      "defaultValue": 2,
      "metadata": {
        "description": "The amount of memory to allocate to the container in gigabytes."
      }
    },
    "restartPolicy": {
      "type": "string",
      "defaultValue": "Always",
      "allowedValues": [
        "Always",
        "Never",
        "OnFailure"
      ],
      "metadata": {
        "description": "The behavior of Azure runtime if container has stopped."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerInstance/containerGroups",
      "apiVersion": "2023-05-01",
      "name": "[parameters('name')]",
      "location": "[parameters('location')]",
      "properties": {
        "containers": [
          {
            "name": "[parameters('name')]",
            "properties": {
              "image": "[parameters('image')]",
              "ports": [
                {
                  "port": "[parameters('port')]",
                  "protocol": "TCP"
                }
              ],
              "resources": {
                "requests": {
                  "cpu": "[parameters('cpuCores')]",
                  "memoryInGB": "[parameters('memoryInGb')]"
                }
              }
            }
          }
        ],
        "osType": "Linux",
        "restartPolicy": "[parameters('restartPolicy')]",
        "ipAddress": {
          "type": "Public",
          "ports": [
            {
              "port": "[parameters('port')]",
              "protocol": "TCP"
            }
          ]
        }
      }
    }
  ],
  "outputs": {
    "name": {
      "type": "string",
      "value": "[parameters('name')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))]"
    },
    "containerIPv4Address": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name')), '2023-05-01').ipAddress.ip]"
    },
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    }
  }
}

A sablon a következő erőforrást definiálja:

További Azure Container Instances-sablonminták a rövid útmutató sablongyűjteményében találhatók.

A sablon üzembe helyezése

  1. Kattintson az alábbi gombra az Azure-ba való bejelentkezéshez és egy sablon megnyitásához. A sablon létrehoz egy beállításjegyzéket és egy replikát egy másik helyen.

    Button to deploy the Resource Manager template to Azure.

  2. Válassza ki vagy adja meg a következő értékeket.

    • Előfizetés: válasszon ki egy Azure-előfizetést.
    • Erőforráscsoport: válassza az Új létrehozása lehetőséget, adjon meg egy egyedi nevet az erőforráscsoportnak, majd kattintson az OK gombra.
    • Hely: válasszon egy helyet az erőforráscsoportnak. Példa: USA középső régiója.
    • Név: fogadja el a példány létrehozott nevét, vagy adjon meg egy nevet.
    • Kép: fogadja el az alapértelmezett képnevet. Ez a linuxos mintakép egy Node.js írt kis webalkalmazást tartalmaz, amely statikus HTML-oldalt szolgál ki.

    Fogadja el a fennmaradó tulajdonságok alapértelmezett értékeit.

    Tekintse át a használati feltételeket. Ha elfogadja, válassza az Elfogadom a fenti feltételeket.

    Template properties

  3. A példány sikeres létrehozása után értesítést kap:

    Portal notification

Az Azure Portalon helyezhető üzembe a sablon. Az Azure Portalon kívül használhatja az Azure PowerShellt, az Azure CLI-t és a REST API-t is. Az egyéb üzembehelyezési módszerekről a Sablonok üzembe helyezése című témakörben olvashat.

Üzembe helyezett erőforrások áttekintése

A tárolópéldány tulajdonságainak áttekintéséhez használja az Azure Portalt vagy egy eszközt, például az Azure CLI-t .

  1. A portálon keresse meg a tárolópéldányokat, és válassza ki a létrehozott tárolópéldányt.

  2. Az Áttekintés lapon jegyezze fel a példány állapotát és IP-címét.

    Instance overview

  3. Ha az állapota fut, keresse meg a böngészőben az IP-címet.

    App deployed using Azure Container Instances viewed in browser

Tárolónaplók megtekintése

A tárolópéldányok naplóinak megtekintése hasznos lehet a tárolóval vagy az azon futtatott alkalmazással kapcsolatos hibák elhárítása során.

A tároló naplóinak megtekintéséhez a Gépház alatt válassza a Tárolónaplók> lehetőséget. Látnia kell a HTTP GET kérést is, amely akkor jött létre, amikor megtekintette az alkalmazást a böngészőjében.

Container logs in the Azure portal

Az erőforrások eltávolítása

Ha végzett a tárolóval, a tárolópéldány Áttekintés lapján válassza a Törlés lehetőséget. A rendszer kérésére erősítse meg a törlést.

Következő lépések

Ebben a rövid útmutatóban létrehozott egy Azure-tárolópéldányt egy nyilvános Microsoft-rendszerképből. Ha szeretne létrehozni és üzembe helyezni egy tárolórendszerképet egy privát Azure-tárolóregisztrációs adatbázisból, lépjen tovább az Azure Container Instances oktatóanyagára.

A sablon létrehozásának folyamatán végigvezető részletes oktatóanyagért lásd: