Virtuelle Laufwerke importieren

Wenn Sie in Ihrer lokalen Umgebung virtuelle Laufwerke mit Software und Konfigurationen haben, die Sie benötigen (manchmal auch als goldene Laufwerke oder goldene Images bezeichnet), können Sie Zeit sparen, indem Sie diese virtuellen Laufwerke in die GDC-Appliance mit Air Gap importieren und das resultierende Image zum Erstellen virtueller Maschinen verwenden. Das Importtool unterstützt die Bildformate RAW und QCOW.

Hinweise

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.
  • 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 „Project VirtualMachine Admin“ und „Project VirtualMachine Image Admin“. Folgen Sie der Anleitung, um entweder Ihre Identität zu bestätigen oder Ihren Projekt-IAM-Administrator zu bitten, Ihnen die Rollen „Project VirtualMachine Admin“ (project-vm-admin) und „Project VirtualMachine Image Admin“ (project-vm-image-admin) im Namespace des Projekts zuzuweisen, in dem sich die VM befindet.

Für VM-Vorgänge mit der GDC-Konsole 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 gcloud CLI oder der Virtual Machine Manager API importieren.

Bitten Sie Ihren Organisations-IAM-Administrator, Ihnen die Rolle „Project VirtualMachine Image Admin“ (project-vm-image-admin) für Ihr Projekt zu gewähren, 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.

Der Befehl import sorgt dafür, dass das Laufwerk die erforderlichen Pakete hat, einschließlich der Gastumgebung. Diese ist erforderlich, um Anmeldedaten für die Verbindung zur Instanz über Secure Shell (SSH) unter Linux und Remote Desktop Protocol (RDP) unter Windows zu konfigurieren.

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 Object Storage-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 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 dauern. Der Importvorgang kann abhängig von der Größe des Laufwerks mehrere Minuten dauern.

API

Bevor Sie den Importvorgang mit der API starten, müssen Sie Ihre virtuelle Festplatte in einen Objektspeicher-Bucket mit dem Namen vm-images-bucket hochladen. Informationen zum Erstellen eines Object Storage-Buckets finden Sie unter Storage-Buckets für Projekte erstellen.

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_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 Bildes. 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 der virtuellen Festplatte in den Objektspeicher enthält. Dieser Wert ist der Abschnitt des Objekt-Speicherpfads nach vm-images-bucket/.
    OPERATING_SYSTEM 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. Wir empfehlen, zusätzlich zur Dateisystemgröße des Originalbilds einen Puffer von mindestens 20% zu verwenden. Beispiel: Verwenden Sie mindestens 12 GiB für eine virtuelle Festplatte mit einer ursprünglichen Dateisystemgröße von 10 GiB.
  2. Sie können den Fortschritt des Imports überwachen, 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 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 der Image-Import über die API erfolgt, 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

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