Gyakorlat – Újraindítási viselkedés szabályozása

Befejeződött

A tárolók Azure Container Instances szolgáltatásban való üzembe helyezésének egyszerűsége és gyorsasága olyan egyszer futó feladatokat végrehajtását segíti elő, mint a képrenderelés vagy alkalmazások létrehozása és tesztelése.

A konfigurálható újraindítási szabályzat segítségével megadhatja, hogy a tárolók leálljanak, amikor a folyamataik befejeződtek. Mivel a tárolópéldányok számlázása másodpercalapú, csak azokért a számítási erőforrásokért kell díjat fizetnie, amelyek használatban voltak, amikor a feladatot végrehajtó tároló futott.

Mik azok a tároló-újraindítási szabályzatok?

Az Azure Container Instances háromféle újraindítási szabályzatot kínál:

Újraindítási szabályzat Leírás
Mindig A tárolócsoportban lévő tárolókat a rendszer mindig újraindítja. Ez a szabályzat a webkiszolgálóhoz hasonló, hosszú ideig futó feladatokhoz használható. Ez a beállítás az alapértelmezett beállítás, ha nincs megadva újraindítási szabályzat a tároló létrehozásakor.
Soha nem A tárolócsoportban lévő tárolókat a rendszer sosem indítja újra. A tárolók csak egyszer futnak.
OnFailure (Hiba esetén) A tárolócsoportban lévő tárolókat a rendszer csak akkor indítja újra, ha a tárolóban végrehajtott folyamat meghiúsult (azaz nullától eltérő kilépési kóddal zárul). A tárolók legalább egyszer futnak. Ez a szabályzat rövid feladatokat futtató tárolókhoz ideális.

Egy tároló futtatása végrehajtásig

Az újraindítási szabályzat működés közbeni megtekintéséhez hozzon létre egy tárolópéldányt az azuredocs/aci-wordcount tárolórendszerképből, és adja meg az OnFailure újraindítási házirendet. Ez a tároló egy Python-szkriptet futtat, amely elemzi Shakespeare Hamletjének szövegét, kiírja a 10 leggyakoribb szót a sztenderd kimenetbe, majd kilép.

  1. Futtassa ezt a az container create parancsot a tároló elindításához:

    az container create \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer-restart-demo \
      --image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
      --restart-policy OnFailure \
      --location eastus
    

    Az Azure Container Instances elindítja a tárolót, majd leállítja, amikor a folyamata (vagy ebben az esetben a szkript) kilép. Amikor az Azure Container Instances leállít egy tárolót, amelynek az újraindítási szabályzata Never (Soha) vagy OnFailure (Meghiúsulás esetén), a tároló állapota Terminated (Leállított) lesz.

  2. Futtassa az container show a tároló állapotát:

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer-restart-demo \
      --query "containers[0].instanceView.currentState.state"
    

    Ismételje meg a parancsot mindaddig, míg Kilépett állapotba nem kerül.

  3. Futtassa az container logs a tároló naplóinak megtekintését a kimenet vizsgálatához:

    az container logs \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer-restart-demo
    

    A következő kimenet jelenik meg:

    [('the', 990),
     ('and', 702),
     ('of', 628),
     ('to', 610),
     ('I', 544),
     ('you', 495),
     ('a', 453),
     ('my', 441),
     ('in', 399),
     ('HAMLET', 386)]