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) air-gapped.

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 dischi di archiviazione dati aggiuntivi per le tue istanze, aggiungi un disco permanente alla tua VM.

Questo documento è destinato agli sviluppatori dei gruppi di amministratori della piattaforma o operatori di applicazioni che creano dischi di avvio personalizzati per le VM. Per saperne di più, consulta la sezione Pubblico della documentazione di GDC air-gapped.

Prima di iniziare

Per utilizzare i comandi dell'interfaccia a riga di comando (CLI) gdcloud, assicurati di aver scaricato, installato, e configurato la gdcloud CLI. 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 i comandi sul server 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 IAM del progetto per richiedere i seguenti ruoli nel progetto:

  • Amministratore del progetto di macchine virtuali (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 VM devono essere associati allo spazio dei nomi del progetto in cui risiede la VM. Segui i passaggi per verificare l'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 del sistema operativo fornita da GDC o da un' immagine del 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 una delle 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 Le dimensioni del disco di avvio devono essere almeno 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 minimumDiskSize di un'immagine specifica fornita da GDC. Le dimensioni del disco di avvio personalizzato creato devono 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: vm-system
      size: DISK_SIZE
    EOF
    

    Sostituisci le variabili utilizzando le seguenti definizioni,

    VariabileDefinizione
    MANAGEMENT_API_SERVER Il file kubeconfig del server 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 Le dimensioni del disco di avvio devono essere almeno 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.

Configura i ruoli IAM necessari per accedere alle immagini personalizzate nel tuo progetto, se non l'hai ancora fatto. Quindi 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 Le dimensioni del disco di avvio devono essere almeno 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 minimumDiskSize di un'immagine personalizzata specifica. Le dimensioni del disco di avvio personalizzato creato devono 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 API di gestione.
    IMAGE_NAME Il nome dell'immagine scelta da il 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 Le dimensioni del disco di avvio devono essere almeno minimumDiskSize dell'immagine.

Passaggi successivi