Megbízhatóság az Azure Container Instancesben

Fontos

Ez a szolgáltatás jelenleg előzetes kiadásban elérhető. Az előzetes verziók azzal a feltétellel érhetők el, hogy Ön beleegyezik a kiegészítő használati feltételekbe.

Ez a cikk az Azure Container Instances (ACI) megbízhatósági támogatását ismerteti, és ismerteti a régión belüli rugalmasságot a rendelkezésre állási zónákkal és a vészhelyreállítással kapcsolatos információkat. Az Azure-beli megbízhatóság részletesebb áttekintéséhez tekintse meg az Azure megbízhatóságát.

Rendelkezésre állási zóna támogatása

Az Azure rendelkezésre állási zónái legalább három fizikailag különálló adatközpont-csoport az egyes Azure-régiókban. Az egyes zónákban lévő adatközpontok független energiaellátási, hűtési és hálózati infrastruktúrával rendelkeznek. Helyi zónahiba esetén a rendelkezésre állási zónák úgy vannak kialakítva, hogy az egy zóna érintettsége esetén a fennmaradó két zóna támogassa a regionális szolgáltatásokat, a kapacitást és a magas rendelkezésre állást.

A hibák a szoftver- és hardverhibáktól az olyan eseményekig terjedhetnek, mint a földrengések, árvizek és tűzesetek. A hibáktól való tolerancia az Azure-szolgáltatások redundanciával és logikai elkülönítésével érhető el. Az Azure-beli rendelkezésre állási zónákkal kapcsolatos részletesebb információkért tekintse meg a Régiók és a rendelkezésre állási zónák című témakört.

Az Azure rendelkezésre állási zónákkal kompatibilis szolgáltatások a megfelelő megbízhatósági és rugalmassági szintet biztosítják. Ezek kétféleképpen konfigurálhatók. Ezek lehetnek zónaredundánsak, a zónák közötti automatikus replikációval vagy a zónák közötti automatikus replikációval, egy adott zónába rögzített példányokkal. Ezeket a megközelítéseket kombinálhatja is. A zónaredundáns és a zónaredundáns architektúrával kapcsolatos további információkért tekintse meg a rendelkezésre állási zónák és régiók Javaslatok.

Az Azure Container Instances támogatja a zónaalapú tárolócsoportok üzembe helyezését, ami azt jelenti, hogy a példány egy adott, ön által kiválasztott rendelkezésre állási zónába van rögzítve. A rendelkezésre állási zóna a tárolócsoport szintjén van megadva. A tárolócsoporton belüli tárolók nem rendelkezhetnek egyedi rendelkezésre állási zónákkal. A tárolócsoport rendelkezésre állási zónájának módosításához törölnie kell a tárolócsoportot, és létre kell hoznia egy másik tárolócsoportot az új rendelkezésre állási zónával.

Előfeltételek

Fontos

Ez a funkció jelenleg nem érhető el az Azure Portalon.

  • A zónaalapú tárolócsoportok üzembe helyezése a legtöbb régióban támogatott, ahol az ACI linuxos és Windows Server 2019-tárolócsoportokhoz érhető el. További részletekért tekintse meg a Régiók és az erőforrások rendelkezésre állása című témakört.
  • Az Azure CLI használata esetén győződjön meg arról, hogy a verzió 2.30.0 vagy újabb verzió telepítve van.
  • Ha a PowerShellt használja, győződjön meg arról, hogy a verzió 2.1.1-preview vagy újabb verzió telepítve van.
  • Ha a Java SDK-t használja, győződjön meg arról, hogy a verzió 2.9.0 vagy újabb verzió telepítve van.
  • A rendelkezésre állási zóna támogatása csak az ACI API-verzióban vagy újabb verziókban 09-01-2021 érhető el.

Fontos

A GPU-erőforrásokkal rendelkező tárolócsoportok jelenleg nem támogatják a rendelkezésre állási zónákat.

