Pour garantir la sécurité lors de la mise à jour d'une application de microservices Spring Cloud ou Dubbo déployée dans un cluster Elastic Compute Service (ECS), effectuez un déploiement en mode canari afin de valider la nouvelle version sur un petit nombre d'instances. Si la validation est concluante, mettez à jour l'application sur l'ensemble des instances. Cette rubrique explique comment déployer une application en mode canari dans un cluster ECS à l'aide de la console Enterprise Distributed Application Service (EDAS).
Prérequis
Avant de lancer un déploiement en mode canari, assurez-vous que l'application contient au moins deux groupes d'instances comportant des instances. Pour plus d'informations sur la création de groupes d'instances et l'ajout d'instances ECS à ces groupes, consultez la rubrique Gérer les groupes d'instances dans un cluster ECS.
Limites
Applications High-Speed Service Framework (HSF) : le déploiement en mode canari n'est pas pris en charge.
Applications Dubbo : aucune limite.
Applications Spring Cloud : n'utilisez pas le déploiement en mode canari si votre application dépend de fonctionnalités ou de configurations liées à Deployment.Metadata.Name ou Deployment.Metadata.Uid. Dans le cas contraire, la fonctionnalité native risque de ne pas fonctionner correctement.
Procédure
Connectez-vous à la console EDAS console EDAS.
Dans le volet de navigation de gauche, choisissez . Dans la barre de navigation supérieure, sélectionnez une région. En haut de la page Applications, sélectionnez un namespace de microservices dans la liste déroulante Microservices Namespace. Cliquez ensuite sur le nom de l'application que vous souhaitez gérer.
Dans l'angle supérieur droit de la page Basic Information, cliquez sur Deploy Application. Dans l'angle supérieur droit de la page Select Deployment Mode, cliquez sur Start Deployment dans la section Canary Release (Phased).
-
Sur la page Canary Release (Phased), configurez les paramètres selon vos besoins métier et cliquez sur OK.
-
Téléchargez le package de déploiement de la nouvelle version de l'application.
-
Dans la section Release Policy, configurez les paramètres de la stratégie de déploiement.

La section Publish Policy Configuration affiche le processus de déploiement en mode canari en fonction de la configuration.
Parameter
Description
Canary Groups
Le groupe d'instances pour le déploiement en mode canari.
Batches per Group After Canary Release
Une fois le déploiement en mode canari terminé pour le groupe d'instances spécifié, la nouvelle version est déployée sur les instances des autres groupes selon les phases prédéfinies.
Si tous les groupes sont sélectionnés, la nouvelle version est déployée sur les instances de chaque groupe en fonction du nombre de phases sélectionné. Si le nombre d'instances dans un groupe est inférieur au nombre de phases sélectionné, la nouvelle version est déployée sur toutes les instances du groupe.
Si un groupe spécifique est sélectionné, la nouvelle version est déployée sur les instances du groupe désigné en fonction du nombre de phases sélectionné.
Batch Type for Scale-out After Canary Release
Si vous définissez le paramètre Batches per Group After Canary Release sur une valeur d'au moins 2, vous devez configurer ce paramètre. Valeurs possibles : Automatic et Manual.
Automatic : le système déploie automatiquement la nouvelle version par phases selon l'intervalle spécifié. Vous devez configurer le paramètre Wait Time Before Next Batch.
Les valeurs valides pour Wait Time Before Next Batch incluent Do Not Wait, 1 Minutes, 2 Minutes, 3 Minutes, 4 Minutes et 5 Minutes.
Manual : vous devez déclencher manuellement le déploiement du lot suivant.
Java Environment
L'environnement d'exécution de l'application. Sélectionnez un environnement d'exécution adapté à vos besoins métier.
-
Configurez les règles de déploiement en mode canari. EDAS prend en charge les types de règles suivants : Canary Release by Content et Canary Release by Ratio.
-
Canary Release by Content : cliquez sur Add Policy. Dans le panneau Add a canary release by content policy, cliquez sur + Create Inbound Traffic Rule pour créer une règle de trafic entrant.
RemarqueVous pouvez créer plusieurs règles de trafic entrant.

Parameter
Description
Protocol Type
Le protocole utilisé par l'application. Valeurs possibles : Spring Cloud et Dubbo. Configurez ce paramètre en fonction du protocole réel de l'application.
Spring Cloud : le paramètre Path est obligatoire.
Dubbo : les paramètres Select Service et Method sont obligatoires.
Conditional Mode
Valeurs possibles : Meet All Following Conditions et Meet Any of Following Conditions.
Conditions
Les conditions diffèrent entre Spring Cloud et Dubbo.
Spring Cloud : les options Cookie, Header et Parameter sont disponibles. Configurez les paramètres selon vos besoins métier.
Dubbo : configurez les paramètres Parameter et Expression for Getting Parameter Values en fonction des valeurs réelles de votre application.
Canary Release by Ratio : configurez le paramètre Traffic Ratio . Le trafic est acheminé vers le groupe d'instances actuel pour le déploiement en mode canari en fonction de cette valeur.
-
Une fois le déploiement en mode canari lancé, la nouvelle version de l'application est déployée sur le groupe d'instances spécifié. La progression et l'état du déploiement s'affichent sur la page Change Details.
-
Vérifiez si le trafic est distribué comme prévu. Pour plus d'informations, consultez la rubrique Surveiller le trafic canari.
-
Une fois la validation du trafic terminée, cliquez sur Start Next Batch sur la page Change Details pour poursuivre le déploiement par phases.
Si un problème survient pendant la phase de validation, cliquez sur Stop Change dans l'angle supérieur droit de la page Change Details. Une fois le changement arrêté, le message suivant apparaît dans l'onglet Basic Information : The application is in the canary release state and this change has been stopped. Please roll back the application before you perform other operations.
Vérifier le résultat
Une fois le déploiement en mode canari terminé, vérifiez que le Deployment Package correspond à la nouvelle version dans l'onglet Basic Information. Dans l'onglet Instance Information, assurez-vous que les instances sont dans l'état Normal.