Virtuelle Laufwerke importieren

In diesem Dokument wird beschrieben, wie Sie VM-Laufwerk-Images (virtuelle Maschinen) in Google Distributed Cloud (GDC) mit Air Gap importieren.

Sie können Ihre vorhandenen virtuellen Laufwerke, die oft als goldene Laufwerke oder goldene Images bezeichnet werden, in Distributed Cloud importieren, um Zeit zu sparen. Das resultierende Image kann dann zum Erstellen virtueller Maschinen verwendet werden. Das Importtool unterstützt die Bildformate RAW und QCOW.

Dieses Dokument richtet sich an Entwickler in Plattformadministrator- oder Anwendungsoperatorgruppen, die VM-Images erstellen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Bevor Sie fortfahren, sollten Sie Folgendes parat haben:

  • Die gcloud CLI wurde heruntergeladen, installiert und konfiguriert. Alle CLI-Befehle für GDC verwenden die gdcloud- oder kubectl-CLI und erfordern eine Betriebssystemumgebung.

Berechtigungen und Zugriff anfordern

Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die folgenden IAM-Rollen im Namespace des Projekts, in dem sich die VM befindet, zuzuweisen, damit Sie Images importieren und die auf dieser Seite aufgeführten VM-Vorgänge ausführen können:

  • Project VirtualMachine Admin (project-vm-admin): Verwaltet VMs im Projekt-Namespace.

  • Projektbetrachter (project-viewer): Hat schreibgeschützten Zugriff auf alle Ressourcen in einem Projekt-Namespace.

Folgen Sie der Anleitung, um Ihren Zugriff zu bestätigen.

Virtuelle Laufwerke importieren

Sie können virtuelle Laufwerksdateien direkt von Ihrer Workstation importieren. Das Importtool lädt die Datei automatisch in einen Objektspeicher-Bucket in Ihrem Projekt hoch.

Verwenden Sie zum Importieren Ihrer virtuellen Laufwerke entweder die gcloud CLI oder die Virtual Machine Manager API.

gdcloud

Mit dem Befehl import wird geprüft, ob das Laufwerk die erforderlichen Pakete zum Konfigurieren von Anmeldedaten für die Verbindung zur Instanz über Secure Shell (SSH) und Remote Desktop Protocol (RDP) enthält. Dazu gehört auch die Gastumgebung.

Mit dem Befehl werden auch Pakete für NTP (Network Time Protocol) und cloud-init installiert, damit die Instanz in GDC ordnungsgemäß ausgeführt werden kann.

  • Verwenden Sie zum Erstellen eines bootfähigen Images den Befehl gdcloud compute images import:
gdcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE \
  --os=IMAGE_OS \
  --timeout=TIMEOUT

Ersetzen Sie die folgenden Variablen:

  • IMAGE_NAME ist der Name des Ziel-Images. Der Name darf nicht länger als 35 Zeichen sein.
  • SOURCE_FILE: die virtuelle Laufwerksdatei. Diese Datei ist eine lokale Datei auf Ihrer Workstation. Sie können einen absoluten oder relativen Pfad angeben.
  • IMAGE_OS: Das Betriebssystem auf dem zu importierenden Laufwerk.
  • TIMEOUT: Die Zeit, die ein Import dauern kann, bevor er mit „TIMEOUT“ fehlschlägt. Wenn Sie beispielsweise 2h angeben, schlägt der Vorgang nach 2 Stunden fehl. Das Standardzeitlimit ist 1h.

Der Uploadvorgang kann je nach Größe des virtuellen Laufwerks und Geschwindigkeit der Netzwerkverbindung längere Zeit in Anspruch nehmen. Der Importvorgang kann abhängig von der Größe des Laufwerks mehrere Minuten dauern.

API

So importieren Sie eine virtuelle Festplatte über die API:

  1. Erstellen Sie ein VirtualMachineImageImport-Objekt auf dem Management API-Server, um den Bildimport zu starten:

    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
    

    Ersetzen Sie die folgenden Variablen:

    • IMAGE_NAME: Der Name des zu importierenden Images. Der Name darf maximal 35 Zeichen lang sein.
    • PROJECT_ID: Die Projekt-ID des Projekts, in das Sie das Image importieren möchten.
    • SOURCE_FILE: Der Name der Quelldatei, die den Upload des virtuellen Laufwerks in den Objektspeicher enthält. Dieser Wert ist der Abschnitt des Objekt-Speicherpfads nach vm-images-bucket/.
    • IMAGE_OS: Das Betriebssystem auf dem zu importierenden Laufwerk.
    • DISK_SIZE: Die Mindestgröße, die ein Laufwerk haben muss, damit es mit diesem Image erstellt werden kann. Verwenden Sie mindestens 20% Puffer zusätzlich zur Dateisystemgröße des Originalbilds. Verwenden Sie beispielsweise mindestens 12G für ein virtuelles Laufwerk mit einer ursprünglichen Dateisystemgröße von 10 GB.
  2. Sie können den Fortschritt des Imports überwachen, indem Sie den Status des VirtualMachineImageImport-Objekts abfragen:

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

Ressourcen bereinigen

Beim Importieren wird Ihre virtuelle Laufwerksdatei in den Objektspeicher hochgeladen. Wenn Sie die gcloud CLI verwenden, wird das Objekt bereinigt, wenn der Befehl abgeschlossen ist, unabhängig davon, ob er erfolgreich war. Wenn der Befehl unterbrochen wird oder Sie den Bildimport über die API ausführen, verbleibt die virtuelle Laufwerksdatei möglicherweise im Objektspeicher-Bucket mit dem Namen vm-images-bucket, bis Sie die Datei manuell löschen.

Nächste Schritte