Rendelkezésre állási zóna ismételt üzembe helyezése és migrálása

A tárolócsoport rendelkezésre állási zónájának módosításához törölnie kell a tárolócsoportot, és létre kell hoznia egy másik tárolócsoportot az új rendelkezésre állási zónával.

Erőforrás létrehozása engedélyezett rendelkezésre állási zónával

Ha olyan tárolópéldány-erőforrást szeretne létrehozni, amelyen engedélyezve van a rendelkezésre állási zóna, üzembe kell helyeznie egy tárolócsoportot egy Azure Resource Manager-sablon (ARM) használatával.

Feljegyzés

A cikkben szereplő példák a Bash-rendszerhéjhoz vannak formázva. Ha egy másik rendszerhéjat szeretne használni, ennek megfelelően állítsa be a sor folytatási karaktereit.

Tároló üzembe helyezése ARM-lel:

  1. Másolja be a következő JSON-fájlt egy új, elnevezett azuredeploy.jsonfájlba. Ez a példasablon egyetlen tárolóval rendelkező tárolócsoportot helyez üzembe az USA keleti régiójában, az 1. rendelkezésre állási zónában.

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "metadata": {
            "_generator": {
                "name": "bicep",
                "version": "0.4.1.14562",
                "templateHash": "12367894147709986470"
            }
        },
        "parameters": {
            "name": {
                "type": "string",
                "defaultValue": "acilinuxpublicipcontainergroup",
                "metadata": {
                    "description": "Name for the container group"
                }
            },
            "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."
                }
            },
            "location": {
                "type": "string",
                "defaultValue": "eastus",
                "metadata": {
                    "description": "Location for all resources."
                }
            }
        },
        "functions": [],
        "resources": [
            {
                "type": "Microsoft.ContainerInstance/containerGroups",
                "apiVersion": "2021-09-01",
                "zones": [
                    "1"
                ],
                "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": {
            "containerIPv4Address": {
                "type": "string",
                "value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))).ipAddress.ip]"
            }
        }
    }
    
  2. Hozzon létre egy erőforráscsoportot az [az group create][availability-zones-group-create] paranccsal:

    az group create --name myResourceGroup --location eastus
    
  3. A sablon üzembe helyezése az az deployment group create paranccsal:

    az deployment group create \
      --resource-group myResourceGroup \
      --template-file azuredeploy.json
    
  4. A rendelkezésre állási zónában sikeresen üzembe helyezett tárolócsoport ellenőrzéséhez tekintse meg a tárolócsoport adatait az az container show paranccsal:

    az containershow --name acilinuxcontainergroup --resource-group myResourceGroup
    

Zonal feladatátvétel támogatása

A tárolópéldányok tárolócsoportja egyetlen rendelkezésre állási zónához van rendelve. Ennek eredményeképpen a tárolópéldányok csoportjára nem lesz hatással az ugyanazon régió bármely más rendelkezésre állási zónájában bekövetkező üzemkimaradás

Ha azonban kimaradás történik a tárolócsoport rendelkezésre állási zónájában, akkor az adott csoporton belüli összes tárolópéldány leállása várható.

A tárolópéldányok állásidejének elkerülése érdekében javasoljuk, hogy hozzon létre legalább két tárolócsoportot egy adott régió két különböző rendelkezésre állási zónájában. Ez biztosítja, hogy a tárolópéldány erőforrásai mindig működjön, amikor az adott régió egyetlen zónája leáll.

Vészhelyreállítás

Amikor egy teljes Azure-régió vagy adatközpont állásidőt tapasztal, a kritikus fontosságú kódnak egy másik régióban kell folytatnia a feldolgozást. A zonális konfigurációval üzembe helyezett Azure Container Instances egy adott régión belüli adott zónában fut. Nincs elérhető beépített redundancia. A régiószintű kimaradások során a végrehajtás elvesztésének elkerülése érdekében a tárolópéldányokat más régiókban is redundánsan üzembe helyezheti.

Következő lépések