Plan de données géré

Cloud Service Mesh géré vous permet d'automatiser les mises à jour des proxys et des passerelles injectées dans votre maillage de services. Lorsque vous activez le plan de données géré, Google met automatiquement à jour les proxys side-car et les passerelles injectées conjointement avec le plan de contrôle géré en redémarrant les charges de travail pour réinjecter les versions de proxy les plus récentes. Ce déploiement commence après la mise à niveau du plan de contrôle et se termine généralement dans un délai de deux semaines.

Notez que le plan de données géré dépend du canal de publication GKE. Si vous modifiez le version disponible GKE alors que le plan de données géré est activé, Cloud Service Mesh géré met à jour les proxys de toutes les charges de travail existantes, comme un déploiement de plan de données géré.

Si cette option est désactivée, la gestion du proxy est effectuée de manière passive, en fonction du cycle de vie naturel des pods du cluster, et doit être déclenchée manuellement par l'utilisateur pour contrôler le taux de mise à jour.

Le plan de données géré met à niveau les proxys en évinçant les pods qui exécutent d'anciennes versions du proxy. Les évictions sont effectuées progressivement, en respectant le budget d'interruption des pods et en contrôlant le rythme des modifications.

Lorsque de nouvelles versions du plan de données Cloud Service Mesh sont déployées

Plan de données géré Événements qui déclenchent un nouveau déploiement du plan de données Cloud Service Mesh
Cloud Service Mesh effectue des mises à jour actives
Activement, lorsque de nouvelles versions sont disponibles1.
Création de pods
Lorsque vous ou l'autoscaling horizontal des pods déployez de nouvelles charges de travail
Intervalles de maintenance GKE
Lorsque les nœuds sont remplacés pendant un intervalle de maintenance GKE
Activé
Désactivé

1  Les mises à jour actives de Cloud Service Mesh remplacent automatiquement Pods dans les charges de travail, à l'exception de StatefulSets, Jobs, DaemonSets et de Pods injecté manuellement. Les mises à jour actives de Cloud Service Mesh respectent les budgets d'interruption Pod.

  • Les mises à jour actives de faible priorité coïncident avec les intervalles de maintenance de GKE.
  • Les mises à jour actives de priorité élevée peuvent être effectuées dès que Cloud Service Mesh les met à la disposition de votre cluster, sans tenir compte des intervalles de maintenance GKE. Les mises à jour actives de priorité élevée sont généralement associées à au moins une CVE.

Activez le plan de données géré si vous ne souhaitez pas gérer vous-même le cycle de vie du plan de données Cloud Service Mesh et si vos charges de travail peuvent tolérer le remplacement des pods à tout moment.

Désactivez le plan de données géré si vous souhaitez contrôler entièrement le moment de toutes les mises à jour du plan de données Cloud Service Mesh.

Par défaut, les notifications de maintenance ne sont pas envoyées. Pour en savoir plus, consultez la section Activer les notifications de maintenance pour le plan de données géré de ce document.

Limites

Le plan de données géré ne gère pas les éléments suivants :

  • Pods non injectés
  • Pods injectés manuellement
  • Jobs
  • StatefulSets
  • DaemonSets

Si vous avez provisionné Cloud Service Mesh géré sur un cluster plus ancien, vous pouvez activer la gestion du plan de données pour l'ensemble du cluster :

kubectl annotate --overwrite controlplanerevision -n istio-system \
REVISION_LABEL \
mesh.cloud.google.com/proxy='{"managed":"true"}'

Vous pouvez également activer le plan de données géré de manière sélective pour un espace de noms ou un pod spécifique en lui attribuant la même annotation. Si vous contrôlez des composants individuels de manière sélective, l'ordre de priorité est le suivant : révision du plan de contrôle, puis espace de noms, puis pod.

Il peut être nécessaire d'attendre jusqu'à dix minutes pour que le service soit prêt à gérer les proxys du cluster. Exécutez la commande suivante pour vérifier l'état :

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Résultat attendu

membershipStates:
  projects/PROJECT_NUMBER/locations/global/memberships/CLUSTER_NAME:
    servicemesh:
      dataPlaneManagement:
        details:
        - code: OK
          details: Service is running.
        state: ACTIVE
    state:
      code: OK
      description: 'Revision(s) ready for use: asm-managed-rapid.'

