Résoudre les problèmes liés à Distributed Cloud connecté

Google surveille et gère à distance le matériel Google Distributed Cloud Connected. Pour ce faire, les ingénieurs Google disposent d'un accès Secure Shell (SSH) au matériel Distributed Cloud Connected. Si Google détecte un problème, un ingénieur Google vous contacte pour le résoudre. Si vous avez identifié un problème vous-même, contactez immédiatement l'assistance Google pour le diagnostiquer et le résoudre.

Mises à niveau logicielles de Distributed Cloud connected

Cette section explique comment utiliser l'explorateur de métriques pour vérifier si un cluster Distributed Cloud connecté est en cours de mise à niveau logicielle.

Cette procédure utilise les métriques Monitoring suivantes :

  • Version actuelle du cluster (/edge_cluster/current_cluster_version) : indique la version actuelle du logiciel Distributed Cloud connecté exécuté sur le cluster.

  • Version cible du cluster (/edge_cluster/target_cluster_version) : indique la version cible de Distributed Cloud connecté vers laquelle le cluster est mis à niveau.

Pour suivre les étapes de cette section, vous devez remplir les conditions préalables suivantes :

  1. Accès à la console Google Cloud et à votre projet Distributed Cloud connecté Google Cloud .
  2. Le rôle IAM Lecteur Monitoring, qui vous permet d'afficher les métriques Monitoring.
  3. (Facultatif) Valeur machine_id de la machine Distributed Cloud connectée cible pour filtrer les résultats renvoyés.

Utiliser l'explorateur de métriques pour vérifier les versions logicielles actuelles et cibles du cluster

  1. Accédez à l'explorateur de métriques :

    1. Dans la console Google Cloud , accédez à la section Monitoring.

    2. Dans l'arborescence de navigation de gauche, cliquez sur Explorateur de métriques.

  2. Sélectionnez le type de ressource cible :

    1. Sur la page "Explorateur de métriques", accédez à la page Configuration.

    2. Cliquez sur Sélectionner une métrique.

    3. Utilisez la barre de recherche pour rechercher le type de ressource Cluster. Vous pouvez également utiliser l'identifiant de ressource complet edgecontainer.googleapis.com/Cluster.

    4. Dans les résultats renvoyés, cliquez sur le type de ressource Cluster.

  3. Obtenez la version logicielle actuelle du cluster :

    1. Dans la section Métrique, recherchez la valeur current_cluster_version.

    2. Sélectionnez la métrique Temps d'activité de la machine. Son chemin d'accès complet est edgecontainer.googleapis.com/edge_cluster/current_cluster_version.

    3. (Facultatif) Filtrez par valeur cible machine_id à l'aide de la section Filtrer.

  4. Obtenez la version logicielle cible du cluster :

    1. Cliquez sur Ajouter une requête.

    2. Dans la section Métrique, recherchez la valeur target_cluster_version.

    3. Sélectionnez la métrique Version du cluster cible. Son chemin d'accès complet est edgecontainer.googleapis.com/edge_cluster/target_cluster_version.

    4. (Facultatif) Filtrez par valeur cible machine_id à l'aide de la section Filtrer.

  5. Vérifiez l'état de la mise à niveau logicielle du cluster dans le graphique qui s'affiche.

    • Si les lignes Version actuelle du cluster et Version cible du cluster indiquent des valeurs différentes, cela signifie que le cluster est en cours de mise à niveau logicielle.

    • Si les lignes Version actuelle du cluster et Version cible du cluster indiquent la même valeur, cela signifie que le cluster ne fait pas l'objet d'une mise à niveau logicielle.

  6. Vérifiez le résultat de l'étape précédente à l'aide de la commande suivante :

    gcloud edge-cloud container clusters describe CLUSTER_ID --location=REGION
    

    Remplacez les éléments suivants :

    • CLUSTER_ID : ID du cluster cible.
    • REGION : région Google Cloud dans laquelle le cluster a été créé.

    Dans le résultat de la commande, notez les valeurs des champs suivants :

    • Si la valeur du champ status est UPDATING, cela signifie que le cluster est en cours de mise à niveau logicielle.
    • Si les valeurs des champs clusterVersion et targetVersion sont différentes, comparez-les à celles renvoyées par l'explorateur de métriques.

Comprendre les résultats

Le tableau suivant décrit les résultats renvoyés par l'explorateur de métriques et la commande gcloud.

État du cluster Diagnostic Solution
Bon
Les valeurs currentVersion et targetVersion correspondent
La valeur "status" est RUNNING
Le cluster exécute la version cible du logiciel Distributed Cloud connecté. Aucune.
Mise à niveau
La valeur currentVersion est inférieure à targetVersion
La valeur "status" est UPDATING
Le cluster est en cours de mise à niveau vers la version cible du logiciel Distributed Cloud Connected. Surveillez le cluster dans l'explorateur de métriques jusqu'à ce que les valeurs de version actuelle et cible du cluster correspondent.
Bloqué
La valeur currentVersion est inférieure à targetVersion indéfiniment
La valeur `status` est UPDATING indéfiniment
La mise à niveau vers la version cible du logiciel Distributed Cloud connecté a échoué sur au moins un nœud du cluster. Vérifiez la connectivité de la machine et les journaux système. Contactez Google pour obtenir de l'aide.
Rétablissement
La valeur currentVersion est supérieure à targetVersion
La valeur "status" est UPDATING
luster effectue un rollback vers une version précédente du logiciel Distributed Cloud connecté. Contactez Google pour connaître le motif de la restauration.

Si la mise à niveau logicielle du cluster a échoué ou si le cluster est revenu à une version logicielle antérieure, vérifiez les points suivants :

  • État des nœuds Vérifiez que chaque machine physique connectée à Distributed Cloud dispose d'une connectivité réseau et que le temps d'activité est signalé comme décrit dans la section suivante.
  • Intervalles de maintenance Vérifiez si la mise à niveau logicielle a été suspendue en raison d'une période d'exclusion de maintenance.
  • Journaux système Examinez les journaux système pour identifier les raisons possibles de l'échec de la mise à niveau du logiciel, comme les délais d'expiration de l'éviction des pods.

Si les étapes de résolution listées dans le tableau ne résolvent pas le problème, contactez l'assistance Google en indiquant la valeur machine_id de la machine concernée et l'heure de l'indisponibilité.

Redémarrages de machines Distributed Cloud connecté

Cette section explique comment utiliser l'explorateur de métriques pour vérifier si une machine physique connectée à Distributed Cloud a redémarré et déterminer la raison de ce redémarrage. La surveillance des redémarrages permet de déterminer s'ils faisaient partie d'une maintenance planifiée ou s'ils étaient dus à une défaillance matérielle ou à une coupure de courant.

Cette procédure utilise les métriques Monitoring suivantes :

  • Temps d'activité de la machine (/machine/uptime) : indique le temps écoulé en secondes depuis le dernier redémarrage.

  • Redémarrages de la machine (/machine/restart_count) : indique le nombre total de redémarrages de la machine cible depuis son déploiement.

Pour suivre les étapes de cette section, vous devez remplir les conditions préalables suivantes :

  1. Accès à la console Google Cloud et à votre projet Distributed Cloud connecté Google Cloud .
  2. Le rôle IAM Lecteur Monitoring, qui vous permet d'afficher les métriques Monitoring.
  3. (Facultatif) Valeur machine_id de la machine Distributed Cloud connectée cible pour filtrer les résultats renvoyés.

