Modifica la configurazione della VM in Anthos VM Runtime

Questo documento è destinato ai proprietari di applicazioni che eseguono cluster Anthos su Bare Metal. Questo documento mostra come modificare le macchine virtuali (VM) eseguite utilizzando Anthos VM Runtime. Ad esempio, puoi modificare l'allocazione delle risorse come CPU e memoria o la rete a cui si connette una VM.

Puoi modificare qualsiasi campo nella sezione spec di una risorsa VirtualMachine. Puoi anche modificare le etichette per una VM. Altri campi, come il nome della VM (metadata.name), non possono essere modificati. La VM deve essere in uno stato Stopped prima di poter modificare la risorsa.

Se le modifiche alla risorsa VirtualMachine contengono errori quando le salvi, le modifiche vengono rifiutate e ricevi una notifica. Correggi gli errori e riprova a salvare la risorsa VirtualMachine. Se la VM non si avvia dopo aver apportato modifiche, utilizza il comando kubectl describe gvm VM_NAME per visualizzare le informazioni sulla risoluzione dei problemi e correggere gli errori.

Prima di iniziare

Per completare il documento, devi accedere alle seguenti risorse:

Modifica risorse di calcolo

Se il tuo carico di lavoro di calcolo richiede modifiche, puoi aggiornare il numero di CPU virtuali e la quantità di memoria virtuale che assegni alle VM. Per modificare i carichi di lavoro di calcolo, completa i passaggi seguenti:

  1. Interrompi la VM che vuoi modificare:

    kubectl virt stop VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che vuoi arrestare.

  2. Utilizza kubectl per modificare la VM:

    kubectl edit gvm VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che vuoi modificare.

  3. Nell'editor, aggiorna i valori delle risorse di calcolo che vuoi modificare.

    Ad esempio, il seguente manifest VirtualMachine di esempio mostra che alla risorsa VM sono assegnate 2 vCPU:

    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 nell'editor, come nell'esempio seguente:

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: vm1
    spec:
      ...
      compute:
        cpu:
          vcpus: 4
    ...
    
  4. Salva e chiudi il manifest della VM.

  5. Avvia la VM che hai modificato:

    kubectl virt start VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che hai modificato.

  6. Verifica il STATUS della tua VM:

    kubectl get gvm VM_NAME
    

    Assicurati che la tua VM sia in stato Running. Se la tua VM richiede più risorse di calcolo rispetto a quelle offerte dall'host, la VM non può iniziare. Se la VM non è in stato Running, controlla il manifest della risorsa VirtualMachine e la disponibilità della risorsa di calcolo sull'host.

    L'output di esempio seguente mostra la VM in stato Running:

    NAME   STATUS    AGE   IP
    vm1    Running   1m    192.168.2.72
    
  7. Visualizza informazioni dettagliate su una VM utilizzando kubectl describe gvm:

    kubectl describe gvm VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che hai modificato.

    Il seguente output di esempio mostra le informazioni ridotte per una VM, con una modifica 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 specifiche configurazioni di vCPU e memoria.

Modifica risorse disco

Se i requisiti di archiviazione cambiano, puoi aggiungere o rimuovere i dischi virtuali in una VM. Per modificare i dischi collegati alla VM, segui questi passaggi:

  1. Interrompi la VM che vuoi modificare:

    kubectl virt stop VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che vuoi arrestare.

  2. Utilizza kubectl per modificare la VM:

    kubectl edit gvm VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che vuoi modificare.

  3. Nell'editor, aggiorna la sezione spec.disks per collegare o scollegare i dischi.

    Ad esempio, il seguente manifest VirtualMachine di esempio mostra che alla VM è collegato solo un disco di avvio:

    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 nell'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.

  4. Salva e chiudi il manifest della VM.

  5. Avvia la VM che hai modificato:

    kubectl virt start VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che hai modificato.

  6. Verifica il STATUS della tua VM:

    kubectl get gvm VM_NAME
    

    Assicurati che la tua VM sia in stato Running. Se la VM richiede un'assegnazione StorageClass o un disco che l'host non può fornire, la VM non può essere avviata. Se la VM non è in uno stato Running, controlla i manifest delle risorse VirtualMachine e VirtualMachineDisk e il supporto dell'archiviazione host.

  7. Visualizza informazioni dettagliate su una VM utilizzando 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 ridotte per una VM, con la modifica apportata 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 maggiori informazioni, scopri come creare e gestire dischi.

Modifica risorse di rete

Dato che l'infrastruttura cambia, puoi cambiare la configurazione di rete per una VM. Ad esempio, potresti voler connettere la VM a una rete virtuale diversa o assegnare manualmente un indirizzo IP. Per modificare la configurazione di rete per una VM, segui questi passaggi:

  1. Interrompi la VM che vuoi modificare:

    kubectl virt stop VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che vuoi arrestare.

  2. Utilizza kubectl per modificare la VM:

    kubectl edit gvm VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che vuoi modificare.

  3. Nell'editor, aggiorna le impostazioni di configurazione di rete che vuoi modificare.

    Ad esempio, il manifest VirtualMachine di esempio seguente mostra che la VM si connette a una rete denominata backend-vlan100 e utilizza il protocollo DHCP, poiché non è definito alcun indirizzo IP:

    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 la VM si connette o assegnare un indirizzo IP manuale, aggiorna la configurazione di 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 a cui connetterti o aggiungi la sezione ipAddresses e specifica IP_ADDRESS per la VM da utilizzare.

  4. Salva e chiudi il manifest della VM.

  5. Avvia la VM che hai modificato:

    kubectl virt start VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che hai modificato.

  6. Verifica il STATUS della tua VM:

    kubectl get gvm VM_NAME
    

    Assicurati che la tua VM sia in stato Running. Se la VM richiede una connessione di rete che l'host non può fornire, la VM non può avviarsi. Se la VM non è in stato Running, controlla il manifest della risorsa VirtualMachine e il supporto della rete host.

  7. Visualizza informazioni dettagliate su una VM utilizzando kubectl describe gvm:

    kubectl describe gvm VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che hai modificato.

    Il seguente output di esempio mostra le informazioni ridotte per una VM, con la modifica della 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 le reti virtuali.

Passaggi successivi