Importa dischi virtuali

Questo documento descrive i passaggi per importare immagini disco di macchine virtuali (VM) in Google Distributed Cloud (GDC) air-gapped.

Importa i dischi virtuali esistenti, spesso chiamati dischi dorati o immagini dorate, in Distributed Cloud per risparmiare tempo e utilizzare l'immagine risultante per creare macchine virtuali. Lo strumento di importazione supporta i formati di immagine RAW e QCOW.

Questo documento è destinato agli sviluppatori dei gruppi di amministratori della piattaforma o operatori delle applicazioni che creano immagini VM. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.

Prima di iniziare

Prima di continuare, assicurati di disporre di quanto segue:

  • gcloud CLI scaricata, installata e configurata. Tutti i comandi CLI per GDC utilizzano la CLI gdcloud o kubectl e richiedono un ambiente del sistema operativo (OS).

Richiedere autorizzazioni e accesso

Per importare immagini ed eseguire le operazioni VM elencate in questa pagina, chiedi all'amministratore IAM progetto di concederti i seguenti ruoli IAM nello spazio dei nomi del progetto in cui si trova la VM:

  • Amministratore VirtualMachine del progetto (project-vm-admin): gestisce le VM nello spazio dei nomi del progetto.

  • Visualizzatore progetto (project-viewer): ha accesso in sola lettura a tutte le risorse all'interno di uno spazio dei nomi del progetto.

Segui i passaggi per verificare il tuo accesso.

Importa dischi virtuali

Puoi importare i file del disco virtuale direttamente dalla tua workstation. Lo strumento di importazione carica automaticamente il file in un bucket di archiviazione oggetti nel progetto.

Per importare i dischi virtuali, utilizza gcloud CLI o l'API Virtual Machine Manager.

gdcloud

Il comando import verifica che il disco disponga dei pacchetti necessari per configurare le credenziali per la connessione all'istanza utilizzando Secure Shell (SSH) e Remote Desktop Protocol (RDP). incluso l'ambiente guest.

Il comando installa anche i pacchetti per il protocollo NTP (Network Time Protocol) e cloud-init per consentire all'istanza di essere eseguita correttamente in GDC.

  • Per creare un'immagine avviabile, utilizza il comando gdcloud compute images import:
gdcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE \
  --os=IMAGE_OS \
  --timeout=TIMEOUT

Sostituisci le seguenti variabili:

  • IMAGE_NAME: il nome dell'immagine di destinazione. Il nome non deve contenere più di 35 caratteri.
  • SOURCE_FILE: il file del disco virtuale. Questo file è un file locale sulla tua workstation. Puoi fornire un percorso assoluto o relativo.
  • IMAGE_OS: il sistema operativo sul disco da importare.
  • TIMEOUT: il tempo massimo di durata di un'importazione prima che non vada a buon fine con "TIMEOUT". Ad esempio, se specifichi 2h, il processo non va a buon fine dopo 2 ore. Il timeout predefinito è 1h.

L'operazione di caricamento può richiedere un periodo di tempo prolungato a seconda delle dimensioni del disco virtuale e della velocità della connessione di rete. L'operazione di importazione può richiedere decine di minuti, a seconda delle dimensioni del disco.

API

Per importare un disco virtuale tramite l'API:

  1. Crea un oggetto VirtualMachineImageImport nel server dell'API Management per avviare il processo di importazione delle immagini:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT_ID \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineImageImport
    metadata:
      name: IMAGE_NAME
      namespace: PROJECT_ID
    spec:
      source:
        objectStorage:
          bucketRef:
            name: vm-images-bucket
          objectName: SOURCE_FILE
      imageMetadata:
        name: IMAGE_NAME
        operatingSystem: IMAGE_OS
        minimumDiskSize: DISK_SIZE
    EOF
    

    Sostituisci le seguenti variabili:

    • IMAGE_NAME: il nome dell'immagine da importare. Il nome non deve contenere più di 35 caratteri.
    • PROJECT_ID: l'ID del progetto in cui vuoi importare l'immagine.
    • SOURCE_FILE: il nome del file di origine che contiene il caricamento del disco virtuale nell'object storage. Questo valore è la sezione del percorso di archiviazione di oggetti dopo vm-images-bucket/.
    • IMAGE_OS: Il sistema operativo sul disco da importare.
    • DISK_SIZE: la dimensione minima che deve avere un disco per essere creato con questa immagine. Utilizza un buffer di almeno il 20% in aggiunta alle dimensioni del file system dell'immagine originale. Ad esempio, utilizza almeno 12G per un disco virtuale con una dimensione del file system originale di 10 GB.
  2. Monitora l'avanzamento dell'importazione eseguendo una query sullo stato dell'oggetto VirtualMachineImageImport:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT_ID \
      get virtualmachineimageimport.virtualmachine.gdc.goog IMAGE_NAME \
      -o jsonpath='{.status}'
    

Esegui la pulizia delle risorse

La procedura di importazione prevede il caricamento del file del disco virtuale nell'archiviazione degli oggetti. Se utilizzi gcloud CLI, l'oggetto viene pulito al termine del comando, indipendentemente dall'esito. Se il comando viene interrotto o se esegui l'importazione dell'immagine con l'API, il file del disco virtuale potrebbe rimanere nel bucket di archiviazione degli oggetti denominato vm-images-bucket finché non lo elimini manualmente.

Passaggi successivi