Utiliser l'explorateur de métriques pour vérifier la disponibilité et le nombre de redémarrages d'une machine

  1. Accédez à l'explorateur de métriques :

    1. Dans la console Google Cloud , accédez à la section Monitoring.

    2. Dans l'arborescence de navigation de gauche, cliquez sur Explorateur de métriques.

  2. Sélectionnez le type de ressource cible :

    1. Sur la page "Explorateur de métriques", accédez à la page Configuration.

    2. Cliquez sur Sélectionner une métrique.

    3. Utilisez la barre de recherche pour rechercher le type de ressource Machine. Vous pouvez également utiliser l'identifiant de ressource complet edgecontainer.googleapis.com/Machine.

    4. Dans les résultats renvoyés, cliquez sur le type de ressource Machine.

  3. Vérifiez la disponibilité de la machine :

    1. Dans la section Métrique, recherchez la valeur uptime.

    2. Sélectionnez la métrique Temps d'activité de la machine. Son chemin d'accès complet est edgecontainer.googleapis.com/machine/uptime.

    3. (Facultatif) Filtrez par valeur cible machine_id à l'aide de la section Filtrer.

    4. Dans le graphique temporel qui s'affiche, vérifiez que le graphique de disponibilité est en hausse continue. Si la valeur de disponibilité tombe à zéro et redémarre, cela indique que la machine a redémarré.

  4. Vérifiez le nombre de redémarrages de la machine :

    1. Dans la section Métrique, recherchez la valeur restart_count.

    2. Sélectionnez la métrique Redémarrages de l'appareil. Son chemin d'accès complet est edgecontainer.googleapis.com/machine/restart_count.

    3. (Facultatif) Filtrez par valeur cible machine_id à l'aide de la section Filtrer.

    4. Dans le graphique temporel qui s'affiche, vérifiez que la ligne du graphique reste à 0, ce qui indique qu'aucun redémarrage n'a eu lieu. Si la ligne atteint 1 à un moment donné, cela indique que la machine a redémarré. Notez l'heure exacte du redémarrage pour résoudre le problème.

    5. (Facultatif) Pour afficher des événements individuels au lieu d'un graphique, accédez à la section Agrégation de la page, définissez le champ Période d'alignement sur 1 minute et le champ Aligneur par série sur Delta.

Comprendre les résultats

Le tableau suivant décrit les résultats renvoyés par l'explorateur de métriques.

État de la machine Diagnostic Solution
Stable
La métrique "Temps d'activité de la machine" augmente régulièrement
Le delta de la métrique "Redémarrages de la machine" est de 0
La machine n'a pas redémarré. Aucune.
Redémarrage propre
La métrique "Temps d'activité de la machine" passe à 0
La métrique "Redémarrages de la machine" passe à 1
La machine a bien redémarré et s'est reconnectée à Google Cloud. Consultez les journaux système pour déterminer la raison du redémarrage.
Panne de courant
Le graphique de la métrique "Temps d'activité de la machine" présente une interruption sans données.
La métrique "Redémarrages de la machine" n'a pas changé pendant l'interruption du temps d'activité de la machine.
L'alimentation ou la connectivité réseau de la machine ont été perdues avant qu'elle ne puisse redémarrer. Vérifiez le câblage de l'alimentation et du réseau, la configuration du réseau local et l'état de l'indicateur LED.
Intermittent
La valeur de la métrique "Machine connectée" alterne entre 0 et 1
La valeur de la métrique "Connectivité réseau" alterne entre 0 et 1
Connexion réseau instable, perte de paquets ou latence excessive. Vérifiez si votre réseau local est congestionné ou si le matériel est défectueux.

Si les étapes de résolution listées dans le tableau ne résolvent pas le problème, contactez l'assistance Google en indiquant la valeur machine_id de la machine concernée et l'heure de l'indisponibilité.

Connectivité des machines Distributed Cloud connecté

Cette section explique comment vérifier la connectivité Internet et Google Cloud de vos machines connectées Distributed Cloud à l'aide de l'explorateur de métriques de Cloud Monitoring.

Cette procédure utilise les métriques Monitoring suivantes :

  • Machine connectée (/machine/connected) : indique si la machine est connectée à Google Cloud.

  • Connectivité réseau (/machine/network/connectivity) : indique si l'interface réseau principale de la machine est connectée à Internet.

Pour suivre les étapes de cette section, vous devez remplir les conditions préalables suivantes :

  1. Accès à la console Google Cloud et à votre projet Distributed Cloud connecté Google Cloud .
  2. Le rôle IAM Lecteur Monitoring, qui vous permet d'afficher les métriques Monitoring.
  3. (Facultatif) Valeur machine_id de la machine Distributed Cloud connectée cible pour filtrer les résultats renvoyés.

