Questo documento descrive i passaggi per importare le immagini disco delle macchine virtuali (VM) in Google Distributed Cloud (GDC) con air gap.
Importa i dischi virtuali esistenti, spesso chiamati dischi finali o immagini finali, in GDC per risparmiare tempo e utilizza l'immagine risultante per creare macchine virtuali. Lo strumento di importazione supporta i formati di immagine RAW e QCOW.
Questo documento è rivolto agli sviluppatori dei gruppi di amministratori della piattaforma o di operatori di applicazioni che creano immagini VM. Per saperne di più, consulta la documentazione sui segmenti di pubblico per GDC con air gap.
Prima di iniziare
Prima di continuare, assicurati di disporre di quanto segue:
Prepara l'ambiente
- La CLI gdcloud scaricata, installata e configurata. Tutti i comandi dell'interfaccia a riga di comando per GDC utilizzano la CLI gdcloud o la CLI kubectl e richiedono un ambiente del sistema operativo (OS).
Richiedi ruoli IAM
Per ottenere le autorizzazioni necessarie per importare dischi virtuali, chiedi all'amministratore del progetto IAM di concederti i seguenti ruoli nel progetto:
Virtual Machine Project Admin (
project-vm-admin): crea, modifica, elenca ed elimina le VM nello spazio dei nomi del progetto.Visualizzatore progetto (
project-viewer): visualizza tutte le risorse all'interno dello spazio dei nomi del progetto.Virtual Machine Image Project Admin (
project-vm-image-admin): crea, elenca ed elimina le immagini VM nello 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.
Importa dischi virtuali
Puoi importare i file dei dischi virtuali direttamente dalla tua workstation. Lo strumento di importazione carica automaticamente il file in un bucket di archiviazione di oggetti nel tuo progetto.
Per importare i dischi virtuali, utilizza la CLI gdcloud o l'API Virtual Machine Manager.
gdcloud
Il comando import verifica che l'immagine fornita da GDC disponga dei pacchetti richiesti per configurare le credenziali per la connessione all'istanza utilizzando Secure Shell (SSH) e Remote Desktop Protocol (RDP). Sono inclusi i pacchetti per l'ambiente guest.
Il comando installa anche i pacchetti per il protocollo NTP (Network Time Protocol) e cloud-init per consentire all'istanza di funzionare correttamente in GDC.
- Per creare un'immagine di avvio, 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 superare i 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, a seconda delle dimensioni del disco.
API
Per importare un disco virtuale tramite l'API, segui questi passaggi:
Crea una risorsa personalizzata
VirtualMachineImageImportnel server API di gestione 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 EOFSostituisci le seguenti variabili:
- MANAGEMENT_API_SERVER: il file kubeconfig per il server API di gestione.
- IMAGE_NAME: il nome dell'immagine da importare. Il nome non deve superare i 35 caratteri.
- PROJECT_ID: l'ID progetto per il 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 degli oggetti. 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 di un disco che crei da questa immagine. Utilizza un buffer di almeno il 20% in più rispetto alle dimensioni del file system dell'immagine originale. Ad esempio, utilizza almeno
12Gper un disco virtuale con una dimensione del file system originale di 10G.
Monitora l'avanzamento dell'importazione eseguendo una query sullo stato della risorsa personalizzata
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'archivio di oggetti.
Se utilizzi la CLI gdcloud, questa elimina l'oggetto al termine del comando, anche se l'importazione non va a buon fine. Se interrompi il comando o se importi l'immagine con l'API, il file del disco virtuale potrebbe rimanere nel bucket di archiviazione di oggetti denominato vm-images-bucket finché non lo elimini manualmente.
Passaggi successivi
- Esamina le immagini supportate da GDC.
- Crea e avvia un'istanza VM che utilizza l'immagine.
- Crea un disco di avvio per la tua VM.