Si le service n'est pas prêt dans les dix minutes, consultez la section État du plan de données géré pour connaître les étapes suivantes.

Désactiver le plan de données géré (facultatif)

Si vous provisionnez Cloud Service Mesh géré sur un nouveau cluster, vous pouvez désactiver complètement le plan de données géré, ou pour des espaces de noms ou des pods individuels. Le plan de données géré restera désactivé pour les clusters existants où il a été désactivé par défaut ou manuellement.

Pour désactiver le plan de données géré au niveau du cluster et revenir à la gestion des proxys side-car vous-même, recherchez chaque révision du plan de contrôle, puis modifiez chaque annotation.

  1. Recherchez toutes les révisions du plan de contrôle :

    kubectl get controlplanerevisions -n istio-system
    
  2. Modifiez l'annotation :

    kubectl annotate --overwrite controlplanerevision CONTROL_PLANE_REVISION_NAME -n istio-system mesh.cloud.google.com/proxy='{"managed":"false"}'
    

    Répétez cette étape pour chaque révision du plan de contrôle.

    Remplacez CONTROL_PLANE_REVISION_NAME par le résultat de la commande précédente.

    Pour désactiver le plan de données géré pour un espace de noms :

    kubectl annotate --overwrite namespace NAMESPACE \
     mesh.cloud.google.com/proxy='{"managed":"false"}'
    

    Pour désactiver le plan de données géré pour un pod :

    kubectl annotate --overwrite pod POD_NAME \
     mesh.cloud.google.com/proxy='{"managed":"false"}'
    

Activer les intervalles de maintenance pour le plan de données géré

Si vous avez configuré un intervalle de maintenance GKE, les mises à niveau actives commencent au début de la prochaine période de maintenance disponible et se poursuivent sans suspension jusqu'à la mise à jour de tous les pods gérés (généralement 12 heures). L'intervalle de maintenance n'est pas respecté pour les déploiements liés aux CVE.

Cloud Service Mesh utilise l'intervalle de maintenance GKE pour s'aligner sur GKE.

Activer les notifications de maintenance pour le plan de données géré

Vous pouvez demander à être averti de la maintenance à venir du plan de données géré planifiée dans un intervalle de maintenance jusqu'à une semaine avant la maintenance. Par défaut, les notifications de maintenance ne sont pas envoyées. Vous devez également configurer un intervalle de maintenance GKE avant de pouvoir recevoir des notifications. Lorsqu'elles sont activées, les notifications sont envoyées au moins deux jours avant l'opération de mise à niveau.

Pour activer les notifications de maintenance du plan de données géré :

  1. Accédez à la page Communication.

    Accédez à la page Communication.

  2. Dans la ligne Mise à niveau de Cloud Service Mesh, sous la colonne Adresse e-mail, cochez la case d'option pour activer les notifications de maintenance.

Chaque utilisateur souhaitant recevoir des notifications doit activer lui-même l'option. Si vous souhaitez définir un filtre de messagerie pour ces notifications, la ligne d'objet est la suivante :

Upcoming upgrade for your Cloud Service Mesh cluster "CLUSTER_LOCATION/CLUSTER_NAME".

L'exemple suivant montre une notification de maintenance de plan de données géré classique :

Objet : Mise à niveau à venir pour votre cluster Cloud Service Mesh "<location/cluster-name>"

Cher utilisateur de Cloud Service Mesh,

La mise à niveau des composants Cloud Service Mesh de votre cluster ${instance_id} (https://console.cloud.google.com/kubernetes/clusters/details/${instance_id}/details?project=${project_id}) est programmée le ${scheduled_date_human_readable} à ${scheduled_time_human_readable}.

Vous pouvez consulter les notes de version (https://cloud.google.com/service-mesh/docs/release-notes) pour en savoir plus sur la nouvelle mise à jour.

En cas d'annulation de cette opération, nous vous préviendrons par e-mail.

Cordialement,

L'équipe Cloud Service Mesh

(c) 2023 Google LLC 1600 Amphitheatre Parkway, Mountain View, CA 94043, États-Unis Cette annonce vous a été envoyée afin de vous informer de modifications importantes apportées à Google Cloud Platform ou à votre compte. Vous pouvez désactiver les notifications concernant les intervalles de maintenance en modifiant vos préférences utilisateur : https://console.cloud.google.com/user-preferences/communication?project=${project_id}