La mise à jour simultanée de toutes les instances expose votre service à un risque élevé de panne généralisée. Le déploiement par phases diffuse la nouvelle version sur un sous-ensemble restreint d'instances en premier lieu. Cette approche vous permet de valider la stabilité de la mise à jour avant qu'elle n'atteigne l'ensemble du parc. En cas d'anomalie, l'impact reste limité à une fraction des instances et vous pouvez interrompre le déploiement.
Enterprise Distributed Application Service (EDAS) prend en charge les déploiements progressifs pour les applications hébergées sur des clusters Elastic Compute Service (ECS). Vous définissez le nombre de lots utilisés pour le déploiement ainsi que le mode de lancement de chaque lot : automatique ou soumis à validation manuelle.
Fonctionnement du déploiement par phases
Un cluster ECS regroupe un ou plusieurs groupes d'instances, chacun contenant plusieurs instances. Lors de la configuration d'un déploiement par phases, vous pouvez déployer l'application de manière séquentielle, groupe par groupe.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Une application déjà déployée sur un cluster ECS dans EDAS
Le package de déploiement (JAR ou WAR) correspondant à la nouvelle version, disponible sous forme de fichier local ou via une URL hébergée sur un service tel qu'Object Storage Service (OSS)
Déployer une application par lots
Connectez-vous à la console EDAS.
Dans le volet de navigation de gauche, cliquez sur Application Management > Applications.
-
Sur la page Applications, configurez les filtres suivants dans la barre de navigation supérieure :
Sélectionnez une région.
Choisissez un namespace de microservices dans la liste déroulante Microservices Namespace.
Dans la liste déroulante Cluster Type, sélectionnez ECS Clusters.
Cliquez sur le nom de l'application à mettre à jour.
Sur la page Basic Information, cliquez sur Deploy dans le coin supérieur droit.
Sur la page Select Deployment Mode, repérez la section Regular Release (Single-batch/Multi-batch) et cliquez sur Start Deployment.
-
Configurez le package de déploiement pour la nouvelle version.
Parameter Description Deployment Method Méthode sélectionnée lors du déploiement initial de l'application. Cette valeur est immuable. Par exemple, si l'application a été déployée initialement avec un package JAR, seuls les fichiers JAR seront proposés pour les mises à jour ultérieures. Pour revenir à une version antérieure, sélectionnez Historical Versions. Pour plus d'informations, consultez la rubrique Restaurer des applications dans des clusters ECS. File Uploading Method Méthode de fourniture du package de déploiement. Le type de package (JAR ou WAR) doit correspondre au déploiement initial. Upload JAR Package / Upload WAR Package : Cliquez sur la zone de téléchargement et sélectionnez le fichier. JAR Package Address / WAR Package Address : Saisissez l'URL du package hébergé sur un service cloud tel qu'OSS. Version Identifiant de version pour ce déploiement. Saisissez un numéro de version ou cliquez sur Use Timestamp as Version Number pour en générer un automatiquement. Description Description associée à la nouvelle version. -
Configurez la politique de déploiement.
RemarqueLa sélection de l'option All Groups déclenche un déploiement sur toutes les instances de tous les groupes. Ces instances sont réparties en lots selon le paramètre défini dans Batches per Group.
RemarqueUne fois la politique de déploiement configurée, un script est généré dans la section Generate Maven Plug-in Configuration. Si vous utilisez le plug-in toolkit-maven-plugin pour automatiser les déploiements par phases, copiez ce script dans votre configuration Maven. Pour plus de détails, reportez-vous à la rubrique Utiliser toolkit-maven-plugin pour effectuer un déploiement par phases d'une application dans un cluster ECS.
Parameter Description Group Groupe d'instances à mettre à jour. Si l'application ne contient qu'un seul groupe, sélectionnez All Groups ou Default Group (les deux options sont équivalentes). Le nombre maximal d'instances s'affiche entre parenthèses à côté de l'option All Groups. Pour les applications comportant plusieurs groupes, choisissez le groupe cible. Batches per Group Nombre de lots dans lesquels le déploiement sera fractionné. Chaque lot doit contenir au moins une instance. Valeur par défaut : 2 Batches. Augmentez le nombre de lots pour rendre le déploiement plus progressif. Batch Mode Méthode de lancement du lot suivant. Automatic : le lot suivant démarre automatiquement après l'écoulement du délai d'attente. Manual : vous déclenchez manuellement chaque lot, ce qui vous laisse le temps de vérifier la mise à jour entre deux lots. Wait Time Before Next Batch Intervalle entre les lots, exprimé en minutes. Sélectionnez une valeur dans la liste déroulante. Java Environment Environnement d'exécution Java pour la nouvelle version. Options disponibles : Open JDK 8, Open JDK 7 et Dragonwell 8. Cliquez sur OK pour lancer le déploiement. La page Change Details s'ouvre et vous permet de suivre la progression de chaque lot. Pour plus d'informations, consultez la rubrique Afficher les modifications apportées aux applications.
Vérifier le résultat
Une fois le déploiement terminé, confirmez la réussite de la mise à jour en examinant deux aspects : l'historique des changements et l'état des instances.
Consulter l'historique des changements
Sur la page des détails de l'application, cliquez sur Change Records dans le volet de navigation de gauche.
-
Dans la colonne Change Status, vérifiez le statut du déploiement :
Success : l'application a été déployée avec succès.
Execute failed : une erreur est survenue lors du déploiement. Cliquez sur View dans la colonne Actions pour afficher les détails et résoudre le problème.
Vérifier l'état des instances
Sur la page des détails de l'application, cliquez sur Basic Information dans le volet de navigation de gauche.
Accédez à l'onglet Basic Information. Dans la section Application Information, assurez-vous que le champ Deployment Package affiche bien le dernier package.
Ouvrez l'onglet Instance Information. Vérifiez que le Running Status de chaque instance du groupe cible indique Normal.