Im Rahmen des Migrationsprozesses werden Informationen in verschiedene Daten-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 migctl Arzt prüfen. 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. Es ist möglicherweise effizienter, eine Docker-Registry lokal im Anthos on 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
Dabei gilt:
- 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>