Exercice : Contrôler le comportement du redémarrage
La facilité et la rapidité du déploiement des conteneurs dans Azure Container Instances en font une solution idéale pour les tâches à exécution unique, comme le rendu d’images ou la génération et le test d’applications.
Avec une stratégie de redémarrage configurable, vous pouvez spécifier que vos conteneurs doivent s’arrêter quand leurs processus sont terminés. Comme les instances de conteneur sont facturées à la seconde, vous êtes facturé seulement pour les ressources de calcul utilisées au moment où le conteneur qui exécute votre tâche s’exécute.
Présentation des stratégies de redémarrage des conteneurs
Azure Container Instances offre trois options de stratégie de redémarrage :
Stratégie de redémarrage | Description |
---|---|
Toujours | Les conteneurs du groupe de conteneurs sont toujours redémarrés. Cette stratégie est utile pour les tâches à long terme comme un serveur web. Il s’agit du paramètre appliqué par défaut quand aucune stratégie de redémarrage n’est spécifiée à la création du conteneur. |
Jamais | Les conteneurs du groupe de conteneurs ne sont jamais redémarrés. Les conteneurs sont exécutés une seule fois. |
OnFailure | Les conteneurs du groupe de conteneurs sont redémarrés uniquement en cas d’échec des processus qui y sont exécutés (quand ceux-ci se terminent avec un code de sortie différent de zéro). Les conteneurs sont exécutés au moins une fois. Cette stratégie fonctionne bien pour les conteneurs qui exécutent des tâches de courte durée. |
Exécuter un conteneur jusqu’à la fin
Pour voir la stratégie de redémarrage à l’œuvre, créez une instance de conteneur à partir de l’image de conteneur azuredocs/aci-wordcount, puis spécifiez la stratégie de redémarrage OnFailure. Ce conteneur exécute un script Python qui analyse le texte de Hamlet de Shakespeare, écrit les 10 mots les plus fréquents dans la sortie standard, puis se termine.
Exécutez cette commande
az container create
pour démarrer le conteneur :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
Azure Container Instances démarre le conteneur, puis l’arrête quand son processus (dans ce cas, un script) se termine. Quand Azure Container Instances arrête un conteneur dont la stratégie de redémarrage est Jamais ou OnFailure, l’état du conteneur est défini sur Terminé.
Exécutez
az container show
pour vérifier l’état du conteneur :az container show \ --resource-group learn-deploy-aci-rg \ --name mycontainer-restart-demo \ --query "containers[0].instanceView.currentState.state"
Répétez la commande jusqu’à atteindre l’état Terminé.
Exécutez
az container logs
pour afficher les journaux du conteneur afin d’examiner la sortie :az container logs \ --resource-group learn-deploy-aci-rg \ --name mycontainer-restart-demo
Vous obtenez cette sortie :
[('the', 990), ('and', 702), ('of', 628), ('to', 610), ('I', 544), ('you', 495), ('a', 453), ('my', 441), ('in', 399), ('HAMLET', 386)]