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.

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.
  • Zugriff auf den Management API-Server. Folgen Sie der CLI-Anleitung unter Anmelden, um sich auf dem Management API-Server anzumelden.

IAM-Rollen anfordern

Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die folgenden Rollen für Ihr Projekt zuzuweisen:

  • Virtual Machine Project Admin (project-vm-admin): VMs im Projekt-Namespace erstellen, ändern, auflisten und löschen.

  • Projektbetrachter(project-viewer): Alle Ressourcen im Projekt-Namespace ansehen.

  • Virtual Machine Image Project Admin (project-vm-image-admin): VM-Images im Projekt-Namespace erstellen, auflisten und löschen.

Alle VM-Rollen müssen an den Namespace des Projekts gebunden sein, in dem sich die VM befindet. Folgen Sie der Anleitung, um Ihren Zugriff zu bestätigen.

Virtuelle Laufwerke importieren

Sie können VM-Image-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 von GDC bereitgestellte Image 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ören auch Pakete für 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 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 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 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.