Un'istanza VM può passare attraverso molti stati durante il suo ciclo di vita. Quando crei una VM, l'appliance con air gap di Google Distributed Cloud (GDC) 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 viene considerata in esecuzione. Durante il suo ciclo di vita, una VM in esecuzione può essere arrestata e riavviata o sospesa e ripristinata ripetutamente.
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 VM non è configurato correttamente. |
|
InterfaceCreationFailed - La creazione dell'interfaccia di rete non è riuscita. |
|
CrashLoopBackOff |
La VM si trova attualmente in un ciclo di arresti anomali ed è in attesa di essere ritentata. |
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 |
Si è verificato un errore nella VM 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 l'appliance GDC air-gapped 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 API Management, assicurati di disporre delle seguenti risorse:
Individua il nome del server dell'API Management o chiedi all'amministratore della piattaforma (PA) qual è il nome del server.
Accedi e genera il file kubeconfig per il server API Management se non ne hai uno.
Utilizza il percorso per sostituire
MANAGEMENT_API_SERVER{"</var>"}}
in 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 o chiedere all'amministratore IAM progetto di assegnarti il ruolo Amministratore VirtualMachine 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 gcloud CLI,
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
Paused
oStopped
.
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 \ get virtualmachines.virtualmachine.gdc.goog -n PROJECT
Sostituisci le variabili negli esempi di codice con i tuoi valori in base alla seguente tabella.
Variabile Definizione MANAGEMENT_API_SERVER
Il file kubeconfig
del server API Management.PROJECT
Il 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 1d
Per visualizzare ulteriori dettagli sullo stato di una determinata VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT -o \ jsonpath='{"State:"}{.status.state}{"\n"}{"Reason:"}{.status.reason}{"\n"}{"Message:"}{.status.message}{"\n"}'
Sostituisci quanto segue:
MANAGEMENT_API_SERVER
con il filekubeconfig
per il server dell'API Management ottenuto dal comandogdcloud auth login
.VM_NAME
con il nome della nuova VM.PROJECT
con il progetto GDC in cui si trova la VM.
Esempio di output che mostra i valori di
Reason
eMessage
:State: ErrorConfiguration Reason: MachineDiskNotFound Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.
Potresti anche trovare campi vuoti per
Reason
eMessage
. Ciò indica che il sistema non ha nulla da segnalare in merito.Output di esempio con
Reason
eMessage
vuoti: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 gestirla in generale. Consulta queste pagine per arrestare, reimpostare o eliminare una VM: