Ce document explique comment vérifier l'état du système d'une instance de machine virtuelle (VM) tout au long de son cycle de vie dans Google Distributed Cloud (GDC) air-gapped.
Une instance de VM peut passer par plusieurs états au cours de son cycle de vie. Lorsque vous créez une VM, Distributed Cloud provisionne des ressources pour la démarrer. La VM passe ensuite à l'état de démarrage, où elle est préparée pour son premier démarrage. Pendant et après le démarrage, une VM est considérée comme en cours d'exécution. Une VM en cours d'exécution peut être arrêtée et redémarrée, ou suspendue et réactivée, plusieurs fois tout au long de sa durée de vie.
Ce document s'adresse aux développeurs des groupes d'administrateurs de plate-forme ou d'opérateurs d'applications qui examinent l'état du système des instances de VM dans un environnement Distributed Cloud. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.
Définitions des états des VM
| État | Définition |
|---|---|
Pending |
La VM est acceptée par le système et est en attente d'allocation. |
Provisioning
|
Les ressources associées à la VM, telles que VirtualMachineDisk, sont en cours de provisionnement et de préparation. |
Starting |
La VM est en cours de préparation pour l'exécution. |
Running |
La VM est en cours d'exécution. |
Stopping |
La VM est en cours d'arrêt. |
Stopped |
La VM est arrêtée et ne devrait pas démarrer. |
Paused
|
La VM est mise en pause et dans un état figé, qui est conservé. Impossible d'accéder à la VM. |
Terminating
|
La VM et ses ressources associées sont en cours de suppression. |
ErrorConfiguration
|
La VM présente une erreur de configuration. Les états de configuration non valides peuvent être dus aux éléments suivants : |
MachineTypeNotFound : le type de VM auquel la VM fait référence est introuvable ou est en cours de suppression. |
|
MachineDiskMisconfig : le disque de la VM n'est pas configuré correctement. |
|
InterfaceCreationFailed - Échec de la création de l'interface réseau. |
|
CrashLoopBackOff |
La VM est dans une boucle de plantage et attend d'être relancée. |
PendingIPAllocation |
La VM attend que le système lui attribue une adresse IP. |
Unknown
|
Impossible d'obtenir l'état de la VM, généralement en raison d'une erreur de communication avec l'hôte sur lequel elle s'exécute. |
ErrorUnschedulable
|
Une erreur s'est produite lors de la planification de la VM, par exemple en raison de requêtes de ressources ou de contraintes de planification qui ne peuvent pas être satisfaites ou prises en charge. |
DiskError |
La VM présente une erreur avec un ou plusieurs des disques associés. |
WaitingForDisk |
La VM attend qu'un ou plusieurs des VirtualMachineDisk associés soient prêts. |
CrashLoopBackoff |
La VM plante systématiquement pour une raison quelconque. |
Avant de commencer
Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud, assurez-vous d'avoir téléchargé, installé et configuré la CLI gdcloud.
Toutes les commandes pour Distributed Cloud utilisent la CLI gdcloud ou kubectl et nécessitent un environnement de système d'exploitation (OS).
Obtenir le chemin d'accès au fichier kubeconfig
Pour exécuter des commandes sur le serveur d'API Management, assurez-vous de disposer des ressources suivantes :
Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.
Utilisez le chemin d'accès au fichier kubeconfig du serveur d'API Management pour remplacer
MANAGEMENT_API_SERVERdans ces instructions.
Demander des rôles IAM
Contactez l'administrateur de projet IAM pour demander les rôles suivants sur votre projet :
Administrateur de projet de machine virtuelle (
project-vm-admin) : créez, modifiez, listez et supprimez des VM dans l'espace de noms du projet.Lecteur de projet(
project-viewer) : permet d'afficher toutes les ressources dans les espaces de noms du projet.
Tous les rôles de VM doivent être liés à l'espace de noms du projet dans lequel réside la VM. Suivez la procédure pour valider votre accès.
Vérifier l'état de la VM
L'état de chaque VM est indiqué dans ses propriétés. Vérifiez l'état d'une VM pour l'une des raisons suivantes :
- Si la VM présente des problèmes.
- Pour confirmer que la VM est en cours d'exécution après son démarrage.
- Pour vérifier que la VM est à l'état
PausedouStopped.
Répertorier les VM pour vérifier leur état
La procédure suivante montre comment lister les VM, afficher leur état et obtenir des informations supplémentaires sur leur état.
Répertoriez toutes les VM et affichez l'état de chacune d'elles :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.googRemplacez les variables des exemples de code par vos propres valeurs, conformément au tableau suivant.
Variable Définition MANAGEMENT_API_SERVERFichier kubeconfig du serveur d'API Management. PROJECTProjet GDC dans lequel réside la VM. Exemple de résultat :
NAME STATUS AGE vm-1 Running 1d vm-2 Stopped 8d vm-3 ErrorConfiguration 1dObtenez des informations supplémentaires sur l'état d'une VM spécifique :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -o jsonpath='{"State:"}{.status.state}{"\n"}{"Reason:"}{.status.reason}{"\n"}{"Message:"}{.status.message}{"\n"}'Remplacez les éléments suivants :
MANAGEMENT_API_SERVERpar le fichier kubeconfig du serveur d'API Management que vous avez obtenu à l'aide de la commandegdcloud auth login.VM_NAMEpar le nom de la nouvelle VM.PROJECTpar le projet GDC dans lequel réside la VM.
Exemple de résultat affichant les valeurs
ReasonetMessage:State: ErrorConfiguration Reason: MachineDiskNotFound Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.Il est également possible que les champs
ReasonetMessagesoient vides. Cela indique que le système n'avait rien à signaler les concernant.Exemple de résultat avec
ReasonetMessagevides :State: Running Reason: Message:
Arrêter ou redémarrer une VM
Au cours du cycle de vie d'une VM, vous devrez peut-être l'arrêter et la redémarrer, ou la supprimer pour répondre à un changement d'état ou la gérer de manière générale. Consultez ces pages pour arrêter, réinitialiser ou supprimer une VM :