Crea un disco di avvio personalizzato

Questo documento descrive i passaggi per creare dischi di avvio personalizzati per le macchine virtuali (VM) in Google Distributed Cloud (GDC) con air gap.

Quando crei un'istanza VM, Distributed Cloud crea automaticamente un disco permanente di avvio con configurazioni predefinite. Devi anche creare un disco di avvio per la VM. Puoi utilizzare un'immagine pubblica o un'immagine personalizzata.

Se hai bisogno di ulteriori dischi di archiviazione dati per le tue istanze, aggiungi un disco permanente alla tua VM.

Questo documento è rivolto agli sviluppatori dei gruppi di amministratori della piattaforma o di operatori di applicazioni che creano dischi di avvio personalizzati per le VM. Per saperne di più, consulta la documentazione sui segmenti di pubblico per GDC con air gap.

Prima di iniziare

Per utilizzare i comandi dell'interfaccia a riga di comando (CLI) gdcloud, assicurati di aver scaricato, installato e configurato l'interfaccia a riga di comando gdcloud. Tutti i comandi per Distributed Cloud utilizzano l'interfaccia a riga di comando gdcloud o kubectl e richiedono un ambiente del sistema operativo (OS).

Ottieni il percorso del file kubeconfig

Per eseguire i comandi sul server dell'API di gestione, assicurati di disporre delle seguenti risorse:

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

  2. Utilizza il percorso del file kubeconfig del server API di gestione per sostituire MANAGEMENT_API_SERVER in queste istruzioni.

Richiedi ruoli IAM

Contatta l'amministratore del progetto IAM per richiedere i seguenti ruoli nel tuo progetto:

  • Virtual Machine Project Admin (project-vm-admin): crea, modifica, elenca ed elimina VM standard e ad alte prestazioni nello spazio dei nomi del progetto.

  • Visualizzatore progetto(project-viewer): visualizza tutte le risorse all'interno dello spazio dei nomi del progetto.

Tutti i ruoli delle VM devono essere associati allo spazio dei nomi del progetto in cui si trova la VM. Segui i passaggi per verificare il tuo accesso.

Crea un disco di avvio

Utilizza le procedure descritte in questa pagina per creare dischi di avvio che potrai utilizzare in seguito per creare VM.

Crea un disco di avvio da un'immagine

Puoi creare un disco permanente di avvio autonomo al di fuori della creazione dell'istanza e collegarlo a un'istanza in un secondo momento. Questa sezione mostra come creare un disco di avvio da un'immagine sistema operativo fornita da GDC o da un'immagine sistema operativo personalizzata.

Crea un disco di avvio da un'immagine fornita da GDC

Prima di creare un disco di avvio utilizzando un'immagine fornita da GDC, esamina l'elenco delle immagini disponibili. Quindi, crea un disco di avvio con l'immagine fornita.

gdcloud

  1. Elenca tutte le immagini disponibili e le relative dimensioni minime del disco:

    gdcloud compute images list
    

    Questo comando include sia le immagini fornite da Distributed Cloud sia quelle personalizzate. Scegli uno dei due nello spazio dei nomi vm-system.

  2. Seleziona un'immagine fornita da Distributed Cloud per creare il disco della VM:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=vm-system
    

    Sostituisci le variabili utilizzando le seguenti definizioni:

    VariabileDefinizione
    BOOT_DISK_NAME Il nome del disco di avvio.
    PROJECT Il progetto GDC in cui creare il disco di avvio.
    DISK_SIZE La dimensione del disco di avvio deve essere almeno pari a minimumDiskSize dell'immagine.
    IMAGE_NAME Il nome dell'immagine.

kubectl

  1. Elenca tutte le immagini fornite da GDC disponibili:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. Recupera il minimumDiskSize di un'immagine specifica fornita da GDC. La dimensione del disco di avvio personalizzato creato deve essere almeno pari a minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Crea un oggetto VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: vm-system
      size: DISK_SIZE
    EOF
    

    Sostituisci le variabili utilizzando le seguenti definizioni,

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server dell'API di gestione.
    IMAGE_NAME Il nome dell'immagine.
    PROJECT Il progetto GDC in cui creare il disco di avvio.
    BOOT_DISK_NAME Il nome del disco di avvio.
    DISK_SIZE La dimensione del disco di avvio deve essere almeno pari a minimumDiskSize dell'immagine.

Crea un disco di avvio 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, se non ne hai già una.

Se non l'hai ancora fatto, configura i ruoli IAM necessari per accedere alle immagini personalizzate nel tuo progetto. Poi procedi con queste istruzioni.

gdcloud

  1. Elenca tutte le immagini personalizzate e le relative dimensioni minime del disco:

    gdcloud compute images list \
      --project=PROJECT
    
  2. Seleziona un'immagine personalizzata per creare il disco della VM:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=PROJECT
    

    Sostituisci le variabili utilizzando le seguenti definizioni:

    VariabileDefinizione
    BOOT_DISK_NAME Il nome del disco di avvio.
    PROJECT Il progetto GDC in cui creare il disco di avvio.
    DISK_SIZE La dimensione del disco di avvio deve essere almeno pari a minimumDiskSize dell'immagine.
    IMAGE_NAME Il nome dell'immagine.

API

  1. Elenca tutte le immagini personalizzate:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. Recupera il minimumDiskSize di un'immagine personalizzata specifica. La dimensione del disco di avvio personalizzato creato deve essere almeno minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Crea un oggetto VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: PROJECT
      size: DISK_SIZE
    EOF
    

    Sostituisci le variabili utilizzando le seguenti definizioni:

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server dell'API di gestione.
    IMAGE_NAME Il nome dell'immagine scelta dal comando Elenca tutte le immagini personalizzate.
    PROJECT Il progetto GDC in cui creare il disco di avvio.
    BOOT_DISK_NAME Il nome del disco di avvio.
    DISK_SIZE La dimensione del disco di avvio deve essere almeno pari a minimumDiskSize dell'immagine.

Passaggi successivi