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 (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.
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 la CLI gdcloud, chiedi all'amministratore IAM del progetto di assegnarti il ruolo Amministratore VirtualMachine progetto e 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 (Macchine virtuali > Istanze).
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 Arresta.
gdcloud
Per arrestare una VM:
gdcloud compute instances stop VM_NAME \
--project PROJECT
- Sostituisci
VM_NAMEcon il nome della VM. - Sostituisci
PROJECTcon il nome del progetto GDC in cui si trova la VM.
kubectl
Esegui questo comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMECerca il campo
runningStateinspecdella VM e modifica il valore del campo inStopped. SerunningStatenon è inspec, aggiungirunningStateaspece imposta il valore suStopped.spec: runningState: StoppedVerifica lo stato della VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAMEUtilizza queste definizioni per le variabili precedenti.
Variabile Definizione MANAGEMENT_API_SERVER_KUBECONFIGIl file kubeconfig del server API di gestione. VM_NAMEIl nome della VM. PROJECTIl 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 (Macchine virtuali > Istanze).
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_NAMEcon il nome della VM. - Sostituisci
PROJECTcon il nome del progetto GDC in cui si trova la VM.
kubectl
Esegui questo comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMECerca il campo
runningStateinspecdella VM e modifica il valore del campo inRunning.spec: runningState: RunningVerifica lo stato della VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAMEUtilizza queste definizioni per le variabili nel codice di esempio.
Variabile Definizione MANAGEMENT_API_SERVER_KUBECONFIGIl file kubeconfig del server API di gestione. MANAGEMENT_API_SERVER_NAMEIl nome del server dell'API Management. VM_NAMEIl nome della VM. PROJECTIl nome del progetto della VM.
Riavvia una VM
Quando riavvii una VM, la macchina viene reimpostata 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 (Macchine virtuali > Istanze).
Nell'elenco delle VM, seleziona la casella di controllo relativa alla VM in esecuzione che vuoi 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_NAMEcon il nome della VM. - Sostituisci
PROJECTcon 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}'`Invia una richiesta API per riavviare la VM utilizzando il comando
wgete 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/restartVerifica lo stato della VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAMEUtilizza queste definizioni per le variabili nel codice di esempio.
Variabile Definizione MANAGEMENT_API_SERVER_KUBECONFIGIl file kubeconfig del server API di gestione. MANAGEMENT_API_SERVER_NAMEIl nome del server dell'API Management. VM_NAMEIl nome della VM. PROJECTIl nome del progetto della VM.