Tárolóalapú feladatok futtatása újraindítási szabályzatokkal
A tárolók Azure Container Instances szolgáltatásban való üzembe helyezésének egyszerűsége és gyorsasága kényelmes platformot biztosít, amellyel egy tárolópéldányban hajthat végre olyan egyszer futó feladatokat, mint a létrehozás, a tesztelés és a képrenderelés.
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.
A cikkben bemutatott példák az Azure CLI-t használják. Az Azure CLI 2.0.21-es vagy újabb verziójának helyileg kell telepítve lennie, vagy az Azure Cloud Shell kell használnia a PARANCSSORI-t.
Tároló-újraindítási szabályzat
Amikor létrehoz egy tárolócsoportot Azure Container Instances, megadhatja a három újraindítási házirend-beállítás egyikét.
Újraindítási szabályzat | Leírás |
---|---|
Always |
A tárolócsoportban lévő tárolókat a rendszer mindig újraindítja. Ez az alapértelmezés szerint érvényben lévő beállítás, ha nem ad meg újraindítási szabályzatot a tároló létrehozásakor. |
Never |
A tárolócsoportban lévő tárolókat a rendszer sosem indítja újra. A tárolók legfeljebb egyszer futnak. |
OnFailure |
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. |
Megjegyzés
Ha a tárolócsoport IP-címmel van konfigurálva, ez az IP-cím változhat a tárolócsoport újraindításakor.
Újraindítási szabályzat megadása
Az újraindítási szabályzat megadása attól függ, hogyan hozza létre a tárolópéldányokat, például az Azure CLI-vel, Azure PowerShell parancsmagokkal vagy a Azure Portal. Az Azure CLI-ben adja meg a paramétert, amikor meghívja az --restart-policy
az container create parancsot.
az container create \
--resource-group myResourceGroup \
--name mycontainer \
--image mycontainerimage \
--restart-policy OnFailure
Futtatás befejezésig példa
Az újraindítási szabályzat működés közbeni megtekintéséhez hozzon létre egy tárolópéldányt a Microsoft aci-wordcount rendszerképéből, és adja meg az újraindítási OnFailure
szabályzatot. Ez a példatároló egy Python-szkriptet futtat, amely alapértelmezés szerint elemzi Shakespeare Hamletjének szövegét, megírja a 10 leggyakoribb szót az STDOUT-ba, majd kilép.
Futtassa a példatárolót az alábbi az container create paranccsal:
az container create \
--resource-group myResourceGroup \
--name mycontainer \
--image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
--restart-policy OnFailure
Az Azure Container Instances elindítja a tárolót, majd leállítja, amikor az alkalmazás (vagy ebben az esetben a szkript) kilép. Ha Azure Container Instances leállítja azt a tárolót, amelynek újraindítási szabályzata Never
vagy OnFailure
, a tároló állapota Leállítva értékre van állítva. A tároló állapotát az az container show paranccsal ellenőrizheti:
az container show \
--resource-group myResourceGroup \
--name mycontainer \
--query containers[0].instanceView.currentState.state
Példa a kimenetre:
"Terminated"
Amint a példatároló Terminated (Leállított) állapotra vált, a feladat kimenetét a tárolónaplókban ellenőrizheti. Futtassa az az container logs parancsot a szkript kimenetének megtekintéséhez:
az container logs --resource-group myResourceGroup --name mycontainer
Kimenet:
[('the', 990),
('and', 702),
('of', 628),
('to', 610),
('I', 544),
('you', 495),
('a', 453),
('my', 441),
('in', 399),
('HAMLET', 386)]
Ez a példa azt a kimenetet mutatja be, amelyet a szkript az STDOUT-nak küldött. A tárolóalapú tevékenységek azonban a kimenetüket az állandó tárolóba írhatják későbbi lekérés céljából. Például egy Azure-fájlmegosztásba.
Következő lépések
A feladatalapú forgatókönyvek, például a több tárolóval rendelkező nagy adathalmaz kötegelt feldolgozása, kihasználhatják az egyéni környezeti változók vagy parancssorok előnyeit futásidőben.
A befejezett tárolók kimenetének megőrzésével kapcsolatos részletekért lásd: Azure-fájlmegosztás csatlakoztatása Azure Container Instances.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: