Creare e avviare un'istanza VM

Questa pagina fornisce istruzioni per creare un'istanza di macchina virtuale (VM) utilizzando un'immagine disco di avvio o uno snapshot del disco di avvio.

Puoi creare una VM con uno o più dischi. Puoi anche aggiungere dischi alla tua VM dopo la creazione. Google Distributed Cloud (GDC) air-gapped avvia automaticamente l'istanza VM dopo la creazione.

Puoi aggiungere script di avvio a una VM, prima o dopo la creazione. Per scoprire di più sugli script di avvio, consulta la pagina Utilizzare uno script di avvio con un'istanza VM.

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:

  1. Accedi e genera il file kubeconfig per il server API Management se non ne hai uno.

  2. Utilizza il percorso del file kubeconfig del server API Management per sostituire MANAGEMENT_API_SERVER 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 di disporre del 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).

Crea un'istanza VM da un'immagine

Questa sezione mostra come creare una VM da un'immagine sistema operativo fornita da GDC o da un'immagine sistema operativo personalizzata.

Visualizza un elenco di immagini fornite da GDC disponibili

Prima di creare una VM utilizzando un'immagine fornita da GDC, esamina l'elenco delle immagini disponibili. Per saperne di più sulle immagini fornite da GDC, consulta Immagini VM supportate.

gdcloud

  • Elenca tutte le immagini disponibili e la relativa dimensione minima del disco:

    gdcloud compute images list
    

    Questo comando include sia le immagini fornite da GDC sia quelle personalizzate. Scegli una delle due immagini nello spazio dei nomi vm-system.

API

  1. Elenca tutte le immagini fornite da GDC disponibili:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
    
  2. Ottieni l'minimumDiskSize per una determinata immagine fornita da GDC:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Sostituisci quanto segue:

    • MANAGEMENT_API_SERVER: il file kubeconfig per il server API Management.
    • BOOT_DISK_IMAGE_NAME: il nome dell'immagine.

Crea un'istanza VM da un'immagine fornita da GDC

Per impostazione predefinita, tutti i progetti GDC possono creare VM da immagini sistema operativo fornite da GDC.

gdcloud

  1. Seleziona un'immagine fornita da GDC per creare l'istanza VM:

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Sostituisci quanto segue:

    VariabileDefinizione
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20GB.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    NO_BOOT_DISK_AUTO_DELETE true o false, che indica l'inverso dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM.
    MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui il comando riportato di seguito:
    gdcloud compute machine-types list

API

  1. Seleziona un'immagine fornita da GDC per creare l'istanza VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Sostituisci quanto segue:

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server API di gestione.
    PROJECT Il progetto GDC in cui creare la VM.
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    VM_BOOT_DISK_NAME Il nome del nuovo disco di avvio della VM.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20Gi.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    BOOT_DISK_AUTO_DELETE true o false, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.
    MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui il comando riportato di seguito:
    gdcloud compute machine-types list
  2. Verifica che la VM sia stata creata e attendi che mostri lo stato Running. Lo stato Running non indica che il sistema operativo è completamente pronto e accessibile.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    Sostituisci VM_NAME e PROJECT con il nome e il progetto della VM.

    Per aggiungere uno script di avvio alla creazione dell'istanza VM, segui i passaggi forniti nella pagina Utilizzare uno script di avvio con un'istanza VM. Assicurati di arrestare la VM prima di aggiungere lo script.

Crea un'istanza VM da un'immagine personalizzata

Un'immagine personalizzata appartiene esclusivamente al tuo progetto. Per creare una VM con un'immagine personalizzata, devi prima creare un'immagine personalizzata nello stesso progetto.

gdcloud

  1. Elenca tutte le immagini personalizzate:

    gdcloud compute images list --no-standard-images=true
    
  2. Crea l'istanza VM:

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Sostituisci quanto segue:

    VariabileDefinizione
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20GB.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    NO_BOOT_DISK_AUTO_DELETE true o false, che indica l'inverso dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM.
    MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui il comando riportato di seguito:
    gdcloud compute machine-types list

API

  1. Elenca tutte le immagini personalizzate:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
    

    Recupera minimumDiskSize di un'immagine specifica per creare un'istanza VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Sostituisci quanto segue:

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server API di gestione.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine scelta dal comando per elencare tutte le immagini personalizzate.
    PROJECT Il progetto dell'immagine.
  2. Crea l'istanza VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Sostituisci quanto segue:

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server API di gestione.
    PROJECT Il progetto GDC in cui creare la VM.
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    VM_BOOT_DISK_NAME Il nome del nuovo disco di avvio della VM.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20Gi.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    BOOT_DISK_AUTO_DELETE true o false, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.
    MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui il comando riportato di seguito:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
  3. Verifica che la VM sia stata creata e attendi che mostri lo stato Running. Lo stato Running non significa che il sistema operativo sia completamente pronto e accessibile.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    Sostituisci VM_NAME e PROJECT con il nome e il progetto della VM.

Crea un'istanza VM con dischi non di avvio aggiuntivi

Puoi creare dischi non di avvio quando crei una VM. Ogni disco aggiuntivo può specificare o meno un'origine immagine. Quest'ultimo caso riguarda la creazione di un disco vuoto.

gdcloud

  1. Crea un disco da un'immagine:

    gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \
        --size=NON_BOOT_DISK_SIZE \
        --image=NON_BOOT_DISK_IMAGE_NAME \
        --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
    
  2. Crea un disco da un'immagine vuota:

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
        --size=NON_BOOT_BLANK_DISK_SIZE \
    
  3. Crea un'istanza con i dischi del passaggio precedente:

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \
        --disk=name=NON_BOOT_DISK_FROM_IMAGE \
        --disk=name=NON_BOOT_BLANK_DISK
    

    Sostituisci quanto segue:

    VariabileDefinizione
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_IMAGE_NAMESPACE Lo spazio dei nomi dell'immagine da utilizzare per il nuovo disco di avvio della VM. Utilizza `vm-system` per un'immagine fornita da GDC o lascia vuoto il campo per un'immagine personalizzata.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20GB.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    NO_BOOT_DISK_AUTO_DELETE true o false, che indica l'inverso dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM.
    MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui il comando riportato di seguito:
    gdcloud compute machine-types list

    Per dischi aggiuntivi, sostituisci quanto segue:

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: il nome del disco aggiuntivo.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: le dimensioni dei dischi aggiuntivi, ad esempio 20GB.
    • NON_BOOT_DISK_IMAGE_NAME: il nome dell'immagine da utilizzare come disco non di avvio.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: lo spazio dei nomi dell'immagine da utilizzare come disco non di avvio. Utilizza vm-system per un'immagine fornita da GDC o lascia vuoto il campo per un'immagine personalizzata.

API

  1. Crea una VM con un disco non di avvio:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_DISK_FROM_IMAGE
    spec:
      source:
        image:
          name: NON_BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: NON_BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_BLANK_DISK
    spec:
      size: NON_BOOT_BLANK_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
        - virtualMachineDiskRef:
            name: NON_BOOT_DISK_FROM_IMAGE
        - virtualMachineDiskRef:
            name: NON_BOOT_BLANK_DISK
    EOF
    

    Sostituisci quanto segue:

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server API di gestione.
    PROJECT Il progetto GDC da creare nella VM.
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    VM_BOOT_DISK_NAME Il nome del nuovo disco di avvio della VM.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_IMAGE_NAMESPACE Lo spazio dei nomi dell'immagine da utilizzare per il nuovo disco di avvio della VM. Utilizza lo spazio dei nomi vm-system per un'immagine fornita da GDC o lascia vuoto per un'immagine personalizzata.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20Gi.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    BOOT_DISK_AUTO_DELETE true o false, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.
    MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui il comando riportato di seguito:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system

    Per dischi aggiuntivi, sostituisci quanto segue:

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: il nome del disco aggiuntivo.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: le dimensioni dei dischi aggiuntivi, ad esempio 20Gi.
    • NON_BOOT_DISK_IMAGE_NAME: il nome dell'immagine che vuoi utilizzare come disco non di avvio.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: lo spazio dei nomi dell'immagine che vuoi utilizzare come disco non di avvio. Utilizza lo spazio dei nomi vm-system per un'immagine fornita da GDC o lascia vuoto per un'immagine personalizzata.

    Formatta e monta i dischi prima di utilizzarli.

Crea una VM da uno snapshot o un backup

Puoi creare una nuova VM da uno snapshot nei seguenti modi:

  • Ripristina un disco di avvio della VM: se hai eseguito il backup di un disco di avvio di una VM con uno snapshot, utilizza questo snapshot per creare una nuova VM. Consulta Ripristinare uno snapshot.
    • Ripristina un disco non di avvio:se hai eseguito il backup di un disco non di avvio con uno snapshot, puoi anche ripristinare lo snapshot in un nuovo disco non di avvio quando crei una VM, utilizzando le stesse istruzioni.

Per creare più VM con lo stesso disco di avvio, segui questi passaggi:

  1. Crea un'immagine personalizzata.
  2. Crea VM da questa immagine senza utilizzare uno snapshot.

Crea una VM senza utilizzare il tipo di macchina

Distributed Cloud offre tipi di macchine predefiniti che puoi utilizzare quando crei un'istanza VM. Un tipo di macchina predefinita ha un numero di vCPU e una quantità di memoria preimpostati.

Se le VM predefinite non soddisfano le tue esigenze, crea un'istanza VM con impostazioni dell'hardware virtualizzato personalizzate.

Le VM personalizzate sono ideali nei seguenti scenari:

  • Workload non applicabili ai tipi di VM predefiniti.
  • Workload che richiedono più potenza di elaborazione o più memoria, ma non tutti gli upgrade forniti dal tipo di macchina di livello superiore.

gdcloud

  1. Crea una VM con un tipo di macchina che definisci:

    gdcloud compute instances create VM_NAME \
        --custom-cpu=NUM_VCPU \
        --custom-memory=MEMORY
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Sostituisci quanto segue:

    VariabileDefinizione
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20GB.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    NO_BOOT_DISK_AUTO_DELETE true o false, che indica l'inverso dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM.
    NUM_VCPU Il numero di vCPU. Il numero massimo di vCPU supportate è 192.
    MEMORY Le dimensioni della memoria, ad esempio 8G. La dimensione massima della memoria è un terabyte (TB).

API

  1. Crea una VM con un tipo di macchina che definisci:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        vcpus: NUM_VCPU
        memory: MEMORY
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Sostituisci quanto segue:

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server API di gestione.
    PROJECT Il progetto Distributed Cloud in cui creare la VM.
    VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
    VM_BOOT_DISK_NAME Il nome del nuovo disco di avvio della VM.
    BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
    BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20Gi.
    Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
    BOOT_DISK_AUTO_DELETE true o false, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.
    NUM_VCPU Il numero di vCPU. Il numero massimo di vCPU supportate è 192.
    MEMORY Le dimensioni della memoria, ad esempio 8G. La dimensione massima della memoria è 1 TB.

Crea un'istanza VM con un indirizzo IP e una subnet specificati

Per impostazione predefinita, puoi creare una VM Distributed Cloud senza la specifica di rete. Questo tipo di VM si collega al Virtual Private Cloud (VPC) predefinito e assegna dinamicamente un IP dalla subnet predefinita. Per creare una VM con le configurazioni predefinite, vedi Crea una VM con un'immagine fornita da GDC.

Se non vuoi utilizzare la configurazione IP predefinita per la tua VM Distributed Cloud, puoi creare una VM con un indirizzo IP dinamico o statico:

  • IP dinamico da una subnet personalizzata: crei una subnet con un CIDR specifico e crei una VM con un IP assegnato dinamicamente da quel CIDR.

  • IP statico da una subnet personalizzata: crei una subnet con un CIDR specifico e una VM con un IP statico da quel CIDR.

Questa sezione mostra come creare una VM con un indirizzo assegnato dinamicamente o con un indirizzo IP statico.

Crea una VM con un IP assegnato dinamicamente da una subnet personalizzata

Crea una VM con un IP assegnato dinamicamente da un CIDR specifico:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
   EOF

Sostituisci le seguenti variabili:

VariabileDefinizione
MANAGEMENT_API_SERVER Il file kubeconfig del server API di gestione.
PROJECT Il progetto Distributed Cloud in cui creare la VM.
VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini, con un massimo di 53 caratteri.
VM_BOOT_DISK_NAME Il nome del nuovo disco di avvio della VM.
BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20Gi.
Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
BOOT_DISK_AUTO_DELETE true o false, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.
MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Seleziona un tipo di macchina disponibile:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Il nome della subnet personalizzata.

Crea una VM con un IP statico da una subnet

Crea una VM con un IP statico da una subnet personalizzata:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
         ipAddresses:
         - address: IP_ADDRESS
   EOF

Sostituisci le seguenti variabili:

VariabileDefinizione
MANAGEMENT_API_SERVER Il file kubeconfig del server API di gestione.
PROJECT Il progetto Distributed Cloud in cui creare la VM.
VM_NAME Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri.
VM_BOOT_DISK_NAME Il nome del nuovo disco di avvio della VM.
BOOT_DISK_IMAGE_NAME Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM.
BOOT_DISK_SIZE Le dimensioni del disco di avvio, ad esempio 20Gi.
Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio.
BOOT_DISK_AUTO_DELETE true o false, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.
MACHINE_TYPE Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui il comando seguente:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Il nome della subnet personalizzata.
IP_ADDRESS L'indirizzo IP. Deve rientrare nell'intervallo della subnet scelta. Puoi specificare un solo indirizzo IP nel campo ipAddresses