Ce document explique comment afficher les opérations de maintenance de l'hôte à l'aide de la ligne de commande et du tableau de bord de maintenance GKE.
L'affichage des opérations de maintenance de l'hôte peut vous aider à atténuer les perturbations des charges de travail, en particulier pour un cluster GKE de longue durée avec des charges de travail qui pourraient être perturbées en raison d'interruptions périodiques de l'infrastructure.
Pour en savoir plus sur la maintenance de l'hôte sur GKE, consultez Comprendre comment effectuer la maintenance de l'hôte sur GKE.
Surveiller les notifications de maintenance
Avant qu'un événement de maintenance planifié ne se produise sur une VM,
Compute Engine envoie des notifications à toutes ses VM. Ces notifications indiquent le début de la période de maintenance de Compute Engine. Lorsqu'une maintenance à venir est planifiée par la VM, mais n'est pas active, GKE ajoute scheduled-maintenance-time au libellé du nœud.
Pour surveiller et détecter les événements de maintenance à venir, vous devez afficher les notifications de GKE et de Compute Engine.
Afficher la maintenance à venir sur Compute Engine
Compute Engine envoie des notifications lorsque des événements d'hôte perturbateurs sont planifiés pour des nœuds et leurs VM sous-jacentes, et lorsque ces événements deviennent actifs. Les notifications incluent des informations sur l'heure de début prévue, le type d'événement et d'autres détails.
Afficher la maintenance à venir sur GKE
Dans GKE 1.31.1-gke.2008000 et versions ultérieures, et pour certains types de machines, vous pouvez surveiller les événements de maintenance à venir.
- Pour les types de machines avec GPU ou TPU associés : 1.31.1-gke.2008000 ou version ultérieure
- Pour les types de machines Z3 avec plus de 18 Tio de SSD : 1.32.4-gke.1376000 ou version ultérieure
- Pour les types de machines H4D : 1.32.6-gke.1060000 ou version ultérieure
- Pour
c4a-highmem-96-metal: 1.35.0-gke.2232000 ou version ultérieure
Pour afficher les événements de maintenance à venir, vous pouvez effectuer l'une des opérations suivantes :
Interrogez les notifications au niveau du nœud. Pour cela, exécutez la commande suivante :
kubectl get nodes -l cloud.google.com/scheduled-maintenance-time \ -L cloud.google.com/scheduled-maintenance-timeLe résultat ressemble à ce qui suit :
NAME STATUS SCHEDULED-MAINTENANCE-TIME <gke-accelerator-node-name> Ready 1733083200 <gke-accelerator-node-name> Ready 1733083200 [...]La colonne
SCHEDULED-MAINTENANCE-TIMEreprésente des secondes, qui sont affichées au format heure epoch Unix.Interrogez ces notifications au niveau des métadonnées du nœud en vérifiant si les instances contiennent une notification d'événement de maintenance.
Pour les familles de machines optimisées pour les accélérateurs compatibles avec la maintenance avancée, vous pouvez accéder au point de terminaison
upcoming-maintenancequi fournit des informations sur les événements de maintenance planifiés et démarrés.
Afficher les événements Kubernetes pour la maintenance de l'hôte
Dans GKE 1.35 et versions ultérieures, les événements Kubernetes qui suivent le cycle de vie de la maintenance de l'hôte sont émis. Ces événements Kubernetes offrent une visibilité précise sur les périodes Compute Engine planifiées, les opérations en cours et les cas extrêmes tels que les réparations ou les annulations, ce qui vous permet de surveiller les perturbations directement dans l'environnement Kubernetes.
Vous pouvez afficher ces événements à l'aide des outils Kubernetes standards ou via Cloud Logging :
Pour afficher les événements de maintenance récents, utilisez la commande
kubectlsuivante :kubectl get events -n kube-system --field-selector involvedObject.kind=NodeLes événements Kubernetes sont conservés dans le cluster pendant 60 minutes. Cette commande n'affiche donc que ces événements récents par nœud.
Pour afficher les événements dans Cloud Logging, procédez comme suit :
Accédez à la page Explorateur de journaux dans la Cloud de Confiance console :
Utilisez la requête suivante :
resource.type="k8s_node" log_id("events") jsonPayload.metadata.annotations."maintenance.gke.io/category"="HostMaintenance"
Événements de cycle de vie de la maintenance
Les événements de cycle de vie de la maintenance sont émis sur les ressources de nœud Kubernetes. Le tableau suivant décrit les événements émis par GKE pendant le cycle de vie de la maintenance de l'hôte Compute Engine :
| Motif | Description |
|---|---|
MaintenanceWindowScheduled |
Un intervalle de maintenance de l'hôte Compute Engine a été planifié pour le nœud. |
MaintenanceWindowCancelled |
Un intervalle de maintenance de l'hôte Compute Engine a été supprimé sur le nœud. |
MaintenanceWindowRescheduled |
L'intervalle de maintenance de l'hôte Compute Engine précédemment planifié a été déplacé et l'heure de début de la maintenance a été mise à jour. |
CustomerTriggeredMaintenance |
La maintenance de l'hôte Compute Engine a été déclenchée manuellement via GKE. |
MaintenanceWindowStarted |
La maintenance de l'hôte Compute Engine a commencé. |
TerminateOnHostMaintenance |
Émis lorsque Compute Engine envoie le signal d'arrêt (TERMINATE_ON_HOST_MAINTENANCE). Si l'arrêt progressif est activé, GKE isole le nœud et planifie l'éviction du pod (SIGTERM). Les charges de travail reçoivent un préavis de 5 à 60 minutes, selon le niveau de la machine. |
PodEvictionComplete |
Tous les pods ont été évincés du nœud. |
MaintenanceWindowCleared |
La maintenance de l'hôte Compute Engine est terminée et le nœud est de nouveau prêt. |
Informations sur la charge utile de l'événement
Si des informations sur les événements de maintenance à venir sont disponibles via Compute Engine, chaque événement inclut également une charge utile contenant des données d'annotation avec les informations suivantes :
- Détails de la période Compute Engine : inclut
windowStartTime,windowEndTimeetlatestWindowStartTime. - Métadonnées de maintenance : état du cycle de maintenance au
moment de l'événement, motif de la maintenance (le motif peut être indiqué comme
SCHEDULEDouUNSCHEDULED) et possibilité de replanifier la période Compute Engine. - Métadonnées Kubernetes : incluent Cluster_name, nodepool_name et node_name.
Affichage des opérations de maintenance de l'hôte dans le tableau de bord de maintenance GKE
Le tableau de bord de maintenance GKE offre une vue consolidée des opérations de maintenance de l'hôte. Il offre une visibilité complète sur les activités de maintenance au niveau du cluster, du pool de nœuds et du nœud.
Le tableau de bord est basé sur Observability Analytics. Il affiche les cycles de maintenance, les états des nœuds et les métriques d'indisponibilité historiques.
Étape suivante
- Découvrez comment gérer les interruptions de nœuds lors de la maintenance de l'hôte.
- Découvrez comment effectuer la maintenance de l'hôte pour les nœuds exécutant des charges de travail d'accélérateur.
- Découvrez les périodes et les exclusions de maintenance GKE.