Utiliser l'explorateur de métriques pour vérifier la connectivité des machines

  1. Accédez à l'explorateur de métriques :

    1. Dans la console Google Cloud , accédez à la section Monitoring.

    2. Dans l'arborescence de navigation de gauche, cliquez sur Explorateur de métriques.

  2. Sélectionnez le type de ressource cible :

    1. Sur la page "Explorateur de métriques", accédez à la page Requêtes.

    2. Utilisez la barre de recherche pour rechercher le type de ressource Machine. Vous pouvez également utiliser l'identifiant de ressource complet edgecontainer.googleapis.com/Machine.

    3. Dans les résultats renvoyés, cliquez sur le type de ressource Machine.

  3. Vérifiez la connexion de la machine à Google Cloud :

    1. Dans la section Métrique, recherchez la valeur connected.

    2. Sélectionnez la métrique Machine connectée. Son chemin d'accès complet est edgecontainer.googleapis.com/machine/connected.

    3. (Facultatif) Filtrez par valeur cible machine_id à l'aide de la section Filtrer.

    4. Dans le graphique temporel qui s'affiche, vérifiez que la ligne Opérationnelle reste à 100 % de manière continue. Si cette valeur est de 0 % ou Non sain à un moment donné, cela signifie que la machine a perdu la connectivité avec Google Cloud à l'heure indiquée.

  4. Vérifiez la connectivité Internet de la machine :

    1. Dans la section Métrique, recherchez la valeur connectivity.

    2. Sélectionnez la métrique Connectivité réseau. Son chemin d'accès complet est edgecontainer.googleapis.com/machine/network/connectivity.

    3. (Facultatif) Filtrez par valeur cible machine_id à l'aide de la section Filtrer.

    4. Dans le graphique temporel qui s'affiche, vérifiez que la ligne Opérationnelle reste à 100 % de manière continue. Si cette valeur est de 0 % à un moment donné (Non sain), cela signifie que la machine a perdu sa connexion Internet à l'heure indiquée.

Comprendre les résultats

Le tableau suivant décrit les résultats renvoyés par l'explorateur de métriques.

État de la machine Diagnostic Solution
Bon état
La valeur de la métrique "Machine connectée" est 1
La valeur de la métrique "Connectivité réseau" est 1
Fonctionnement normal. Aucune.
Déconnecté
La valeur de la métrique "Machine connectée" est 0
La valeur de la métrique "Connectivité réseau" est 1
La machine est connectée à Internet, mais ne parvient pas à se connecter à Google Cloud. Vérifiez vos règles de pare-feu pour les services Google et les points de terminaison d'API. Vérifiez que les agents connectés Distributed Cloud sont en cours d'exécution sur la machine.
Isolé
La valeur de la métrique "Machine connectée" est 0
La valeur de la métrique "Connectivité réseau" est 0
L'appareil n'est pas connecté à Internet. Vérifiez le câblage de l'alimentation et du réseau, la configuration du réseau local et l'état de l'indicateur LED. Vérifiez la configuration de votre VLAN et de votre routage.
Intermittent
La valeur de la métrique "Machine connectée" alterne entre 0 et 1
La valeur de la métrique "Connectivité réseau" alterne entre 0 et 1
Connexion réseau instable, perte de paquets ou latence excessive. Vérifiez si votre réseau local est congestionné ou si le matériel est défectueux.

Si vous constatez des valeurs 0 soutenues pour l'une ou l'autre métrique, suivez les étapes de dépannage décrites dans le tableau pour les résoudre. Si le problème persiste, contactez l'assistance Google en indiquant la valeur machine_id de la machine concernée et l'heure de l'indisponibilité.

Machines virtuelles bloquées à l'état Pending

Une charge de travail de machine virtuelle peut rester bloquée à l'état Pending et ne pas être planifiée sur un nœud si l'un des événements suivants se produit :

  • Distributed Cloud connected ne peut pas allouer les ressources demandées (temps CPU, mémoire ou espace disque, par exemple) à la machine virtuelle.
  • La configuration de la machine virtuelle comporte une erreur.
  • Le stockage de la machine virtuelle présente un défaut.
  • Le nœud cible est corrompu.

