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'une VM ne fasse l'objet d'un événement de maintenance planifié, Compute Engine envoie des notifications à toutes ses VM. Ces notifications signalent le début de la période de maintenance 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 consulter les notifications de GKE et de Compute Engine.
Afficher la maintenance à venir sur Compute Engine
Compute Engine envoie des notifications lorsque des nœuds et leurs VM sous-jacentes sont planifiés pour des événements hôtes perturbateurs, 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 les opérations de maintenance à venir sur GKE
Dans la version 1.31.1-gke.2008000 et ultérieures de GKE, 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, version 1.31.1-gke.2008000 ou 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 les types de machines Z3 avec plus de 18 Tio de disque Titanium SSD, version 1.32.4-gke.1376000 ou ultérieure.
- Pour les types de machines Z4D avec plus de 41 Tio de disque Titanium SSD associé, version 1.36.3-gke.1244000 ou ultérieure.
Pour afficher les événements de maintenance à venir, vous pouvez effectuer l'une des opérations suivantes :
Notifications de requête 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 les secondes, qui sont affichées au format Unix epoch time.Interrogez ces notifications au niveau des métadonnées de nœud en vérifiant les instances pour 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 commencés.
Afficher les événements Kubernetes pour la maintenance de l'hôte
Dans GKE 1.35 et versions ultérieures, des é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 fenêtres Compute Engine planifiées, les opérations en cours et les cas extrêmes tels que les réparations ou les annulations. Vous pouvez ainsi surveiller les perturbations directement dans l'environnement Kubernetes.
Vous pouvez afficher ces événements à l'aide des outils Kubernetes standards ou de 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 les é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 console Cloud de Confiance :
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 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 au cours du 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é modifiée. |
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 bien été expulsé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 un événement de maintenance à venir sont disponibles dans Compute Engine, chaque événement inclut également une charge utile contenant des données d'annotation avec les informations suivantes :
- Détails de la fenêtre Compute Engine : inclut
windowStartTime,windowEndTimeetlatestWindowStartTime. - Métadonnées de maintenance : état du cycle de maintenance au moment de l'événement, raison de la maintenance (qui peut être indiquée comme
SCHEDULEDouUNSCHEDULED) et possibilité de reprogrammer la fenêtre Compute Engine. - Métadonnées Kubernetes : incluent Cluster_name, nodepool_name et node_name.
Vue des opérations de maintenance de l'hôte dans le tableau de bord de maintenance GKE
Le tableau de bord de maintenance GKE fournit une vue consolidée des opérations de maintenance de l'hôte. Le tableau de bord offre une visibilité complète sur les activités de maintenance au niveau du cluster, du pool de nœuds et des nœuds.
Le tableau de bord est basé sur Observability Analytics. Il affiche les cycles de maintenance, l'état des nœuds et les métriques historiques sur les temps d'arrêt.
Étapes suivantes
- Découvrez comment gérer les interruptions des 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.
- En savoir plus sur les intervalles et les exclusions de maintenance GKE