Virtuelle Laufwerke importieren

Wenn sich in Ihrer lokalen Umgebung virtuelle Laufwerke mit der für Sie erforderlichen Software und Konfiguration befinden (auch als goldene Laufwerke oder goldene Images bezeichnet), können Sie diese virtuellen Laufwerke in die GDC-Appliance mit Air-Gap importieren und das hierbei entstehende Image zum Erstellen neuer virtueller Maschinen verwenden. Auf diese Weise sparen Sie Zeit. Das Importtool unterstützt die Imageformate RAW und QCOW.

Hinweis

Bevor Sie fortfahren, müssen die folgenden Voraussetzungen erfüllt sein:

  • Die gdcloud CLI wurde heruntergeladen, installiert und konfiguriert. Alle CLI-Befehle für GDC verwenden die gdcloud\- oder kubectl-CLI und erfordern eine Betriebssystemumgebung.
  • Zugriff auf den Management API-Server. Folgen Sie der CLI-Anleitung unter Anmelden , um sich auf dem Management API-Server anzumelden.

Berechtigungen und Zugriff anfordern

Zum Ausführen der auf dieser Seite aufgeführten Aufgaben benötigen Sie die Rollen „Projekt-VM-Administrator“ und „Projekt-VM-Image-Administrator“. Folgen Sie der Anleitung, um die Rollen „Projekt-VM-Administrator“ (project-vm-admin) und „Projekt-VM-Image-Administrator“ (project-vm-image-admin) im Namespace des Projekts, in dem sich die VM befindet, zu bestätigen oder Ihrem Projekt-IAM-Administrator zuzuweisen.

Für VM-Vorgänge mit der GDC Console oder der gdcloud CLI bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die im vorherigen Absatz aufgeführten Rollen und die Rolle „Projektbetrachter“ (project-viewer) zuzuweisen.

Virtuelle Laufwerke importieren

Sie können Ihre virtuellen Laufwerke entweder mit der gdcloud CLI oder der Virtual Machine Manager API importieren.

Bitten Sie Ihren Organisations-IAM-Administrator, Ihnen die Rolle „Projekt-VM-Image-Administrator“ (project-vm-image-admin) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Importieren von Images benötigen.

gdcloud

Verwenden Sie den Befehl gdcloud compute images import, um ein bootfähiges Image zu erstellen.

Mit dem Befehl import wird sichergestellt, dass das Laufwerk die erforderlichen Pakete enthält, einschließlich der Gastumgebung. Diese ist erforderlich, um Anmeldedaten für die Verbindung zur Instanz zu konfigurieren über Secure Shell (SSH) unter Linux und Remote Desktop Protocol (RDP) unter Windows.

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

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.

gdcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE \
  --os=IMAGE_OS \
  --timeout=TIMEOUT

Ersetzen Sie die folgenden Variablen:

  • IMAGE_NAME: der Name des Ziel-Images. Der Name darf maximal 35 Zeichen lang 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 fehlschlägt mit "TIMEOUT". Wenn Sie beispielsweise 2h angeben, schlägt der Vorgang nach 2 Stunden fehl. Der Standard-Timeout beträgt 1h.

Der Upload kann je nach Größe des virtuellen Laufwerks und Geschwindigkeit Ihrer Netzwerkverbindung längere Zeit dauern. Der Import kann je nach Größe des Laufwerks mehrere zehn Minuten dauern.

API

Bevor Sie den Import mit der API starten, müssen Sie Ihr virtuelles Laufwerk in einen Objektspeicher-Bucket mit dem Namen vm-images-bucket hochladen. Informationen zum Erstellen eines Objektspeicher-Buckets finden Sie unter Storage-Buckets für Projekte erstellen.

So importieren Sie ein virtuelles Laufwerk über die API:

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
      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
    

    Ersetzen Sie die folgenden Variablen:

    Variable Beschreibung
    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 Teil des Objektspeicherpfads nach vm-images-bucket/.
    OPERATING_SYSTEM Das Betriebssystem auf dem zu importierenden Laufwerk.
    DISK_SIZE Die Mindestgröße, die ein Laufwerk haben muss, um mit diesem Image erstellt zu werden. Wir empfehlen, zusätzlich zur Dateisystemgröße des ursprünglichen Images einen Puffer von mindestens 20% zu verwenden. Beispiel: Verwenden Sie mindestens 12 GiB für ein virtuelles Laufwerk mit einer ursprünglichen Dateisystemgröße von 10 GiB.
  2. Sie können den Fortschritt des Imports beobachten, indem Sie den Status des VirtualMachineImageImport-Objekts abfragen:

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
      get virtualmachineimageimport --namespace PROJECT_ID \
      IMAGE_NAME -o jsonpath='{.status}'
    

Ressourcen bereinigen

Beim Import wird die virtuelle Laufwerksdatei in den Objektspeicher hochgeladen. Wenn Sie die gdcloud CLI verwenden, wird das Objekt bereinigt, wenn der Befehl abgeschlossen ist, unabhängig davon, ob er erfolgreich war. Wenn der Befehl unterbrochen wird oder der Imageimport mit der API erfolgt, bleibt die virtuelle Laufwerksdatei möglicherweise im Objektspeicher-Bucket vm-images-bucket, bis Sie die Datei manuell löschen.

Nächste Schritte

Erstellen Sie auf der Seite VM erstellen und starten eine neue VM-Instanz, die Ihr Image verwendet.