Pour garantir la continuité des activités et prévenir les risques de sécurité et de stabilité liés aux instances expirées, Service Mesh (ASM) prend en charge les mises à niveau sur place et les déploiements canaris afin de mettre à niveau le plan de contrôle et le plan de données.
Prérequis
Concepts clés
Pourquoi effectuer une mise à niveau ?
ASM met à jour les versions majeures d'Istio prises en charge environ tous les trois mois, avec des versions correctives (telles que 1,19.x.y) publiées selon les besoins pour les nouvelles fonctionnalités et les corrections de vulnérabilités. Les instances expirées présentent des risques de sécurité et de stabilité. Mettez à niveau vos instances ASM rapidement. Les versions prises en charge sont répertoriées dans Mécanisme de versionnement.
Avantages des mises à niveau proactives :
Réduction des risques de sécurité et de stabilité : chaque version corrige les vulnérabilités connues. L'exécution d'instances expirées peut exposer votre activité à des risques de sécurité et de stabilité.
Amélioration de la prise en charge de maintenance : ASM ne fournit plus de correctifs ni de support technique pour les versions expirées. La mise à niveau garantit une prise en charge continue.
Accès aux nouvelles fonctionnalités : ASM s'adapte aux nouvelles versions open source d'Istio, offrant une expérience améliorée pour les développeurs et les opérations.
Précautions et instructions pour les mises à niveau
Précautions
La mise à niveau nécessite le redémarrage manuel des pods du plan de données pour réinjecter les sidecars de la nouvelle version. Effectuez les mises à niveau pendant les heures creuses.
Si vous mettez manuellement à niveau une passerelle ASM, un redémarrage progressif est déclenché.
L'injection de sidecar peut devenir brièvement indisponible pendant le processus de mise à niveau. Évitez de mettre à jour les pods pendant cette période.
Pendant une mise à niveau, n'effectuez pas d'opérations telles que le déploiement par étapes ou la configuration des règles de trafic.
ASM effectue une vérification préalable à la mise à niveau, mais elle peut ne pas détecter toutes les configurations incompatibles ou les opérations API. Consultez les précautions de mise à niveau pour votre version cible avant de procéder.
-
Pour des raisons de sécurité, ASM fournit les mécanismes suivants :
ASM peut forcer la mise à niveau des instances expirées vers la première version prise en charge. Effectuez une mise à niveau proactive pour éviter les mises à niveau forcées.
Les mises à niveau correctives (par exemple, de v1.18.0.123 à v1.18.0.146) sont appliquées automatiquement sans notification. Les versions des passerelles du plan de données et des proxys sidecar restent inchangées lors des mises à jour à chaud.
Instructions sur les mises à niveau sur place
Les mises à niveau sur place ne prennent en charge que les mises à niveau vers une version adjacente. Les mises à niveau transversales et les retours arrière ne sont pas pris en charge.
Instructions sur les déploiements canaris
Un déploiement canari vous permet de vérifier une nouvelle version avant de basculer dessus, offrant ainsi un chemin de mise à niveau plus sûr. Il prend en charge les mises à niveau sur une version mineure et les retours arrière pendant le processus.
|
Type |
Description |
|
Versions applicables |
Instances Enterprise Edition ou Ultimate Edition de version 1.16.4.91 ou ultérieure. |
|
Scénarios |
Remarque
Si seule la version asm-patch change, nous vous recommandons d'effectuer une mise à niveau sur place. |
|
Format de version |
La version d'une instance ASM est au format suivant : <major>.<minor>.<patch>.<asm-patch>[-<sequence>-aliyun]. Exemple : v1.18.0.158-gc6cf0b9c-aliyun (Enterprise Edition). La liste suivante décrit les champs du format :
|
Instructions sur les libellés d'injection de Sidecar
Après avoir activé le déploiement canari, deux versions du plan de contrôle coexistent. Par exemple, la mise à niveau de 1.17.2.42 vers 1.18.0 rend les versions 1.17.2 et 1.18.0 disponibles simultanément.
Lors d'un déploiement canari, ajoutez un libellé d'injection à un namespace pour spécifier la version du sidecar à injecter. Le libellé par défaut istio-injection=enabled injecte la version actuelle.
Correspondance entre la version du sidecar et le libellé du namespace lorsque deux versions coexistent :
-
Version actuelle
Le sidecar injecté par le libellé
istio-injection=enabledcorrespond à la version actuelle d'ASM et se connecte au plan de contrôle de la version actuelle.Ajoutez le libellé
istio.io/rev=$revisionau namespace pour spécifier la version du sidecar à injecter. Le format de la variablerevisionestx-y-z, par exemple1-17-2.Ajoutez le libellé
istio.io/rev=stableau namespace pour spécifier que la version du sidecar à injecter est la version actuelle d'ASM.
ImportantVous ne pouvez pas ajouter simultanément les libellés
istio-injectionetistio.io/revà un namespace.
-
Version canari
Si un service métier doit être injecté avec un sidecar correspondant à la version canari, vous pouvez ajouter le libellé
istio.io/rev=$revisionouistio.io/rev=canaryau namespace. Le format de$revisionestx-y-z, par exemple1-18-0. Nous vous recommandons d'utiliser le libelléistio.io/rev=$revision.Pour effectuer un déploiement canari, consultez Utiliser le déploiement canari pour améliorer la stabilité de la mise à niveau.
Chemins, méthodes et processus de mise à niveau
Chemins de mise à niveau
L'exemple suivant utilise une mise à niveau de v1.16 vers v1.18. Sélectionnez votre chemin de mise à niveau en fonction de votre environnement.
|
Version initiale |
Version de destination |
Méthode de mise à niveau |
|
1.16.4.93 |
1.17.2.42 |
Mise à niveau sur place ou déploiement canari |
|
1.17.2.42 |
1.18.0.158 |
Mise à niveau sur place ou déploiement canari |
|
1.16.4.93 |
1.18.0.158 |
Déploiement canari |
Méthodes de mise à niveau
Console ASM : prend en charge les mises à niveau sur place et les déploiements canaris. Consultez la section Procédure.
API : prend en charge les mises à niveau sur place. Opérations API associées : UpgradeMeshVersion, DescribeUpgradeVersion et DescribeServiceMeshUpgradeStatus.
Processus de mise à niveau
Confirmez la version de destination et la méthode de mise à niveau, et examinez les précautions avant de procéder.
Procédure
Mise à niveau sur place
Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez .
Sur la page Upgrade Management, cliquez sur l'onglet In-place Upgrades. Cliquez sur Perform Upgrade Precheck. Dans la boîte de dialogue Note qui s'affiche, cliquez sur OK.
Une fois la vérification préalable réussie, cliquez sur Upgrade. Dans la boîte de dialogue Note, cliquez sur OK.
Dans la section Data Plane, recherchez la colonne Upgrade, sélectionnez la passerelle cible, puis cliquez sur Upgrade Gateway. Dans la boîte de dialogue Note, cliquez sur OK.
Redémarrez les charges de travail si nécessaire. Redéployer les charges de travail.
Déploiement canari
Utiliser le déploiement canari pour améliorer la stabilité de la mise à niveau.
FAQ sur les mises à niveau
Lorsqu'une version canari est basculée vers la version officielle, le sidecar injecté dans le service précédemment déployé est d'une version antérieure. Comment mettre à niveau le sidecar vers la nouvelle version ?
Sur la page Upgrade Management, cliquez sur l'onglet Canary Upgrade, puis cliquez sur l'onglet Data plane. Dans la section Workload to be upgraded, recherchez la charge de travail cible et cliquez sur Rolling Upgrade dans la colonne Actions pour déclencher une mise à jour progressive du déploiement du service.
Une mise à niveau sur place affecte-t-elle le trafic des services existants ?
Une mise à niveau sur place affecte uniquement le plan de contrôle, pas le trafic sur le plan de données.
Combien de fois une instance ASM doit-elle être mise à niveau pour atteindre la version de destination ?
Les mises à niveau sur place ne prennent en charge que les versions majeures adjacentes. Les déploiements canaris prennent en charge les mises à niveau sur une version mineure. Calculez le nombre de mises à niveau requises en fonction de vos versions actuelle et cible.
Puis-je sélectionner n'importe quelle méthode de mise à niveau pour chaque version d'une instance ASM ?
Les instances antérieures à la version 1.16.4.91 ne prennent en charge que les mises à niveau sur place. Les instances de version 1.16.4.91 ou ultérieure prennent en charge à la fois les mises à niveau sur place et les déploiements canaris.
Après la mise à niveau d'une instance ASM, vers quelle version le cluster ACK correspondant doit-il être mis à niveau ?
Vérifiez la compatibilité des versions ASM et ACK et mettez à niveau le cluster si nécessaire. Mettre à niveau manuellement un cluster.
Documents connexes
Diagnostiquez le maillage pour détecter des problèmes tels que des incompatibilités de versions de composants, des conflits de ports de service et des conflits de services virtuels. Utiliser le diagnostic de maillage ASM.
La plateforme AIOps pour conteneurs fournit un diagnostic de panne en un clic pour les nœuds, les pods, les Services, Ingress, la mémoire et le réseau. Utiliser le diagnostic de cluster.
Dernières mises à jour des fonctionnalités ASM : Notes de version.