Gestion du cycle de vie des applications dans Azure Container Apps
Le cycle de vie des applications Azure Container repose sur les révisions.
Lorsque vous déployez une application de conteneur, la première révision est créée automatiquement. Des révisions supplémentaires sont créées en cas de modification des conteneurs ou des ajustements sont apportés à la template
section de la configuration.
Une application conteneur passe par quatre phases : déploiement, mise à jour, désactivation et arrêt.
Notes
Les travaux Azure Container Apps ne prennent pas en charge les révisions. Les travaux sont déployés et mis à jour directement.
Quand une application de conteneur est déployée, la première révision est créée automatiquement.
Quand une application de conteneur est mise à jour avec une étendue de révision-modification, une nouvelle révision est créée. Vous pouvez choisir de désactiver automatiquement les anciennes révisions (mode de révision unique) ou de les autoriser à rester disponibles (mode de révisions multiples).
En mode de révision unique, Container Apps gère le basculement automatique entre les révisions pour prendre en charge le déploiement sans temps d’arrêt.
Une fois qu’une révision n’est plus nécessaire, vous pouvez désactiver une révision à l’aide de l’option pour la réactiver ultérieurement. Pendant la désactivation, les conteneurs de la révision sont arrêtés.
Les conteneurs sont arrêtés dans les cas suivants :
- En cas de mise à l’échelle d’une ’application de conteneur
- En de cas de suppression d’une application de conteneur
- En cas de révision en cours de désactivation
Lorsqu’un arrêt est initié, l’hôte de conteneur envoie un message SIGTERM à votre conteneur. Le code implémenté dans le conteneur peut répondre à ce message au niveau du système d’exploitation pour gérer l’arrêt.
Si votre application ne répond pas au message SIGTERM
dans un délai de 30 secondes, SIGKILL termine votre conteneur.
En outre, assurez-vous que votre application peut correctement gérer les arrêts. Les conteneurs redémarrent régulièrement. Ne vous attendez donc pas à un état persistant dans un conteneur. Utilisez plutôt des caches externes pour des exigences coûteuses en mémoire.