Un'istanza VM può passare attraverso molti stati durante il suo ciclo di vita. Quando crei una VM, Google Distributed Cloud (GDC) air-gapped esegue il provisioning delle risorse per avviare la VM. 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.
Definizioni degli stati della VM
| Stato | Definizione |
|---|---|
Pending |
La VM è 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 preservato. Non è possibile 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 validi 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 - La creazione dell'interfaccia di rete non è riuscita. |
|
CrashLoopBackOff |
La VM è in un ciclo di arresti anomali e attende di essere riprovata. |
PendingIPAllocation |
La VM è in attesa che il sistema le assegni un indirizzo IP. |
Unknown
|
Non è stato possibile 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 arresti anomali costanti 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 la CLI gdcloud.
Tutti i comandi per Distributed Cloud utilizzano la CLI gdcloud o
kubectl e richiedono un ambiente del sistema operativo (OS).
Recupera il percorso del file kubeconfig
Per eseguire comandi sul server dell'API Management, assicurati di disporre delle seguenti risorse:
Accedi e genera il file kubeconfig per il server API Management se non ne hai uno.
Utilizza il percorso del file kubeconfig del server API Management per sostituire
MANAGEMENT_API_SERVERin queste istruzioni.
Richiedere autorizzazioni e accesso
Per eseguire le attività elencate in questa pagina, devi disporre del ruolo Amministratore
macchina virtuale progetto. Segui i passaggi per
verificare
di disporre del ruolo Amministratore macchina virtuale progetto (project-vm-admin) nello spazio dei nomi
del progetto in cui si trova la VM.
Per le operazioni sulle VM che utilizzano la console GDC o la CLI gdcloud, chiedi all'amministratore IAM del progetto di assegnarti sia il ruolo Project VirtualMachine Admin sia il ruolo Project Viewer (project-viewer).
Controllare lo stato della VM
Ogni VM segnala il proprio stato come parte delle proprietà della VM. Controlla lo stato di una VM per uno dei seguenti motivi:
- Se ci sono problemi con la VM.
- Per verificare che la VM sia in esecuzione dopo l'avvio.
- Per verificare che la VM si trovi nello stato
PausedoStopped.
Elenca le VM per controllare lo stato
La procedura seguente mostra come elencare le VM, visualizzarne lo stato e ottenere informazioni aggiuntive 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 seguente tabella.
Variabile Definizione MANAGEMENT_API_SERVERIl file kubeconfig del server 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 1dPer visualizzare ulteriori dettagli sullo stato di una VM specifica:
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 Management 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 di
ReasoneMessage:State: ErrorConfiguration Reason: MachineDiskNotFound Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.Potresti anche trovare campi vuoti per
ReasoneMessage. Ciò indica che il sistema non ha segnalato nulla 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 per gestire la VM in generale. Consulta queste pagine per arrestare, reimpostare o eliminare una VM: