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 migrera automatiquement vos flottes, mais vous pouvez choisir d'effectuer la migration vous-même. Pour vérifier quel plan de contrôle votre parc utilise, consultez Vérifier l'implémentation du plan de contrôle.

Tenez compte des points suivants lorsque vous préparez votre parc pour la modernisation :

  1. Pour préparer la modernisation, vous pouvez contrôler le processus de deux manières :

    • Migration automatique pilotée par Google (par défaut) : vous pouvez personnaliser l'ordre dans lequel vos clusters sont modernisés en suivant les instructions de la section Modernisation pilotée par Google.

    • Migration pilotée par le client (facultatif) : vous pouvez choisir de moderniser vous-même vos flottes en les étiquetant en suivant les instructions de la section Modernisation pilotée par le client.

  2. La modernisation pilotée par Google est la valeur par défaut. Avec cette option, Google détermine quand vos parcs sont prêts pour la modernisation. Google planifie la modernisation de vos flottes et vous en informe avant de commencer le processus.

  3. La modernisation d'un cluster redémarrera les charges de travail comportant des proxys. Cela ne devrait pas entraîner de temps d'arrêt si vous suivez les bonnes pratiques de Kubernetes. De plus, Google déclenchera la modernisation pendant un intervalle de maintenance, si vous en avez configuré un. Une fois lancée, elle s'exécute jusqu'à la fin, avec un temps de stabilisation supplémentaire de six jours avant d'être marquée comme finalisée. Si votre surveillance détecte des problèmes, vous pouvez demander un rollback.

  4. Pour la modernisation pilotée par le client, Google vous avertit lorsque vos parcs sont prêts à être modernisés. Vous pouvez ensuite choisir quand déclencher la modernisation, cluster par cluster. Une fois la modernisation de chaque parc terminée, vous la marquez comme telle.

  5. Une fois le parc modernisé, Google supprime tous les composants basés sur Istiod.

  6. 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 effectué l'intégration à l'aide d'anciens outils, Google enregistrera automatiquement votre cluster dans le parc de son projet à l'aide de l'API Membership gkehub.googleapis.com. Si vous avez une automatisation qui annule l'enregistrement d'un cluster, vous devez la supprimer avant la modernisation.

Modernisation pilotée par Google

Cette option est sélectionnée par défaut si vous n'étiquetez pas vos parcs pour la 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 de votre organisation sera planifiée.

Plusieurs parcs

Si votre organisation possède plusieurs flottes avec Cloud Service Mesh géré, vous pouvez contrôler l'ordre dans lequel Google modernise vos flottes en définissant un libellé 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 celle de toute flotte du groupe suivant. Les parcs pour lesquels vous avez opté pour 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 le document Créer et gérer des libellés.

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.

Mailles 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 la modernisation de chaque groupe et attendra la fin des étapes de modernisation automatisées avant de commencer la modernisation d'un cluster du groupe suivant. Notez que cet ordre ne s'appliquera qu'à un parc. Il n'affectera pas les autres parcs de votre organisation qui pourraient être en cours de modernisation en parallèle.

Utilisez la commande suivante pour définir le libellé mesh-modernization-order pour un cluster :

gcloud container clusters update CLUSTER_NAME \
  --location LOCATION \
  --update-labels="mesh-modernization-order=VALUE"

Notifications et programmation

Cette section explique comment vous serez informé de la modernisation à venir de vos parcs et clusters.

Notification indiquant que la modernisation sera bientôt planifiée

Tout d'abord, vous serez averti lorsque vos flottes auront été sélectionnées pour la modernisation pilotée par 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 du cluster ne peut pas être antérieure à 14 jours après le premier jour ouvré du mois aux États-Unis. Google s'efforcera de commencer la première modernisation du cluster pour votre organisation d'ici la fin du mois calendaire suivant. Par exemple, des notifications seront envoyées avant le 1er avril 2025, la modernisation des clusters pourra commencer à partir du 15 avril 2025, et votre première modernisation de cluster devra commencer avant le 31 mai 2025.

Vous recevrez une notification simultanément pour chacun des parcs de votre organisation (à l'exception de ceux pour lesquels vous avez opté pour la modernisation pilotée par 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 à ce qui suit 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 du cluster par Google, au moins un jour 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.

Les notifications sont disponibles dans les conditions d'état des fonctionnalités 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 piloté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. Cela signifie que les étapes suivantes sont exécutées pour chaque parc :

  1. Modernisez tous les clusters avec mesh-modernization-order de early.
  2. Modernisez tous les clusters avec mesh-modernization-order de default ou non spécifié.
  3. Modernisez tous les clusters avec mesh-modernization-order de late.
  4. 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.
  5. Finalisez la modernisation de ce parc en supprimant 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 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 :

  1. 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 pilotée par Google, cette étape commencera pendant un intervalle de maintenance et se poursuivra jusqu'à ce qu'elle soit terminée.
  2. 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 et que vous utilisez la modernisation pilotée par Google, cette étape commencera pendant un intervalle de maintenance et se poursuivra jusqu'à ce qu'elle soit terminée.
    • Les pods gérés par le déploiement Kubernetes qui comportent des 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 d'arrêt après chaque vague pour la surveillance.
  3. Un délai 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 du parc. 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 organisation Google Cloud possède plusieurs parcs, tout parc non étiqueté sera planifié pour la modernisation pilotée par Google.

Une fois votre parc éligible à la modernisation, vous recevrez une notification dans l'état des fonctionnalités au niveau du parc. Vous devez déclencher la modernisation dans les trois mois suivant la réception de cette notification.

Consultez les bonnes pratiques de configuration requises suivantes pour préparer votre cluster à la modernisation. Abonnez-vous au flux de notes de version de Cloud Service Mesh pour recevoir des notifications.