Modernisation du plan de contrôle géré
<0x0Vous devez moderniser vos parcs Cloud Service Mesh en passant de l'implémentation obsolète du plan de contrôle ISTIOD à l'implémentation TRAFFIC_DIRECTOR avant la date limite de fin du support. Vous pouvez lancer la modernisation selon votre propre calendrier ou laisser Google la planifier automatiquement une fois que votre organisation est compatible.
Il existe deux chemins de modernisation, que vous pouvez également combiner :
- Modernisation déclenchée par le client (en libre-service) : vous initiez et contrôlez vous-même le calendrier exact de la modernisation du parc à l'aide de la Google Cloud CLI, indépendamment des plannings définis par Google.
- Modernisation gérée par Google (par défaut) : Google évalue la compatibilité du parc et planifie automatiquement la modernisation dans votre organisation en fonction des périodes de maintenance et des notifications anticipées. Google attend que tous les parcs de votre organisation soient compatibles. Par conséquent, un seul parc incompatible bloquera votre modernisation.
Quel que soit le chemin que vous choisissez, vous devez effectuer les étapes de base suivantes pour moderniser votre plan de contrôle :
- Vérifiez la compatibilité : activez les vérifications de compatibilité et comprenez la compatibilité de vos flottes avec la modernisation.
- Planifier et configurer votre modernisation : choisissez votre parcours, configurez l'ordre de déploiement du cluster et du parc, ou reportez des parcs spécifiques.
- Corrigez les problèmes de compatibilité : assurez-vous que vos flottes répondent à toutes les exigences de compatibilité avant de lancer la modernisation.
- Lancer la modernisation : déclenchez la modernisation à la demande du client selon votre calendrier ou attendez la planification par Google.
- Modernisation active du cluster : pendant les intervalles de maintenance configurés, les doubles plans de contrôle s'exécutent côte à côte, et les déploiements (charges de travail et passerelles) passent automatiquement au nouveau plan de contrôle. Vous devrez redémarrer manuellement les charges de travail StatefulSet et DaemonSet.
- Surveiller l'état, la période de stabilisation et la finalisation : surveillez la progression de l'état, résolvez les éventuels blocages et observez les charges de travail pendant la période de stabilisation (au moins six jours ouvrés), avec une assistance complète pour la restauration avant la finalisation au niveau du parc.
Vérifier la compatibilité du parc et combler les lacunes
Avant qu'un parc puisse être modernisé (que la modernisation soit déclenchée par le client ou par Google), il doit être vérifié comme étant compatible. Vous devez activer les rapports de compatibilité pour examiner les conditions de blocage potentielles et combler les lacunes de configuration. Pour en savoir plus, consultez Comprendre la compatibilité de Cloud Service Mesh.
- Pour la modernisation pilotée par Google : Google ne planifiera la migration que pour les organisations dont tous les parcs non différés sont compatibles.
- Pour la modernisation déclenchée par le client : vous devez vérifier que vos rapports sur le parc cible
MODERNIZATION_COMPATIBLEavant de lancer la modernisation.
Les vérifications de compatibilité évaluent les configurations Istio CRD de votre parc, les annotations de pod, les dépendances d'infrastructure (telles que Workload Identity) et les paramètres d'échelle.
Gérer les fonctionnalités non compatibles
Dans le cadre de l'abandon du plan de contrôle ISTIOD, Google Cloud met fin à la prise en charge des fonctionnalités incompatibles avec l'implémentation du plan de contrôle TRAFFIC_DIRECTOR. Consultez les détails sur la compatibilité avec les API.
Si vous utilisez des fonctionnalités non compatibles, vous devez effectuer l'une des actions suivantes avant la fin de l'assistance (voir Obsolescences) :
- Refactoriser votre configuration (recommandé) : supprimez les champs non compatibles ou remplacez-les par des alternatives Cloud Service Mesh compatibles afin que vos rapports sur le parc
MODERNIZATION_COMPATIBLE, puis modernisez-les pour l'implémentation du plan de contrôleTRAFFIC_DIRECTOR. - Migrer vers Istio Open Source (OSS) : si vos charges de travail nécessitent impérativement des fonctionnalités non compatibles avec Cloud Service Mesh géré avec
TRAFFIC_DIRECTOR, vous ne pouvez pas moderniser ces clusters versTRAFFIC_DIRECTOR. Vous devez migrer ces charges de travail vers Istio Open Source autogéré. - Désinstaller Cloud Service Mesh : vous pouvez désinstaller Cloud Service Mesh géré.
Planifier et configurer votre modernisation
Élaborez un plan de modernisation de votre ou vos parcs. Si vous ne le faites pas, la modernisation pilotée par Google sera appliquée par défaut. Vous devez prendre des mesures pour vous assurer que vos parcs non destinés à la production sont modernisés en premier et que vos parcs critiques sont modernisés en dernier. De plus, la modernisation pilotée par Google ne planifiera la modernisation de votre organisation que lorsque 100% des parcs non différés de l'ensemble de votre organisation seront compatibles. Votre modernisation peut donc être bloquée par des incompatibilités locales.
Avant de lancer la modernisation, examinez vos options et configurez vos paramètres de déploiement pour les parcs et clusters de votre organisation.
Parcours disponibles
| Méthode | Description | Application idéale | Champ d'application | Prérequis | Avis préalable | Capacité de rollback |
|---|---|---|---|---|---|---|
| Modernisation déclenchée par le client | Vous pouvez moderniser votre parc à votre rythme. | Contrôle précis du calendrier de modernisation du parc (vous décidez quand lancer et quand effectuer un rollback au niveau du parc). Utilisez votre outil de surveillance des applications existant pour vous alerter si un rollback est nécessaire. | Flotte par flotte (FLEET_PROJECT_ID) |
La flotte cible doit être compatible avec la modernisation. | N/A. | Restauration immédiate en libre-service à l'aide de Google Cloud CLI. |
| Modernisation pilotée par Google (par défaut) | Google planifie automatiquement la modernisation dans votre organisation. | Modernisation automatisée une fois que tous les parcs de votre organisation sont compatibles. | Toute l'organisation Google Cloud (tous les parcs non différés). | Tous les parcs non différés de l'organisation doivent être compatibles avec la modernisation. | Notification de parc 14 jours à l'avance et notification de cluster 24 heures à l'avance avant le début de l'opération. | Google effectuera une restauration si la surveillance standardisée détecte une erreur. Vous devez contacter Cloud Customer Care si la surveillance de votre application affiche une erreur. |
Gérer plusieurs parcs dans une organisation
Si votre organisation Google Cloud gère plusieurs flottes, vous n'avez pas besoin de choisir une seule approche pour toutes. Vous pouvez combiner des stratégies, par exemple :
- Différer les parcs complexes ou critiques : épinglez des parcs spécifiques à l'ancienne implémentation à l'aide de
--modernization-strategy deferredafin qu'ils soient exclus de la planification gérée par Google pendant que vous corrigez les dépendances ou planifiez l'exécution déclenchée par le client. - Commencez par la modernisation déclenchée par le client sur certaines flottes : modernisez d'abord les flottes de test, de développement ou d'évaluation pour valider le comportement selon votre propre calendrier.
- Autoriser Google à moderniser les flottes restantes : toutes les flottes compatibles et non différées restent activées pour la planification gérée par Google.
Différer la modernisation du parc (désactivation)
Pour désactiver la modernisation pilotée par Google pour un parc individuel, définissez sa stratégie sur DEFERRED :
gcloud alpha container fleet mesh update \
--modernization-strategy deferred \
--project FLEET_PROJECT_ID
Remplacez FLEET_PROJECT_ID par l'ID du projet hôte de parc.
Le paramètre --modernization-strategy deferred est la méthode recommandée pour :
- Excluez des flottes spécifiques de la planification gérée par Google, car vous prévoyez de les moderniser selon votre propre calendrier à l'aide de la modernisation déclenchée par le client.
- Suspendez temporairement la modernisation des parcs complexes ou critiques pendant que vous corrigez les dépendances, ce qui permet aux autres parcs compatibles de votre organisation de poursuivre la planification pilotée par Google.
Notez que l'ancien libellé de projet mesh-modernization-mode=manual reste respecté, mais --modernization-strategy deferred est recommandé. Les autres parcs non différés de votre organisation restent éligibles à la planification optimisée par Google une fois qu'ils sont tous compatibles.
Configurer l'ordre de déploiement
Vous pouvez contrôler l'ordre de déploiement séquentiel dans vos clusters et vos flottes à l'aide du libellé mesh-modernization-order (tôt, par défaut ou tard).
Ordre de déploiement des clusters (s'applique aux deux parcours)
Si un parc contient plusieurs clusters, vous pouvez contrôler l'ordre dans lequel les clusters sont modernisés en appliquant le libellé mesh-modernization-order à chaque cluster. Lorsque vous ou Google déclenchez la modernisation d'un parc, chaque groupe de clusters est modernisé séquentiellement. Les étapes de modernisation automatisées doivent être effectuées sur le groupe actuel avant de passer au suivant :
gcloud container clusters update CLUSTER_NAME \
--location LOCATION \
--update-labels="mesh-modernization-order=VALUE"
Remplacez CLUSTER_NAME par le nom du cluster, LOCATION par l'emplacement du cluster et VALUE par l'une des valeurs suivantes :
early: le cluster est modernisé lors de la première vague de modernisation.default: le cluster est modernisé lors de la deuxième vague de modernisation.late: le cluster est modernisé lors de la troisième et dernière vague de modernisation.
Ordre de déploiement du parc (uniquement géré par Google)
Dans les organisations disposant de plusieurs parcs en cours de modernisation par Google, vous pouvez contrôler l'ordre dans lequel Google modernise vos parcs en définissant le libellé au niveau du projet sur le projet hôte du parc :
gcloud alpha projects update FLEET_PROJECT_ID \
--update-labels="mesh-modernization-order=VALUE"
Remplacez FLEET_PROJECT_ID par l'ID du projet hôte du parc et VALUE par l'une des valeurs suivantes :
early: le parc est modernisé lors de la première vague de modernisation.default: la flotte est modernisée lors de la deuxième vague de modernisation.late: le parc est modernisé lors de la troisième et dernière vague de modernisation.
Google termine la modernisation de chaque niveau de parc avant de passer au suivant : d'abord le niveau précoce, puis le niveau par défaut (et sans libellé), puis le niveau tardif. Les flottes marquées comme différées ne sont pas incluses dans cet ordre.
Par exemple, vous pouvez définir vos parcs non destinés à la production sur early, un parc particulièrement critique sur late et laisser les autres sur la valeur par défaut.
Si vous n'utilisez pas d'organisations Google Cloud , vos parcs seront planifiés et modernisés indépendamment, et vous ne pourrez pas contrôler l'ordre.
Modernisation déclenchée par le client (libre-service)
La modernisation déclenchée par le client vous permet de contrôler directement le moment où la modernisation commence pour un parc individuel.
Déclencher la modernisation du parc
Une fois que votre parc cible envoie des rapports
MODERNIZATION_COMPATIBLE, déclenchez la modernisation à l'aide de la commande suivante :
gcloud alpha container fleet mesh update \
--modernization-strategy automatic \
--project FLEET_PROJECT_ID
Remplacez FLEET_PROJECT_ID par l'ID du projet hôte de parc.
- Intervalles de maintenance : Google respecte les intervalles et les exclusions de maintenance configurés pour les clusters. La modernisation du cluster commence lors du prochain intervalle de maintenance ouvert du cluster.
- Ordre des clusters : si vous avez configuré des libellés
mesh-modernization-ordersur vos clusters, Google respecte cet ordre.
Suivre la progression
Suivez les instructions de la section Vérifier l'état de la modernisation pour surveiller la progression de la modernisation du parc et du cluster.
Restaurer une modernisation déclenchée par un client
Si vous détectez des problèmes lors de la modernisation active du cluster ou pendant la période de stabilisation du parc (avant la finalisation au niveau du parc), vous pouvez déclencher un rollback immédiat :
gcloud alpha container fleet mesh update \
--modernization-strategy deferred \
--project FLEET_PROJECT_ID
Remplacez FLEET_PROJECT_ID par l'ID du projet hôte de parc.
Votre parc restera dans l'état différé, c'est-à-dire qu'il ne sera pas pris en compte pour la modernisation pilotée par Google. Lorsque vous êtes prêt à réessayer la modernisation, réexécutez la commande pour déclencher la modernisation du parc.
Modernisation pilotée par Google (par défaut automatique)
Si vous n'initiez pas la modernisation déclenchée par le client, Google gère automatiquement la modernisation dans votre organisation.
Planification à l'échelle de l'organisation
Google surveille en permanence vos parcs. Une fois que tous les parcs compatibles avec le maillage de votre organisation (à l'exception des parcs différés) sont compatibles avec la modernisation, Google planifie la modernisation de votre organisation.
Notifications anticipées et programmation
Google fournit deux niveaux de notification préalable avant de commencer la modernisation :
Notification au niveau du parc
Tout d'abord, vous serez averti lorsque vos flottes auront été identifiées comme compatibles avec la modernisation et sélectionnées pour une modernisation pilotée par Google à l'avenir.
La modernisation de votre cluster peut commencer au plus tôt 14 jours après le premier jour ouvrable du mois suivant votre notification. Par exemple, si Google détermine que votre organisation est prête le 10 janvier 2027, nous vous informerons d'ici le 31 janvier 2027 que la date de début de la modernisation la plus proche est le 15 février 2027.
Vous recevrez une notification simultanément pour chacun des parcs de votre organisation (à l'exception de ceux que vous avez différés). Cette notification est disponible dans les conditions d'état des fonctionnalités au niveau du parc (
MODERNIZATION_WILL_BE_SCHEDULED).
Notification au niveau du cluster
Vous serez informé, au niveau du cluster, de la date de début estimée de la modernisation du cluster par Google, au moins un jour (24 heures) avant le début de la modernisation.
Après la notification au niveau du parc, vous obtenez une planification beaucoup plus précise de la modernisation des clusters individuels. Cette notification est disponible dans les conditions d'état des fonctionnalités au niveau du cluster (MODERNIZATION_SCHEDULED).
Demander une restauration pour la modernisation pilotée par Google
Si des problèmes surviennent lors de la modernisation ou de la période de stabilisation d'un parc de modernisation géré par Google, contactez Cloud Customer Care pour demander une restauration.
Ce qui se passe pendant la modernisation active
Cette section décrit ce qui se passe lors de la modernisation active des parcs et des clusters.
Moderniser les parcs
Pour chaque parc en cours de modernisation (qu'elle soit initiée par Google ou par le client), nous activons la nouvelle implémentation du plan de contrôle pour tous les clusters en fonction de l'ordre (tôt → par défaut → tard).
Une fois le plan de contrôle activé pour tous les clusters, nous transférons le trafic vers la nouvelle implémentation du plan de contrôle pour tous les clusters en fonction de l'ordre (tôt → par défaut → tard).
Consultez Vérifier l'état de la modernisation du parc pour connaître l'état actuel.
Période de stabilisation du parc
Une fois le trafic transféré pour tous les clusters, le parc entre dans une période de stabilisation.
Le parc reste en période d'imprégnation (MODERNIZATION_MODERNIZED) pendant au moins six jours ouvrés après la modernisation de tous les clusters, avant de passer à MODERNIZATION_FINALIZED. La capacité de rollback complète est conservée pendant toute la période de test. Une fois la modernisation terminée, il n'est plus possible d'annuler l'opération, et les composants ISTIOD peuvent être supprimés.
Moderniser un cluster
Lors de la modernisation active d'un cluster, les deux implémentations du plan de contrôle sont exécutées temporairement côte à côte. Les tâches suivantes sont traitées de manière sécurisée et contrôlée :
- Activez la nouvelle implémentation du plan de contrôle. Si vous avez configuré des intervalles de maintenance pour votre cluster, cette étape commencera pendant un intervalle de maintenance et se poursuivra jusqu'à ce qu'elle soit terminée.
Tenez compte des remarques suivantes :
- Pour activer la vérification de l'état, le DaemonSet
snkest créé dans l'espace de nomskube-systemdu cluster, et une règle de pare-feu par cluster est créée. - Pour activer l'ingestion de groupes de points de terminaison du réseau (NEG), l'annotation
cloud.google.com/negest ajoutée à tous les services Kubernetes. - De nouvelles ressources Google Cloud telles que mesh, routes, backend services et health checks sont créées dans le cluster.
- Certaines des nouvelles ressources sont limitées par un quota. Vous pouvez afficher les quotas et en demander davantage si nécessaire.
- Le cluster est surveillé pendant le temps d'imprégnation avant de passer à l'étape suivante.
- Pour activer la vérification de l'état, le DaemonSet
- Transférez le trafic vers la nouvelle implémentation du plan de contrôle. Si vous avez configuré des intervalles de maintenance pour votre cluster, cette étape commencera pendant un intervalle de maintenance et se poursuivra jusqu'à la fin. Tenez compte des remarques suivantes :
- Les pods gérés par le déploiement Kubernetes et qui disposent de proxys Cloud Service Mesh sont redémarrés afin qu'ils se reconnectent au nouveau plan de contrôle.
- Les pods sont redémarrés par vagues de plus en plus importantes, avec un temps de stabilisation après chaque vague pour la surveillance.
Redémarrages manuels des charges de travail pour les non-déploiements (action du client requise).
- Google redémarre automatiquement les charges de travail gérées par les déploiements Kubernetes. Les charges de travail gérées par d'autres types de ressources Kubernetes, telles que les StatefulSets et les DaemonSets, doivent être redémarrées manuellement.
- Redémarrez ces charges de travail une fois que l'état du cluster indique
MODERNIZATION_COMPLETED(c'est-à-dire lorsque le cluster est en période de stabilisation). - Vous devez redémarrer ces charges de travail avant la finalisation de la modernisation du parc. Sinon, ces proxys resteront connectés à l'ancien plan de contrôle Istiod dont la suppression est prévue.
- Redémarrez les charges de travail à l'aide d'approches Kubernetes standards, telles que
kubectl rollout restart ....
Une fois que toutes les charges de travail d'un cluster ont été migrées, le cluster attend la période d'imprégnation du parc.
Pour surveiller l'état de la modernisation active de vos clusters, consultez Vérifier l'état de la modernisation.
Vérifier l'état de la modernisation et agir
Vous pouvez surveiller la progression de la modernisation de vos flottes et clusters à l'aide de la Google Cloud CLI :
gcloud container fleet mesh describe --project FLEET_PROJECT_ID
Remplacez FLEET_PROJECT_ID par l'ID du projet hôte de parc.
Le résultat est semblable à :
membershipStates:
projects/123456789/locations/global/memberships/cluster-1:
servicemesh:
conditions:
- code: MODERNIZATION_MIGRATING_WORKLOADS
documentationLink: https://cloud.google.com/service-mesh/docs/...
severity: INFO
state:
servicemesh:
conditions:
- code: MODERNIZATION_MODERNIZING
documentationLink: https://cloud.google.com/service-mesh/docs/...
severity: INFO
L'état de la modernisation est indiqué dans les champs state.servicemesh.conditions (au niveau du parc) et membershipStates.<MEMBERSHIP_NAME>.servicemesh.conditions (au niveau du cluster) :
État d'une modernisation réussie du parc
Lors d'une modernisation réussie du parc, l'état du parc commence par MODERNIZATION_MODERNIZING.
Chaque cluster passerait ensuite par les états suivants :
MODERNIZATION_SCHEDULEDMODERNIZATION_PREPARINGMODERNIZATION_PREPAREDMODERNIZATION_MIGRATING_WORKLOADSMODERNIZATION_COMPLETED
Une fois que tous les clusters du parc ont terminé leur modernisation, le parc passe par les états suivants :
MODERNIZATION_MODERNIZEDMODERNIZATION_FINALIZED
Rollbacks
La modernisation pilotée par Google surveille l'état et la préparation de votre déploiement tout au long du processus de modernisation. Nous déclencherons automatiquement un rollback si nous détectons des problèmes. Si vous détectez un problème, contactez Cloud Customer Care pour demander une restauration.
Pour la modernisation déclenchée par le client, vous pouvez déclencher une restauration à tout moment.
Lors d'une restauration, le parc affiche l'état MODERNIZATION_ROLLING_BACK_FLEET et le cluster affiche l'état MODERNIZATION_ROLLING_BACK_CLUSTER.
Une fois la restauration d'un cluster terminée, l'état MODERNIZATION_ABORTED s'affiche temporairement.
Gérer les erreurs et les blocages (déclenchés par le client uniquement)
Lors de la modernisation déclenchée par le client, si un cluster rencontre un problème qui l'empêche de progresser, son état passe à MODERNIZATION_STALLED.
Google ne déclenchera pas de rétablissement pour la modernisation déclenchée par le client. Vous devez trier le problème et décider de le corriger ou de déclencher un rollback.
Lorsqu'un cluster signale MODERNIZATION_STALLED, examinez les détails de la condition pour obtenir un lien direct vers la section d'erreur concernée :
Erreurs nécessitant une action de l'utilisateur
Si nous détectons une configuration de réseau maillé ou de cluster incompatible, nous interromprons la modernisation. Assurez-vous que les rapports de compatibilité sont activés et examinez les conditions au niveau du parc et du cluster pour identifier les éventuelles lacunes, comme décrit dans Comprendre la compatibilité de Cloud Service Mesh.
- Nouvelle tentative immédiate : dès que le problème est résolu, nous détectons le changement et reprenons immédiatement la modernisation, sans attendre le prochain intervalle de maintenance.
Erreurs internes
Les problèmes liés aux services Google internes sont examinés par des ingénieurs Google, qui reprendront la modernisation si possible. Notez que la modernisation peut reprendre en dehors d'un intervalle de maintenance, tout comme pour les erreurs nécessitant une action de l'utilisateur. Pour éviter cela, vous pouvez déclencher une restauration.
Si votre modernisation est bloquée depuis plus de 24 heures et qu'il n'y a aucun problème de compatibilité, contactez l'assistance Cloud Customer Care pour en savoir plus ou déclenchez une restauration si les charges de travail de production sont affectées.
Documentation de référence sur les conditions au niveau du parc
| Condition | Description |
|---|---|
MODERNIZATION_COMPATIBLE |
Le parc est compatible avec la nouvelle implémentation du plan de contrôle. |
MODERNIZATION_WILL_BE_SCHEDULED |
Modernisation pilotée par Google : tous les parcs non différés de l'organisation sont compatibles et ont été mis en file d'attente pour la planification. |
MODERNIZATION_MODERNIZING |
La modernisation est en cours pour un ou plusieurs clusters du parc. |
MODERNIZATION_MODERNIZED |
La modernisation active est terminée pour tous les clusters. Le parc est en période de test. |
MODERNIZATION_FINALIZED |
La modernisation est terminée et finalisée. Les anciens composants Istiod seront supprimés. Le rollback n'est plus possible. |
MODERNIZATION_ROLLING_BACK_FLEET |
Une restauration au niveau de la flotte est en cours. |
Documentation de référence sur les conditions au niveau du cluster
| Condition | Description |
|---|---|
MODERNIZATION_SCHEDULED |
La modernisation du cluster est prévue à la date spécifiée dans la condition ou après. Si des intervalles/exclusions de maintenance sont configurés pour votre cluster, la date indiquera l'intervalle de maintenance cible. |
MODERNIZATION_PREPARING |
Activer la nouvelle implémentation du plan de contrôle. |
MODERNIZATION_PREPARED |
La nouvelle implémentation du plan de contrôle est activée. La migration de la charge de travail n'a pas encore commencé. |
MODERNIZATION_MIGRATING_WORKLOADS |
Le cluster migre activement les charges de travail vers la nouvelle implémentation du plan de contrôle. |
MODERNIZATION_COMPLETED |
La modernisation du cluster est terminée et il est en période de stabilisation. |
MODERNIZATION_STALLED |
La modernisation est bloquée en raison d'une erreur (déclenchée par le client uniquement). Consultez les détails de la condition pour trouver une solution. |
MODERNIZATION_ROLLING_BACK_CLUSTER |
Le cluster est en cours de rétablissement. |
MODERNIZATION_ABORTED |
Le cluster a été rétabli sur l'ancien plan de contrôle. Signalé pendant une courte période. |