Pour résoudre ce problème, procédez comme suit :

  1. Obtenez les identifiants du cluster, comme décrit dans Obtenir les identifiants d'un cluster.

  2. Obtenez des informations sur la machine virtuelle concernée :

    kubectl describe virtualmachine VM_NAME -n NAMESPACE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de la machine virtuelle cible.
    • NAMESPACE : espace de noms de la machine virtuelle cible.

    La commande renvoie un résultat semblable à celui-ci :

    Status:
    ...
    State:                    Pending
    ...
    Events:
    Type     Reason                  Age   From                       Message
    ----     ------                  ----  ----                       -------
    Normal   SuccessfulCreate        15m   virtualmachine-controller  Created virtual machine my-stuck-vm
    Warning  DiskProvisioningFailed  14m   virtualmachine-controller  Failed to provision disk: DataVolume my-stuck-vm-data-disk not ready
    Warning  PVCNotBound             14m   virtualmachine-controller  PersistentVolumeClaim my-stuck-vm-data-disk is in phase Pending
    Warning  VMINotCreated           10m   virtualmachine-controller  VirtualMachineInstance cannot be created: dependencies not ready
    

    Le résultat de la commande contient des messages qui peuvent indiquer des contraintes de ressources, des échecs de planification, des problèmes de stockage et d'autres problèmes.

  3. Examinez le résultat pour déterminer les causes de l'échec de la planification, comme expliqué dans les sections suivantes.

Ressources insuffisantes

Vous pouvez voir un message indiquant des ressources insuffisantes, comme le processeur, la mémoire ou l'espace disque. Exemple :

5/8 nodes are available: 3 Insufficient memory, 3 Insufficient CPU.

Pour résoudre ce problème, vérifiez les ressources allouées aux machines virtuelles concernées et aux autres charges de travail planifiées sur le nœud, puis procédez comme suit en fonction de vos besoins professionnels :

  • Réduisez l'échelle des autres charges de travail planifiées sur le nœud.
  • Réduisez la quantité de ressources allouées à la machine virtuelle concernée.
  • Ajoutez d'autres machines au cluster concerné.

Nœuds rejetés

Il est possible qu'un message indique que le nœud cible est contaminé. Exemple :

5/8 nodes are available: 3 node(s) had taint {<taint-key>:<taint-value>}, that the pod didn't tolerate.

Pour résoudre ce problème, procédez comme suit :

  1. Exécutez la commande suivante pour vérifier les rejets sur le nœud :

    kubectl get nodes -o custom-columns=NAME:.metadata.name,TAINTS:.spec.taints
    

    La commande renvoie un résultat semblable à celui-ci :

    NAME                           TAINTS
    node-name-1   [map[effect:PreferNoSchedule key:node-role.kubernetes.io/master] map[effect:PreferNoSchedule key:node-role.kubernetes.io/control-plane]]
    node-name-2   <none>
    
  2. Effectuez l'une des opérations suivantes :

    • Pour les rejets inattendus, supprimez-les comme décrit dans Rejets et tolérances.
    • Pour les taints attendus, ajoutez les tolérances correspondantes à la configuration de la machine virtuelle, comme décrit dans Taints et tolérances.

Défaillances de stockage

Un message peut s'afficher pour indiquer un problème de stockage de la machine virtuelle. Exemple :

5/8 nodes are available: 3 node(s) had volume node affinity conflict, 3 node(s) had unbound immediate PersistentVolumeClaims.

Ce message peut indiquer que le volume persistant correspondant ne parvient pas à être monté sur le nœud cible.

Pour résoudre ce problème, procédez comme suit :

  1. Utilisez la commande suivante pour obtenir l'état des revendications de volume persistant (PVC) dans l'espace de noms de la machine virtuelle concernée :

    kubectl get pvc -n NAMESPACE
    

    Remplacez NAMESPACE par le nom de l'espace de noms cible.

    La commande renvoie un résultat semblable à celui-ci :

    NAME                                               STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS            AGE
    windows-robin-disk-0                               Bound     pvc-b1a1d264-84bf-4e58-857d-f37f629d5082   25Gi       RWX            robin-block-immediate   30h
    windows-robin-disk-1                               Bound     pvc-0130b9a8-7fed-4df0-8226-d79273792a16   25Gi       RWX            robin-block-immediate   30h
    windows-robin-vm-0-restored-windows-robin-disk-0   Pending                                                                        gce-pd-gkebackup-in     26m
    
  2. Vérifiez que le PVC correspondant a l'état Bound. Si l'état est Pending, cela signifie que le sous-système de stockage n'a pas réussi à provisionner le volume. Dans ce cas, vous devez résoudre les problèmes de configuration du sous-système de stockage et vous assurer que le StorageClass approprié est disponible.