Modernisation du plan de contrôle géré
Présentation
Google mettra progressivement à jour les flottes existantes qui utilisaient l'implémentation du plan de contrôle géré ISTIOD
pour utiliser l'implémentation TRAFFIC_DIRECTOR
. Par défaut, Google migre automatiquement vos flottes, mais vous pouvez choisir de gérer la migration vous-même. Pour vérifier le plan de contrôle utilisé par votre flotte, consultez la section Vérifier l'implémentation du plan de contrôle.
Tenez compte des points suivants lorsque vous préparez votre parc à la modernisation:
Pour vous préparer à la modernisation, vous avez deux façons de contrôler le processus:
Migration automatique gérée par Google (par défaut) : vous pouvez personnaliser l'ordre de modernisation de vos clusters en suivant les instructions de la section Modernisation gérée par Google.
Migration guidée par le client (facultatif) : vous pouvez choisir de piloter vous-même la modernisation de vos flottes en les étiquetant conformément aux instructions de la section Modernisation guidée par le client.
La modernisation gérée par Google est la valeur par défaut. Avec cette option, Google détermine quand vos parcs sont prêts à être modernisés. Google planifie la modernisation de vos flottes et vous en informe avant de commencer le processus.
La modernisation d'un cluster redémarre les charges de travail comportant des proxys. Cela ne devrait pas entraîner de temps d'arrêt si vous suivez les bonnes pratiques Kubernetes. De plus, Google déclenchera la modernisation pendant un intervalle de maintenance, si vous en avez configuré un. Une fois lancé, il s'exécute jusqu'à son achèvement, avec six jours supplémentaires de stabilisation avant d'être marqué comme finalisé. Si votre surveillance détecte des problèmes, vous pouvez demander un rollback.
Pour une modernisation axée sur le client, Google vous avertit lorsque vos flottes sont prêtes à être modernisées. Vous pouvez ensuite choisir quand déclencher la modernisation, cluster par cluster. Une fois la modernisation terminée, vous marquez chaque modernisation de parc comme terminée.
Une fois une flotte modernisée, Google supprime tous les composants basés sur Istiod.
L'implémentation du plan de contrôle
TRAFFIC_DIRECTOR
nécessite que votre cluster soit enregistré dans un parc avec la fonctionnalité de maillage activée. Si vous avez intégré l'outil à l'aide d'anciens outils, Google enregistre automatiquement votre cluster dans le parc de son projet à l'aide de l'APIgkehub.googleapis.com
Membership. Si vous avez une automatisation qui annule l'enregistrement d'un cluster, vous devez la supprimer avant la modernisation.
Modernisation gérée par Google
Cette option est sélectionnée par défaut si vous n'étiquetez pas vos flottes pour une modernisation axée sur le client. Google surveillera vos flottes pour déterminer quand elles seront prêtes à être modernisées en toute sécurité. Lorsque tous les parcs compatibles avec le réseau maillé de votre organisation seront prêts, la modernisation sera planifiée.
Plusieurs parcs
Si votre organisation dispose de plusieurs flottes avec Cloud Service Mesh géré, vous pouvez contrôler l'ordre dans lequel Google modernise vos flottes en définissant une étiquette de projet mesh-modernization-order
sur l'une des valeurs suivantes: early
, default
ou late
. Google terminera la modernisation de chaque groupe avant de commencer la modernisation de n'importe quelle flotte du groupe suivant.
Les parcs pour lesquels vous avez choisi la modernisation axée sur le client ne seront pas pris en compte dans cet ordre.
Utilisez la commande suivante pour définir le libellé mesh-modernization-order
pour une flotte:
gcloud alpha projects update FLEET_PROJECT_ID --update-labels="mesh-modernization-order=VALUE"
Pour savoir comment définir des libellés de projet à l'aide de la console ou de REST, consultez la documentation sur la création et la gestion des libellés.
Si vous n'utilisez pas d'organisations, vos parcs seront planifiés et modernisés indépendamment, et vous ne pourrez pas contrôler l'ordre. Google Cloud
Maillages multiclusters
Si une flotte comporte plusieurs clusters utilisant Cloud Service Mesh géré, vous pouvez contrôler l'ordre dans lequel Google modernise les clusters en définissant le libellé de cluster mesh-modernization-order
sur l'une des valeurs suivantes: early
, default
ou late
. Google commencera à moderniser chaque groupe et attendra la fin des étapes de modernisation automatisées avant de commencer la modernisation de n'importe quel cluster du groupe suivant. Notez que cet ordre ne s'applique qu'au sein d'un parc. Il n'affectera pas les autres parcs de votre organisation qui peuvent être modernisés en parallèle.
Utilisez la commande suivante pour définir le libellé mesh-modernization-order
d'un cluster:
gcloud container clusters update CLUSTER_NAME \ --location LOCATION \ --update-labels="mesh-modernization-order=VALUE"
Notifications et planification
Cette section explique comment vous serez informé de la modernisation à venir de vos parcs et clusters.
Notification indiquant que la modernisation sera bientôt programmée
Vous recevrez d'abord une notification lorsque vos flottes auront été sélectionnées pour la modernisation Google qui aura lieu dans les semaines à venir.
Cette notification sera envoyée avant le premier jour ouvré du mois aux États-Unis. La date de début de la modernisation de cluster la plus précoce est 14 jours après le premier jour ouvré aux États-Unis d'un mois. Google s'efforcera de commencer la première modernisation de cluster pour votre organisation d'ici la fin du mois calendaire suivant. Par exemple, les notifications seront mises en place avant le 1er avril 2025, les modernisations de clusters pourront commencer à partir du 15 avril 2025 et votre première modernisation de cluster devrait commencer avant le 31 mai 2025.
Vous recevrez une notification simultanée pour chacun des parcs de votre organisation (à l'exception de ceux pour lesquels vous avez choisi la modernisation axée sur le client).
Cette notification est disponible dans les conditions d'état des fonctionnalités au niveau du parc. Utilisez la commande Google Cloud CLI suivante pour vérifier la notification:
gcloud alpha container fleet mesh describe --project $FLEET_PROJ
Une fois la flotte planifiée, une condition avec code: MODERNIZATION_WILL_BE_SCHEDULED
et details
semblable à celle-ci s'affiche:
state: servicemesh: conditions: - code: MODERNIZATION_WILL_BE_SCHEDULED details: We will soon schedule clusters in this fleet to be modernized to use the TRAFFIC_DIRECTOR control plane implementation. Please confirm your fleet and cluster preferences prior to scheduling. Cluster modernization dates will be on or after 2025-03-17. documentation_link: ... severity: INFO
Notification au niveau du cluster indiquant que la modernisation est planifiée
Vous serez informé, au niveau du cluster, de la date de début estimée de la modernisation de ce cluster par Google, au moins un jour avant le début de la modernisation du cluster.
Après la notification au niveau du parc, vous disposez d'un calendrier de modernisation beaucoup plus précis pour chaque cluster.
Les notifications sont disponibles dans vos conditions d'état des éléments géographiques au niveau du cluster. Utilisez la commande Google Cloud CLI suivante pour vérifier la notification:
gcloud container hub mesh describe --project=PROJECT_ID
Un résultat semblable aux lignes suivantes s'affiche:
membershipStates: projects/656460026795/locations/us-central1/memberships/cluster: servicemesh: conditions: - code: MODERNIZATION_SCHEDULED details: This cluster has been scheduled for modernization on or after 2025-03-17. documentationLink: ... severity: INFO
Modernisation active pour la migration gérée par Google
Cette section décrit les étapes de la modernisation pilotée par Google.
Moderniser les parcs
Google déclenchera la modernisation active de chacun des parcs de votre organisation. Pour chaque flotte, les étapes suivantes sont exécutées:
- Modernisez tous les clusters avec
mesh-modernization-order
deearly
. - Modernisez tous les clusters avec
mesh-modernization-order
dedefault
ou non spécifié. - Modernisez tous les clusters avec
mesh-modernization-order
delate
. - Attendez que la modernisation de chaque cluster soit marquée comme finalisée. Cela signifie que vous devez attendre au moins six jours ouvrés après avoir redémarré le dernier pod de n'importe quel cluster de cette flotte.
- Finalisez la modernisation de ce parc, en supprimant éventuellement les composants basés sur Istiod.
Moderniser un cluster
Lors de la modernisation active d'un cluster, les deux implémentations du plan de contrôle sont temporairement exécutées 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 et que vous utilisez la modernisation gérée par Google, cette étape commencera pendant un intervalle de maintenance et se poursuivra jusqu'à son achèvement.
- Pour activer la vérification de l'état, le daemonset
snk
est créé dans l'espace de nomskube-system
du 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/neg
est ajoutée à tous les services Kubernetes. - De nouvelles ressources Google Cloud telles que le réseau maillé, les routes, les services de backend et les vérifications d'état sont créées dans le cluster.
- Certaines des nouvelles ressources sont limitées par quota. Vous pouvez consulter les quotas et en demander davantage si nécessaire.
- Le cluster est surveillé pendant la période de stabilisation avant de passer à l'étape suivante.
- Pour activer l'ingestion de groupes de points de terminaison du réseau (NEG), l'annotation
- Pour activer la vérification de l'état, le daemonset
- Déplacez le trafic vers la nouvelle implémentation du plan de contrôle. Si vous avez configuré des intervalles de maintenance pour votre cluster et que vous utilisez la modernisation gérée par Google, cette étape commencera pendant un intervalle de maintenance et se poursuivra jusqu'à son achèvement.
- Les pods gérés par le déploiement Kubernetes 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 pause après chaque vague pour la surveillance.
- Un délai d'attente d'au moins six jours ouvrés est nécessaire avant que la modernisation d'un cluster ne soit marquée comme finalisée.
Utilisez la commande Google Cloud CLI suivante pour vérifier l'état de la modernisation active:
gcloud container fleet mesh describe --project FLEET_PROJECT_ID
Une condition semblable à l'une des suivantes s'affiche dans le champ membershipStates
par cluster:
... membershipStates: projects/FLEET_PROJ/locations/us-central1/memberships/MEMBERSHIP: servicemesh: conditions: - code: MODERNIZATION_IN_PROGRESS details: ... documentationLink: ... severity: INFO ... # If you see this, see instructions provided in the details and documentationLink fields. - code: MODERNIZATION_ACTION_REQUIRED details: [details about required actions] documentationLink: [link to documentation for required actions] severity: WARNING ... - code: MODERNIZATION_COMPLETED details: ... documentationLink: ... severity: INFO
Modernisation axée sur le client
Vous pouvez choisir de contrôler vous-même le calendrier exact de la modernisation au niveau de la flotte. Pour ce faire, appliquez un libellé au projet hôte du parc à l'aide de la commande suivante:
gcloud alpha projects update FLEET_PROJECT_ID \ --update-labels="mesh-modernization-mode=manual"
Notez que si votre Google Cloud organisation possède plusieurs parcs, tout parc non libellé sera programmé pour la modernisation par Google.
Une fois que votre parc sera éligible à la modernisation, vous recevrez une notification dans l'état de la fonctionnalité au niveau du parc. Vous devez déclencher la modernisation dans les trois mois suivant la réception de cette notification.
Cette documentation sera mise à jour pour inclure des informations sur la façon de déclencher manuellement la modernisation. Abonnez-vous au flux des notes de version de Cloud Service Mesh pour recevoir une notification.