Importa dischi virtuali

Se nel tuo ambiente on-premise hai dischi virtuali con software e configurazioni di cui hai bisogno, a volte chiamati dischi dorati o immagini dorate, puoi risparmiare tempo importando questi dischi virtuali in Distributed Cloud e utilizzando l'immagine risultante per creare macchine virtuali. Lo strumento di importazione supporta i formati immagine RAW e QCOW.

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).
  • Accesso di login al cluster Kubernetes. Segui i passaggi della CLI in Accedi per accedere al cluster Kubernetes.

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 i ruoli elencati nel paragrafo precedente e il ruolo Visualizzatore progetto (project-viewer).

Importa dischi virtuali

Puoi importare i tuoi dischi virtuali utilizzando gcloud CLI o l'API Virtual Machine Manager.

Per ottenere le autorizzazioni necessarie per importare le immagini, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore immagini VirtualMachine progetto (project-vm-image-admin) per il tuo progetto.

gdcloud

Utilizza il comando gdcloud compute images import per creare un'immagine avviabile.

Il comando import garantisce che il disco disponga dei pacchetti richiesti, incluso l'ambiente guest, necessario per configurare le credenziali per la connessione all'istanza utilizzando Secure Shell (SSH) su Linux e Remote Desktop Protocol (RDP) su Windows.

Su Linux, il comando installa anche i pacchetti per il Network Time Protocol (NTP) e cloud-init affinché l'istanza venga eseguita correttamente in GDC.

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

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 che può durare 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 per essere eseguita, a seconda delle dimensioni del disco.

API

Prima di avviare la procedura di importazione con l'API, devi caricare il disco virtuale in un bucket di archiviazione oggetti denominato vm-images-bucket. Per creare un bucket di archiviazione oggetti, consulta Creare bucket di archiviazione per i progetti.

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 \
      apply -n PROJECT_ID -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: OPERATING_SYSTEM
        minimumDiskSize: DISK_SIZE
    EOF
    

    Sostituisci le seguenti variabili:

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimageimport --namespace PROJECT_ID \
      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 l'importazione dell'immagine viene eseguita 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

Crea una nuova istanza VM che utilizza la tua immagine nella pagina Crea e avvia una VM.