Ce document explique comment résoudre les problèmes liés à VM Manager.
Pour en savoir plus sur VM Manager, consultez la page VM Manager.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Présentation
Pour résoudre les problèmes, vérifiez d'abord que VM Manager est correctement configuré. Si la configuration est correcte et que vous rencontrez toujours des problèmes, vous pouvez consulter les journaux. Lorsque vous consultez les journaux, vous pouvez identifier les problèmes liés à votre VM ou à votre workflow VM Manager, tels que les erreurs dans les commandes ou les scripts, que vous pouvez isoler et résoudre.
Vous pouvez collecter les informations suivantes à partir des journaux:
- Tout message d'erreur ou avertissement enregistré par la VM. Ceci est idéal pour identifier les erreurs au niveau de la VM ou les erreurs provenant d'autres services exécutés sur la VM. Pour consulter ces journaux, consultez la section Inspecter Cloud Logging.
- Informations de débogage détaillées enregistrées par l'agent OS Config. Cela est utile pour identifier les problèmes liés aux opérations exécutées par VM Manager. Pour inspecter les journaux de débogage pour l'agent OS Config, consultez la page Inspecter les journaux de débogage.
Après avoir identifié les problèmes ou les erreurs, vous pouvez également consulter la section des erreurs fréquentes pour connaître les solutions potentielles.
Inspecter Cloud Logging
Vous pouvez utiliser les liens rapides de la console Google Cloud pour chaque fonctionnalité afin d'afficher les journaux d'une VM spécifique.
Correctif d'OS
- Dans Google Cloud Console, accédez à l'onglet Tâches d'application de correctifs sur la page OS Patch Management.
- Cliquez sur le nom de la tâche de correctif que vous souhaitez déboguer.
- Faites défiler la page jusqu'à la section Instances de VM mises à jour.
- Pour une VM spécifique, sous Journaux, cliquez sur Afficher.
Configuration de l'OS
Cette procédure est compatible avec OS Configuration Management (aperçu). Pour OS Configuration Management (bêta), utilisez l'option des journaux de débogage de la section suivante.
- Dans Google Cloud Console, accédez à l'onglet Instances de VM sur la page OS configuration management.
- Cliquez sur le nom de la VM que vous souhaitez déboguer.
- Faites défiler la page jusqu'à la section Règles.
- Sous Journaux, cliquez sur Afficher.
Inspecter les journaux de débogage
Vous pouvez identifier les problèmes liés à n'importe quelle fonctionnalité de VM Manager en activant le débogage pour l'agent OS Config et en affichant le journal de débogage.
Activer la journalisation du débogage pour l'agent OS Config
Vous pouvez activer la journalisation de débogage en définissant les métadonnées osconfig-log-level=debug
sur l'instance de VM ou le projet.
Pour activer la journalisation du débogage sur votre VM, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Cliquez sur le nom de la VM pour laquelle vous souhaitez définir la valeur des métadonnées.
Sur la page Détails de l'instance, cliquez sur Modifier pour modifier les paramètres.
Dans la section Métadonnées personnalisées, ajoutez les entrées de métadonnées suivantes :
Clé :
osconfig-log-level
Valeur :debug
Cliquez sur Enregistrer pour appliquer vos modifications à la VM.
gcloud
Exécutez la commande instances add-metadata
avec l'option --metadata=osconfig-log-level=debug
:
gcloud compute instances add-metadata VM_NAME \ --metadata=osconfig-log-level=debug
Remplacez VM_NAME
par le nom de votre VM.
REST
Pour obtenir des instructions sur la définition des métadonnées d'instance, suivez les instructions de l'API figurant à la section Définir des métadonnées d'instance.
La paire clé-valeur suivante est requise dans la propriété de métadonnées :
Clé : osconfig-log-level
Valeur : debug
Afficher les journaux de débogage
Lorsque la journalisation de débogage est activée, l'agent de configuration du système d'exploitation écrit des entrées de journal dans Cloud Logging et la console de port série.
Une fois la journalisation du débogage activée sur votre VM, l'agent OS Config prend environ dix minutes pour commencer à écrire des messages de débogage dans Cloud Logging. Vous pouvez réduire ce délai d'attente en redémarrant l'agent ou en redémarrant votre VM. Pour en savoir plus sur Cloud Logging, consultez la section Afficher les journaux Cloud Logging.
Pour afficher les journaux de débogage, utilisez les options suivantes:
- Cloud Logging: utiliser la console Google Cloud ou Google Cloud CLI
Console du port série
Console
Accédez à la page Journalisation > Explorateur de journaux dans la console Google Cloud :
Si nécessaire, sélectionnez un projet Google Cloud existant en haut de la page ou créez-en un.
Dans la liste déroulante Ressource, sélectionnez Instance de VM. Une liste des VM disponibles (
instance_id
) s'affiche.Cliquez sur la VM que vous souhaitez afficher.
Cliquez sur Ajouter.
Dans la liste déroulante Nom du journal, sélectionnez OSConfigAgent.
Cliquez sur Ajouter.
Votre requête doit ressembler à ce qui suit :
resource.type="gce_instance" resource.labels.instance_id="136126869923081757" logName="projects/my-vm-manager-project/logs/OSConfigAgent"
Cliquez sur Run query.
gcloud
Exécutez la commande gcloud logging read
gcloud logging read "resource.type=gce_instance AND logName=projects/PROJECT_ID/logs/OSConfigAgent"
Remplacez PROJECT_ID
par l'ID du projet.
Port de série
Pour afficher les informations du journal de débogage à partir de la console du port série, consultez la page Afficher les données en sortie du port série.
Erreurs fréquentes
Problèmes d'authentification
Pour que VM Manager fonctionne, vous devez disposer des éléments suivants :
- Un compte de service associé VM Manager utilise ce compte de service pour signer les requêtes envoyées au service d'API.
- Assurez-vous que le compte de service associé dispose du rôle
roles/logging.logWriter
pour écrire des journaux dans l'API Logging. - Agent de service Google Cloud OS Config. VM Manager crée cet agent de service lors du démarrage des jobs d'application de correctifs et lui attribue le rôle d'agent de service Cloud OS Config. Pour créer des règles d'OS, vous n'avez pas besoin de configurer cet agent de service.
Si vous utilisez VM Manager et que vous n'avez pas de compte de service associé ou d'agent de service Google Cloud OS Config, les erreurs suivantes peuvent s'afficher lorsque vous utilisez des jobs d'application de correctifs :
Service account permissions are missing. Verify that the service account has the correct permissions and try again.
OSConfigAgent Error main.go:88: error getting token from metadata: metadata: GCE metadata "instance/service-accounts/default/identity?audience=osconfig.googleapis.com&format=full" not defined
message: "Error running OPERATION_NAME: error calling OPERATION_NAME: code: "PermissionDenied", message: "The caller does not have permission", details: []"
Des problèmes d'authentification peuvent également empêcher les instances de VM de s'afficher dans le tableau de bord Patch.
Pour résoudre ces problèmes, essayez l'une des solutions suivantes, ou les deux :
- Vérifiez que toutes les VM disposent d'un compte de service associé.
Assurez-vous que le rôle Agent de service Cloud OS Config (
roles/osconfig.serviceAgent
) est défini sur l'agent de service Google Cloud OS Config.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com' \ --role='roles/osconfig.serviceAgent'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.PROJECT_NUMBER
: votre numéro de projet.
Erreur lors de l'exclusion des packages pour les mises à jour de correctifs
Si vous spécifiez des caractères génériques ou des caractères spéciaux pour le nom des packages lorsque vous excluez des packages dans un job d'application de correctifs, OS Patch Management peut ignorer la liste et mettre à jour tous les packages.
Pour résoudre ce problème, mettez à jour l'agent OS Config vers la version 20220829.00
et utilisez des barres obliques (/
) pour encapsuler le nom du package.
Dans l'exemple suivant, OS Patch Management exclut les packages yum
dont le nom contient le préfixe google-
.
gcloud compute os-config patch-jobs execute --instance-filter-all
--yum-excludes=/google-.*/