Questo documento è rivolto ai proprietari di applicazioni che utilizzano Runtime VM su GDC per l'esecuzione di macchine virtuali (VM) in Google Distributed Cloud. Questo documento mostra come modificare le VM in esecuzione Google Distributed Cloud. Ad esempio, puoi modificare le risorse come CPU e memoria, oppure modificare la rete a cui si connette una VM.
Puoi modificare qualsiasi campo nella sezione spec
di una risorsa VirtualMachine
.
Puoi anche modificare le etichette di una VM. Altri campi, ad esempio il nome della VM
(metadata.name
), non può essere modificato. Per impostazione predefinita, la VM deve trovarsi in un percorso Stopped
prima di modificare la risorsa. Tuttavia, a partire da
Google Distributed Cloud versione 1.13.0, puoi configurare VirtualMachine
risorsa in modo che si riavvii automaticamente ogni volta che modifichi
configurazione.
Se le modifiche alla risorsa VirtualMachine
contengono errori quando salvi
vengono rifiutate e viene visualizzata una notifica. Correggi il
errori e prova a salvare di nuovo la risorsa VirtualMachine
. Se la tua VM non
dopo aver apportato le modifiche, utilizza
Comando kubectl describe gvm VM_NAME
per
visualizzare le informazioni per la risoluzione dei problemi
e correggere gli errori.
Prima di iniziare
Per completare questo documento, devi accedere alle seguenti risorse:
- Una VM eseguita in uno dei tuoi cluster. Se necessario, creare una VM in Google Distributed Cloud.
- Lo strumento client
virtctl
installato come plug-in perkubectl
. Se necessario, installa lo strumento client virtctl.
Modifica risorse di computing
Se le esigenze del tuo carico di lavoro di computing cambiano, puoi aggiornare il numero CPU e quantità di memoria virtuale assegnata alle VM. Per modificare le risorse di elaborazione, di lavoro, completa i seguenti passaggi:
Arresta la VM che vuoi modificare:
kubectl virt stop VM_NAME
Sostituisci
VM_NAME
con il nome della VM che vuoi interrompere.Utilizza
kubectl
per modificare la VM:kubectl edit gvm VM_NAME
Sostituisci
VM_NAME
con il nome della VM che che vuoi modificare.Nell'editor, aggiorna i valori delle risorse di calcolo che vuoi modificare.
Ad esempio, il seguente manifest
VirtualMachine
di esempio mostra che la VM risorsa con2
vCPU assegnate:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 2 ...
Se vuoi aggiornare il numero di vCPU assegnate, modifica il valore nel come mostrato nell'esempio seguente:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 4 ...
Salva e chiudi il manifest della VM.
Avvia la VM che hai modificato:
kubectl virt start VM_NAME
Sostituisci
VM_NAME
con il nome della VM che modificato.Controlla
STATUS
della VM:kubectl get gvm VM_NAME
Assicurati che la VM sia in stato
Running
. Se la tua VM richiede più risorse di computing di quelle fornite dall'host, la VM non può essere avviata. Se la VM non è in statoRunning
, controlla il manifest della risorsaVirtualMachine
la disponibilità delle risorse di computing sull'host.L'output di esempio seguente mostra la VM in stato
Running
:NAME STATUS AGE IP vm1 Running 1m 192.168.2.72
Visualizza le informazioni dettagliate su una VM che utilizza
kubectl describe gvm
:kubectl describe gvm VM_NAME
Sostituisci
VM_NAME
con il nome della VM che modificato.L'output di esempio seguente mostra le informazioni condensate per una VM, con un al numero di vCPU applicate correttamente:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Cpu: Vcpus: 4 ...
Per ulteriori informazioni, scopri come creare VM con configurazioni di calcolo di vCPU e memoria specifiche.
Modifica risorse disco
Se i requisiti di archiviazione cambiano, puoi aggiungere o rimuovere i dischi virtuali VM. Per modificare i dischi collegati alla VM, completa i seguenti passaggi:
Arresta la VM che vuoi modificare:
kubectl virt stop VM_NAME
Sostituisci
VM_NAME
con il nome della VM che vuoi interrompere.Utilizza
kubectl
per modificare la VM:kubectl edit gvm VM_NAME
Sostituisci
VM_NAME
con il nome della VM che che vuoi modificare.Nell'editor, aggiorna la sezione
spec.disks
per collegare o scollegare i dischi.Il seguente esempio di file manifest
VirtualMachine
mostra che solo un disco di avvio collegato alla VM:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv ...
Se vuoi aggiungere un disco vuoto esistente, aggiorna la configurazione del disco in dell'editor, come mostrato nell'esempio seguente:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv - virtualMachineDiskName: DISK_NAME ...
Sostituisci
DISK_NAME
con il nome del disco da collegare.Salva e chiudi il manifest della VM.
Avvia la VM che hai modificato:
kubectl virt start VM_NAME
Sostituisci
VM_NAME
con il nome della VM che hai modificato.Controlla
STATUS
della VM:kubectl get gvm VM_NAME
Assicurati che la VM sia in stato
Running
. Se la tua VM richiedeStorageClass
o un'assegnazione del disco che l'host non può fornire, la tua VM non può per iniziare. Se la VM non è in statoRunning
, controllaVirtualMachine
e manifest della risorsaVirtualMachineDisk
e il supporto dello spazio di archiviazione dell'host.Visualizza le informazioni dettagliate su una VM che utilizza
kubectl describe gvm
:kubectl describe gvm VM_NAME
Sostituisci
VM_NAME
con il nome della VM che hai modificato.L'output di esempio seguente mostra le informazioni condensate per una VM, con applicazione di una modifica ai dischi collegati:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Disks: Name: vm1-boot-dv Name: data-disk-01 ...
Per ulteriori informazioni, scopri come creare e gestire i dischi.
Modifica risorse di rete
Man mano che la tua infrastruttura cambia, potresti voler cambiare la rete configurazione per una VM. Ad esempio, potresti voler connettere la VM rete virtuale diversa o assegnare manualmente un indirizzo IP. Per modificare la rete: per una VM, completa questi passaggi:
Arresta la VM che vuoi modificare:
kubectl virt stop VM_NAME
Sostituisci
VM_NAME
con il nome della VM che vuoi interrompi.Utilizza
kubectl
per modificare la VM:kubectl edit gvm VM_NAME
Sostituisci
VM_NAME
con il nome della VM che vuoi modifica.Nell'editor, aggiorna le impostazioni di configurazione della rete che vuoi modifica.
Ad esempio, il seguente manifest
VirtualMachine
di esempio mostra che la VM si connette a una rete denominatabackend-vlan100
e utilizza DHCP poiché nessun IP l'indirizzo IP è definito:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: backend-vlan100 default: true ...
Se vuoi cambiare la rete a cui si connette la VM o assegnare un modello Indirizzo IP, aggiorna la configurazione della rete nell'editor, come mostrato nell'esempio seguente:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: NETWORK_NAME ipAddresses: - IP_ADDRESS default: true ...
Sostituisci
NETWORK_NAME
con il nome della rete per connettersi o aggiungere la sezioneipAddresses
e specificareIP_ADDRESS
per l'utilizzo della VM.Salva e chiudi il manifest della VM.
Avvia la VM che hai modificato:
kubectl virt start VM_NAME
Sostituisci
VM_NAME
con il nome della VM che hai modificato.Controlla
STATUS
della VM:kubectl get gvm VM_NAME
Assicurati che la VM sia in stato
Running
. Se la tua VM richiede connessione di rete che l'host non può fornire, la tua VM non può essere avviata. Se la VM non è in statoRunning
, controlla il manifest della risorsaVirtualMachine
il supporto della rete host.Visualizza le informazioni dettagliate su una VM che utilizza
kubectl describe gvm
:kubectl describe gvm VM_NAME
Sostituisci
VM_NAME
con il nome della VM che hai modificato.L'output di esempio seguente mostra le informazioni condensate per una VM, con un modifica alla configurazione di rete e dell'indirizzo IP applicata correttamente:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Interfaces: Name: eth0 Network Name: backend-vlan200 ... Status: ... Interfaces: Dns Config: Nameservers: 8.8.8.8 gateway4: 10.200.0.9 Ip Addresses: 10.200.0.22/24 Mac Address: 22:b4:e3:d2:ef:fb Name: eth0 Resource Name: vm1-eth0-f2468 ...
Per ulteriori informazioni, scopri come creare e gestire reti virtuali.
Configura la tua VM per i riavvii automatici
Molte modifiche alla configurazione delle VM, ad esempio alle impostazioni di compute
,
richiedono l'arresto e il riavvio della VM affinché le modifiche vengano sincronizzate
con l'istanza VM corrispondente (VirtualMachineInstance
). VM in esecuzione
È possibile configurare Google Distributed Cloud versione 1.13.0 o successiva per il riavvio
automaticamente ogni volta che ne modifichi la configurazione. Quando
per utilizzare questa funzionalità, non è necessario arrestare e riavviare una VM quando
ne modifichi la risorsa personalizzata. Il runtime VM su GDC monitora la VM e, se
rileva una modifica alla configurazione, riavvia automaticamente la VM per
modifiche.
Se utilizzi Config Sync per gestire la tua configurazione YAML
questa funzione è particolarmente utile. Senza questa funzione, devi interrompere
manualmente la VM prima di apportare modifiche al VirtualMachine
e avviare la VM manualmente dopo aver completato le modifiche.
Per attivare i riavvii automatici:
Utilizza
kubectl
per modificare la VM:kubectl edit gvm VM_NAME
Nell'editor, aggiungi il campo
autoRestartOnConfigurationChange
e impostalo atrue
.Puoi apportare ulteriori modifiche alla VM, ad esempio aggiornare
vcpus
valore. Se modifichi le impostazioni dicompute
, il runtime VM su GDC si riavvia automaticamente la VM quando salvi le modifiche.apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: ... name: vm-sample-01 namespace: default resourceVersion: "16711824" uid: ed623879-0cfa-52de-ad2c-b63308e6116c spec: autoRestartOnConfigurationChange: true compute: cpu: vcpus: 2 ...
Salva e chiudi il manifest della VM.
Se hai apportato altre modifiche alla VM che devono essere sincronizzate con l'istanza VM corrispondente, il runtime VM su GDC riavvia VM. Se hai apportato solo la modifica per abilitare i riavvii automatici, nessuna VM è necessario riavviare.
Controlla
status
della VM:kubectl get gvm VM_NAME
A seconda della velocità con cui ricevi la VM, potresti vedere
state: Starting
in cui la VM si riavvia. Dopo il riavvio della VM, viene visualizzato il messaggiostate: Running
. Le successive modifiche alla configurazione per ilVirtualMachine
non richiedono l'arresto e l'avvio manuale della VM. Successiva le modifiche apportate alla risorsa personalizzata si riflettono nell'istanza VM costantemente.
Tieni presente il seguente comportamento situazionale delle funzionalità:
Se arresti una VM manualmente prima di modificare il campo
VirtualMachine
personalizzato risorsa, la modifica alla configurazione non attiva un riavvio. Il della VM prima che la modifica della configurazione sia permanente.Se hai apportato modifiche all'etichetta o alla pianificazione per la VM prima di abilitare funzionalità di riavvio automatico, aggiunta ora di
autoRestartOnConfigurationChange
senza altre modifiche non attiva il riavvio. L'ideale è che questa funzionalità mantiene l'istanza VM coerente con la configurazione VM. Tuttavia, Il runtime VM su GDC non è in grado di rilevare le incoerenze precedenti.
Passaggi successivi
- Crea VM con configurazioni di calcolo di vCPU e memoria specifiche in Google Distributed Cloud.
- Creare e gestire dischi in Google Distributed Cloud.