Gyakorlat – Újraindítási viselkedés szabályozása
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.
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.
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.
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)]