Puoi arrestare, avviare e riavviare le VM per supportare il ciclo di vita delle tue applicazioni. Ad esempio, potresti voler modificare il numero di unità di elaborazione centrale virtuali (vCPU) assegnate o la quantità di memoria allocata a una VM. Devi arrestare la VM prima di modificare la configurazione. Al termine, devi riavviare il dispositivo per applicare le modifiche. Questa pagina fornisce istruzioni per arrestare, avviare e riavviare le VM in questi processi.
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.
Recupera il percorso del file kubeconfig
Per eseguire comandi sul server 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_SERVER
in queste istruzioni.
Se vuoi ridurre al minimo il tempo di avvio della VM, segui le istruzioni riportate in Ridurre al minimo il tempo di avvio della VM prima di avviare la VM.
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 Amministratore VM del progetto sia il ruolo Visualizzatore progetto (project-viewer
).
Arresta una VM
Quando arresti una macchina virtuale (VM), l'hypervisor dealloca tutte le risorse associate all'istanza. La VM è arrestata.
Arresta una VM in stato di esecuzione utilizzando la console GDC o
kubectl
.
Console
Nel menu di navigazione, fai clic su Virtual Machines > Instances.
Nell'elenco delle VM, seleziona la casella di controllo relativa alla VM in esecuzione che vuoi arrestare.
Fai clic su Arresta.
Nella finestra di dialogo di conferma, fai clic su Interrompi.
gdcloud
Per arrestare una VM:
gdcloud compute instances stop VM_NAME --project PROJECT
- Sostituisci
VM_NAME
con il nome della VM. - Sostituisci
PROJECT
con il nome del progetto GDC in cui si trova la VM.
kubectl
Esegui questo comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Cerca il campo
runningState
inspec
della VM e modifica il valore del campo inStopped
. SerunningState
non è inspec
, aggiungirunningState
aspec
e imposta il valore suStopped
.spec: runningState: Stopped
Verifica lo stato della VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Utilizza queste definizioni per le variabili precedenti.
Variabile Definizione MANAGEMENT_API_SERVER_KUBECONFIG
Il file kubeconfig del server API di gestione. VM_NAME
Il nome della VM. PROJECT
Il nome del progetto della VM.
Avvia una VM
Avvia una VM da uno stato di arresto utilizzando la console o kubectl
.
Console
Nel menu di navigazione, fai clic su Virtual Machines > Instances.
Nell'elenco delle VM, seleziona la casella di controllo della VM arrestata che vuoi avviare.
Fai clic su Avvia.
Nella finestra di dialogo di conferma, fai clic su Avvia.
gdcloud
Per avviare una VM:
gdcloud compute instances start VM_NAME --project PROJECT
- Sostituisci
VM_NAME
con il nome della VM. - Sostituisci
PROJECT
con il nome del progetto GDC in cui si trova la VM.
kubectl
Esegui questo comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Cerca il campo
runningState
inspec
della VM e modifica il valore del campo inRunning
.spec: runningState: Running
Verifica lo stato della VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Utilizza queste definizioni per le variabili nel codice di esempio.
Variabile Definizione MANAGEMENT_API_SERVER_KUBECONFIG
Il file kubeconfig del server API di gestione. MANAGEMENT_API_SERVER_NAME
Il nome del server dell'API Management. NAMESPACE
Lo spazio dei nomi della VM. VM_NAME
Il nome della VM. PROJECT
Il nome del progetto della VM.
Riavvia una VM
Quando riavvii una VM, la macchina viene ripristinata allo stato iniziale e i contenuti della memoria vengono cancellati.
Riavvia una VM in stato di esecuzione utilizzando la console o kubectl
.
Console
Nel menu di navigazione, fai clic su Virtual Machines > Instances.
Nell'elenco delle VM, seleziona la casella di controllo relativa alla VM in esecuzione da riavviare.
Fai clic su Reimposta.
Nella finestra di dialogo di conferma, fai clic su Reimposta.
gdcloud
Per reimpostare una VM:
gdcloud compute instances reset VM_NAME --project PROJECT
- Sostituisci
VM_NAME
con il nome della VM. - Sostituisci
PROJECT
con il nome del progetto GDC in cui si trova la VM.
kubectl
Recupera i dati del certificato e della chiave del client e il server dell'API Management. Utilizza questi valori nei passaggi successivi:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG config view --raw -o \ jsonpath='{.users[?(@.name =="MANAGEMENT_API_SERVER_NAME-admin")].user.client-certificate-data}' | \ base64 -d > cert kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG config view --raw -o \ jsonpath='{.users[?(@.name == "MANAGEMENT_API_SERVER_NAME-admin")].user.client-key-data}' | \ base64 -d > key export APISERVER=`kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ config view --raw -o \ jsonpath='{.clusters[?(@.name == "MANAGEMENT_API_SERVER_NAME")].cluster.server}'`
Effettua una richiesta API per riavviare la VM utilizzando il comando
wget
e specifica il certificato e la chiave del passaggio precedente:wget --method=PUT -O- --no-check-certificate --certificate cert --private-key key --content-on-error=on $APISERVER/apis/virtualmachineoperations.gdc.goog/v1/namespaces/PROJECT/virtualmachines/VM_NAME/restart
Verifica lo stato della VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT
Utilizza queste definizioni per le variabili nel codice di esempio.
Variabile Definizione MANAGEMENT_API_SERVER_KUBECONFIG
Il file kubeconfig del server API di gestione. MANAGEMENT_API_SERVER_NAME
Il nome del server dell'API Management. NAMESPACE
Lo spazio dei nomi della VM. VM_NAME
Il nome della VM. PROJECT
Il nome del progetto della VM.