Questo documento spiega come controllare lo stato del sistema di un'istanza di una macchina virtuale (VM) durante il suo ciclo di vita in Google Distributed Cloud (GDC) air-gapped.
Un'istanza VM può passare da uno stato all'altro nel corso del suo ciclo di vita. Quando crei una VM, Distributed Cloud esegue il provisioning delle risorse per avviarla. Successivamente, la VM passa allo stato di avvio, in cui si prepara per il primo avvio. Durante e dopo l'avvio, una VM è considerata in esecuzione. Durante il suo ciclo di vita, una VM in esecuzione può essere interrotta e riavviata ripetutamente o sospesa e ripresa.
Questo documento è rivolto agli sviluppatori dei gruppi di amministratori della piattaforma o di operatori delle applicazioni che esaminano lo stato del sistema delle istanze VM in un ambiente Distributed Cloud. Per saperne di più, consulta la documentazione sui segmenti di pubblico per GDC con air gap.
Definizioni degli stati delle VM
| Stato | Definizione |
|---|---|
Pending |
La VM è stata accettata dal sistema ed è in attesa di allocazione. |
Provisioning
|
Le risorse associate alla VM, ad esempio
VirtualMachineDisk, sono in fase di provisioning e preparazione. |
Starting |
La VM è in fase di preparazione per l'esecuzione. |
Running |
La VM è in esecuzione. |
Stopping |
La VM è in fase di arresto. |
Stopped |
La VM è arrestata e non è previsto che venga avviata. |
Paused
|
La VM è in pausa e in uno stato bloccato, che viene conservato. Impossibile accedere alla VM. |
Terminating
|
La VM e le risorse associate sono in fase di eliminazione. |
ErrorConfiguration
|
La VM presenta un errore di configurazione. Gli stati di configurazione non valida possono essere causati da quanto segue: |
MachineTypeNotFound - Il tipo di VM a cui fa riferimento la VM non è stato trovato o è in fase di eliminazione. |
|
MachineDiskMisconfig - Il disco della VM non è configurato correttamente. |
|
InterfaceCreationFailed - Creazione dell'interfaccia di rete non riuscita. |
|
CrashLoopBackOff |
La VM è in un loop di arresto anomalo e sta aspettando di essere riprovata. |
PendingIPAllocation |
La VM è in attesa che il sistema le assegni un indirizzo IP. |
Unknown
|
Impossibile ottenere lo stato della VM, in genere a causa di un errore di comunicazione con l'host su cui è in esecuzione. |
ErrorUnschedulable
|
Si è verificato un errore durante la pianificazione della VM, ad esempio a causa di richieste di risorse o vincoli di pianificazione che non possono essere soddisfatti o supportati. |
DiskError |
La VM presenta un errore con uno o più dischi collegati. |
WaitingForDisk |
La VM è in attesa che uno o più VirtualMachineDisk collegati siano pronti. |
CrashLoopBackoff |
La VM ha subito un arresto anomalo per qualche motivo. |
Prima di iniziare
Per utilizzare i comandi dell'interfaccia a riga di comando (CLI) gdcloud, assicurati di aver scaricato, installato e configurato l'interfaccia a riga di comando gdcloud.
Tutti i comandi per Distributed Cloud utilizzano l'interfaccia a riga di comando gdcloud o kubectl e richiedono un ambiente del sistema operativo (OS).
Ottieni il percorso del file kubeconfig
Per eseguire i comandi sul server dell'API di gestione, assicurati di disporre delle seguenti risorse:
Accedi e genera il file kubeconfig per il server API di gestione, se non ne hai uno.
Utilizza il percorso del file kubeconfig del server API di gestione per sostituire
MANAGEMENT_API_SERVERin queste istruzioni.
Richiedi ruoli IAM
Contatta l'amministratore del progetto IAM per richiedere i seguenti ruoli nel tuo progetto:
Virtual Machine Project Admin (
project-vm-admin): crea, modifica, elenca ed elimina le VM nello spazio dei nomi del progetto.Visualizzatore progetto(
project-viewer): visualizza tutte le risorse all'interno degli spazi dei nomi del progetto.
Tutti i ruoli delle VM devono essere associati allo spazio dei nomi del progetto in cui si trova la VM. Segui i passaggi per verificare il tuo accesso.
Controlla lo stato della VM
Ogni VM segnala il proprio stato come parte delle sue proprietà. Controlla lo stato di una VM per uno dei seguenti motivi:
- Se si verificano problemi con la VM.
- Per verificare che la VM sia in esecuzione dopo l'avvio.
- Per verificare che la VM sia nello stato
PausedoStopped.
Elenca le VM per controllare lo stato
La procedura seguente mostra come elencare le VM, visualizzarne lo stato e ottenere ulteriori informazioni sullo stato.
Elenca tutte le VM e visualizza lo stato di ciascuna:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.googSostituisci le variabili negli esempi di codice con i tuoi valori in base alla tabella seguente.
Variabile Definizione MANAGEMENT_API_SERVERIl file kubeconfig del server dell'API di gestione. PROJECTIl progetto GDC in cui si trova la VM. Output di esempio:
NAME STATUS AGE vm-1 Running 1d vm-2 Stopped 8d vm-3 ErrorConfiguration 1dVisualizza ulteriori dettagli sullo stato di una determinata VM:
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"}'Sostituisci quanto segue:
MANAGEMENT_API_SERVERcon il file kubeconfig per il server API di gestione ottenuto dal comandogdcloud auth login.VM_NAMEcon il nome della nuova VM.PROJECTcon il progetto GDC in cui si trova la VM.
Esempio di output che mostra i valori
ReasoneMessage:State: ErrorConfiguration Reason: MachineDiskNotFound Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.Potresti anche visualizzare campi vuoti per
ReasoneMessage. Ciò indica che non c'era nulla da segnalare al sistema in merito.Esempio di output con
ReasoneMessagevuoti:State: Running Reason: Message:
Arresta o riavvia una VM
Durante il ciclo di vita della VM, potresti dover arrestare e riavviare una VM o eliminarla per rispondere a una modifica dello stato o, in generale, per gestire la VM. Consulta queste pagine per arrestare, reimpostare o eliminare una VM: