Daten-Repositories definieren

Im Rahmen des Migrationsprozesses werden Informationen in verschiedene Repositories geschrieben:

  • Bei einer Image-Migration wird eine Docker-Image-Datei mit dem migrierten VM-Laufwerk in eine Docker-Registry geschrieben. Dieses Repository ist für eine Migration mit dem Daten-Intent nicht erforderlich.
  • Migrationsartefakte der migrierten Arbeitslast werden in ein zweites Repository geschrieben. Artefakte enthalten die YAML-Konfigurationsdateien, mit denen Sie die migrierten Arbeitslasten bereitstellen können, sowie weitere Dateien.

Repository-Status aufrufen

Nach der Installation können Sie die Installation mit dem Befehl migctldoktor validieren. Im Rahmen dieser Prüfung prüft der Befehl migctl doctor den Status der Repositories:

migctl doctor

In der folgenden Beispielausgabe des migctl doctor-Befehls wird angezeigt, dass Migrate erfolgreich bereitgestellt wurde, Sie die erforderlichen Daten-Repositories jedoch noch nicht konfiguriert haben:

  [✓] Deployment
  [!] Docker Registry
  [!] Artifacts Repo
  [!] Source Status

Nachdem Sie die Repositories konfiguriert haben, können Sie den Befehl „migctl doctor“ noch einmal ausführen, um sicherzustellen, dass die Repositories richtig konfiguriert sind:

  [✓] Deployment
  [✓] Docker registry
  [✓] Artifacts repo
  [!] Source Status

Speicherort des Repositories

Der Speicherort der Daten-Repositories kann sich auf die Leistung und Kosten für die Migration auswirken. Bei einer Image-Intent-Migration kann beispielsweise das DockerDisk-Docker-Image, das eine Kopie des VM-Laufwerks enthält, groß sein. Das Schreiben dieses Docker-Images in die Container Registry in Google Cloud verursacht die Leistungslatenz des Datenuploads und die Kosten für die Speicherung dieser Daten. Möglicherweise ist es effizienter, eine lokale Docker-Registry im Google Distributed Cloud Virtual for Bare Metal-Cluster zu definieren.

TLS-Support

Auf einige Repositories kann mit TLS/SSL über HTTPS zugegriffen werden. Wenn die HTTPS-Verbindung zum Repository ein selbst signiertes Zertifikat verwendet, müssen Sie beim Konfigurieren des Repositorys eine PEM-Datei mit einem der folgenden Werte übergeben:

  • Den öffentlichen Schlüssel des selbst signierten Zertifikats.
  • Eine Verkettung vom Root-Zertifikat und allen Zwischenzertifikaten bis zum tatsächlichen Serverzertifikat.

Docker-Registry konfigurieren

Mit dem Befehl migctl konfigurieren Sie eine Docker-Registry. Mit dem Befehl migctl können Sie die folgenden Aktionen in einer Registry-Konfiguration ausführen:

  • Erstellen
  • Aktualisieren
  • Löschen
  • List
  • Als Standard festlegen

Sie können mehrere Registries definieren. Verwenden Sie den Befehl migctl docker-registry list, um die definierten Registrys einschließlich des Standards aufzurufen. Verwenden Sie den Befehl migctl docker-registry set-default, um die Standard-Registry festzulegen. Das folgende Beispiel zeigt, wie Sie eine GCRS Docker-Registry konfigurieren:

migctl docker-registry create gcr REGISTRY_NAME --project <project-id> --json-key=key.json

Ersetzen Sie Folgendes:

  • REGISTRY_NAME ist der benutzerdefinierte Name der Docker-Registry-Konfiguration.
  • PROJECT_ID ist Ihre Google-Projekt-ID.
  • KEY.JSON ist der Name der JSON-Schlüsseldatei für das Dienstkonto für den Zugriff auf Container Registry und Cloud Storage, wie unter Dienstkonto konfigurieren beschrieben.

Führen Sie den Befehl migctl docker-registry update mit denselben Argumenten aus, wie Sie sie zum Erstellen der Registry-Konfiguration verwendet haben, um später die Registry-Konfiguration zu aktualisieren:

migctl docker-registry update gcr <registry-name> <same-flags-as-create>

Wenn Sie eine Docker-Registry konfigurieren, wird sie zur Standard-Registry. Möglicherweise sind jedoch mehrere Registries definiert. So rufen Sie die aktuelle Liste der Registries auf:

migctl docker-registry list

Verwenden Sie den folgenden Befehl, um die Standard-Registry-Konfiguration festzulegen:

migctl docker-registry set-default <registry-name>

So löschen Sie eine Registry-Konfiguration:

migctl docker-registry delete <registry-name>

Artefakt-Repository konfigurieren

Mit dem Befehl migctl können Sie ein Artefakt-Repository konfigurieren. Mit dem Befehl migctl können Sie die folgenden Aktionen in einer Repository-Konfiguration ausführen:

  • Erstellen
  • Aktualisieren
  • Löschen
  • List
  • Als Standard festlegen

Sie können mehrere Repositories definieren. Migrate verwendet die derzeit als Standard definierte Konfiguration. Rufen Sie mit dem Befehl migctl artifacts-repo list die aktuellen Konfigurationen einschließlich der Standardkonfiguration auf. Verwenden Sie den Befehl migctl artifacts-repo set-default, um die Standardkonfiguration festzulegen.

Im folgenden Beispiel wird gezeigt, wie ein Artefakte-Repository in Google Cloud Storage konfiguriert wird:

migctl artifacts-repo create gcs <repository-name> --bucket-name <bucket-name> --json-key=key.json

Wobei:

  • repository-name ist der benutzerdefinierte Name der Repository-Konfiguration für Artefakte.
  • bucket-name gibt einen vorhandenen Bucket im Cloud Storage-Repository an. Wenn Sie noch keinen Bucket haben, erstellen Sie einen anhand der Anleitung unter Buckets erstellen. Hinweis: Bei der Installation von Migrate erstellt das Installationsprogramm automatisch einen Standard-Bucket mit dem Namen GCP_PROJECT-migration-artifacts. Dabei gilt:
    • project-id ist Ihre Google-Projekt-ID.
    • key.json ist der Name der JSON-Schlüsseldatei für das Dienstkonto für den Zugriff auf Container Registry und Cloud Storage, wie unter Dienstkonto konfigurieren beschrieben.

Führen Sie den Befehl migctl artifacts-repo update mit denselben Argumenten aus, wie Sie sie zum Erstellen der Repository-Konfiguration verwendet haben, um später die Repository-Konfiguration zu aktualisieren:

migctl artifacts-repo update gcs <repository-name> <same-flags-as-create>

Wenn Sie ein Artefakt-Repository konfigurieren, wird es zum Standard-Repository. Möglicherweise sind jedoch mehrere Repositories definiert. So rufen Sie die aktuelle Liste der Repositories auf:

migctl artifacts-repo list

Verwenden Sie den folgenden Befehl, um die Standard-Repository-Konfiguration festzulegen:

migctl artifacts-repo set-default <repository-name>

So löschen Sie eine Repository-Konfiguration:

migctl artifacts-repo delete <repository-name>