Daten-Repositories definieren

Im Rahmen einer Migration schreibt Migrate for Anthos Informationen in verschiedene Daten-Repositories:

  1. Docker-Image-Dateien einer migrierten Linux-VM werden in eine Docker-Registry geschrieben.

    Diese Docker-Image-Dateien stellen die Dateien und Verzeichnisse der migrierten Linux-VM dar. Dieses Repository ist bei der Migration von Windows-Arbeitslasten nicht erforderlich.

  2. Migrationsartefakte der migrierten Arbeitslast werden in ein zweites Repository geschrieben.

    Artefakte umfassen die YAML-Konfigurationsdateien, mit denen Sie die migrierten Arbeitslasten und andere Dateien bereitstellen können. Die genauen Artefakte hängen davon ab, ob Sie Linux- oder Windows-Arbeitslasten migrieren.

Die Standardimplementierung und der Speicherort dieser Repositories hängen davon ab, wo Sie den Verarbeitungscluster erstellt haben, der für die Migration verwendet wird. Da es keine Standard-Repositories für Anthos-Cluster auf VMware und Anthos-Cluster in AWS gibt, müssen Sie diese bei der Installation von Migrate for Anthos konfigurieren.

Plattform Registry für Docker-Image-Dateien* Repository für Migrationsartefakte
Anthos-Cluster in Google Cloud Der Standardwert ist Google Container Registry (GCR).

Optional können Sie eine beliebige Docker-Registry angeben, die die Basisauthentifizierung unterstützt.

Die Standardeinstellung ist Google Cloud Storage.

Geben Sie optional S3 als Artefakt-Repo für Linux-Migrationen an. S3 wird für die Migration von Windows-Arbeitslasten nicht unterstützt.

Anthos-Cluster auf VMware

Kein Standardeinstellung

Geben Sie entweder GCR oder eine Docker Registry an, die die Basisauthentifizierung unterstützt.

Kein Standardeinstellung

Geben Sie entweder Cloud Storage oder S3 als Artefakte-Repository an.

Anthos-Cluster in AWS

Kein Standardeinstellung

Geben Sie entweder GCR, ECR oder eine beliebige Docker Registry an, die die Basisauthentifizierung unterstützt.

Kein Standardeinstellung

Geben Sie entweder Cloud Storage oder S3 als Artefakte-Repository an.

* Die Registry der Docker-Image-Dateien ist für Windows-Migrationen nicht erforderlich. Sie ist nur für die Migration von Linux-VMs erforderlich.

Repository-Status aufrufen

Nach der Installation von Migrate for Anthos überprüfen Sie die Installation von Migrate for Anthos mit dem Befehl migctl doctor. Im Rahmen dieser Prüfung prüft der Befehl migctl doctor den Status der Repositories:

migctl doctor

In der folgenden Beispielausgabe des Befehls migctl doctor gibt das Häkchen an, dass Migrate for Anthos 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

Unterstützung für die Google Cloud Console

Die Google Cloud Console zeigt die URLs zu Elementen in den Repositories basierend auf der Repository-Implementierung an. Wenn das Repository beispielsweise mit S3 implementiert wird, zeigt die Google Cloud Console URLs für einen Bucket in S3 an.

Optionen für den Speicherort des Repositorys

Der Speicherort der Daten-Repositories kann sich auf die Leistung und Kosten für die Migration auswirken.

Beispielsweise können die Docker-Image-Dateien, die eine migrierte VM darstellen, sehr groß sein. Wenn Sie über einen lokalen Verarbeitungscluster verfügen, die Docker-Image-Dateien jedoch in GCR in Google Cloud schreiben, entstehen Ihnen die Leistungslatenz beim Hochladen der Daten und die Kosten für das Speichern dieser Daten.

Für einen lokalen Verarbeitungscluster ist es möglicherweise effizienter, eine lokale Docker-Registry für den Cluster zu definieren. Wenn Sie die Registry lokal ausführen, minimieren Sie die Uploadlatenz und minimieren die Speicherkosten.

Bei einem in Google Cloud bereitgestellten GKE-Cluster bietet die Verwendung der Standard-GCR-Repositories die höchste Leistung. Ihnen wird jedoch diese Speicherung in Rechnung gestellt. Sie müssen GCR jedoch nicht mit einem Cloud-basierten Cluster verwenden und können stattdessen Ihre eigene Docker-Registry verwenden.

Repository-Authentifizierung

Alle von Migrate for Anthos verwendeten Repositories erfordern eine Authentifizierung. Der Authentifizierungsmechanismus hängt vom Repository-Typ ab, wie in der folgenden Tabelle dargestellt:

Repository Implementierung Authentication
Registry für Docker-Image-Dateien GCR JSON-Schlüssel für ein Google Cloud-Dienstkonto

Weitere Informationen finden Sie unter Dienstkonto für den Zugriff auf Container Registry und Cloud Storage erstellen.

ECR Zugriffsschlüssel und Secret oder Anmeldedatendatei. Weitere Informationen finden Sie unter Zugriffsschlüssel für IAM-Nutzer verwalten.
Docker-Registry Nutzername und Passwort für die Basisauthentifizierung.
Repository für Migrationsartefakte Cloud Storage JSON-Schlüssel für ein Google Cloud-Dienstkonto

Weitere Informationen finden Sie unter Dienstkonto für den Zugriff auf Container Registry und Cloud Storage erstellen.

S3 Zugriffsschlüssel und Secret oder Anmeldedatendatei. Weitere Informationen finden Sie unter Zugriff verwalten.

TLS unterstützen

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
  • Standard festlegen

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

Das folgende Beispiel zeigt, wie Sie eine Docker-Registry konfigurieren:

  • GCR

    migctl docker-registry create gcr registry-name --project project-id --json-key=m4a-install.json

    wobei

    • registry-name ist der benutzerdefinierte Name der Docker-Registry-Konfiguration.

    • project-id ist Ihre Google-Projekt-ID.

    • m4a-install.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.

  • ECR

    migctl docker-registry create ecr registry-name --registry-path url --access-key-id=key-id

    Sie werden aufgefordert, den Secret-Schlüssel für key-id einzugeben.

    Alternativ können Sie den Pfad zu einer Datei mit Anmeldedaten angeben:

    migctl docker-registry create ecr registry-name --registry-path url --credentials-file-path file-path 

    wobei

    • registry-name ist der benutzerdefinierte Name der Docker-Registry-Konfiguration.

    • url gibt die URL des Registry-Pfads ohne das Präfix http:// oder https:// an.

    • key-id gibt den Zugriffsschlüssel an. Weitere Informationen finden Sie unter Zugriffsschlüssel für IAM-Nutzer verwalten.

    • file-path gibt den Pfad zu einer CSV-Datei an, die von der AWS-Konsole heruntergeladen wird und die Anmeldedaten enthält. Weitere Informationen zum Erstellen der CSV-Datei finden Sie unter AWS-IAM-Gruppen und -Instanzrollen konfigurieren.

  • Docker-Registry

    migctl docker-registry create basic-auth registry-name --registry-path url --username username --ca-pem-file ca-pem-filename

    wobei

    • registry-name ist der benutzerdefinierte Name der Docker-Registry-Konfiguration.

    • url gibt die URL des Registry-Pfads ohne das Präfix http:// oder https:// an. Beispiel: localhost:8080/myregistry

    • username für die grundlegenden Anmeldedaten zur Authentifizierung der Registry Sie werden aufgefordert, das Passwort einzugeben.

    • Wenn die Registry ein selbst signiertes Zertifikat verwendet, gibt ca-pem-filename eine PEM-Datei an, die entweder den öffentlichen Schlüssel oder die vollständige CA-Kette enthält. Dies ist eine Verkettung der Zwischen-CA-Zertifikate bis zum Root-Zertifikat. Beispiele:

      cat int1.pem int2.pem ... root.pem

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. Dies bedeutet, dass sie derzeit für Migrationen verwendet wird:

migctl docker-registry set-default registry-name

So löschen Sie eine Registry-Konfiguration:

migctl docker-registry delete registry-name

Artefakte-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
  • Standard festlegen

Sie können mehrere Konfigurationen definieren. Migrate for Anthos 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.

Das folgende Beispiel zeigt, wie ein Artefakte-Repository konfiguriert wird:

  • Cloud Storage

    migctl artifacts-repo create gcs repository-name --bucket-name bucket-name --json-key=m4a-install.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. Erstellen Sie einen Bucket. Folgen Sie dazu der Anleitung unter Storage-Buckets erstellen.

      Hinweis: Wenn Sie Migrate for Anthos in Clustern in Google Cloud installieren, erstellt das Migrate for Anthos-Installationsprogramm automatisch einen Standard-Bucket mit dem Namen:

      GCP_PROJECT-migration-artifacts

      Dabei ist GCP_PROJECT Ihre Google-Projekt-ID. Beim Installieren von Migrate for Anthos auf einem lokalen Verarbeitungscluster oder auf Anthos-Clustern in AWS wird jedoch kein Standard-Bucket erstellt. Sie müssen selbst ein Konto erstellen.

    • project-id ist Ihre Google-Projekt-ID.

    • m4a-install.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.

  • S3

    migctl artifacts-repo create s3 repository-name --bucket-name bucket-name --region aws-region --access-key-id=key-id

    Sie werden aufgefordert, den Secret-Schlüssel für key-id einzugeben.

    Alternativ können Sie den Pfad zu einer Datei mit Anmeldedaten angeben:

    migctl artifacts-repo create s3 repository-name --bucket-name bucket-name --region aws-region --credentials-file-path file-path

    wobei

    • repository-name ist der benutzerdefinierte Name der Repository-Konfiguration für Artefakte.

    • bucket-name gibt einen vorhandenen Bucket im S3-Repository an. Wenn Sie keinen vorhandenen Bucket haben, erstellen Sie einen. Folgen Sie dazu der Anleitung unter Mit Amazon S3-Buckets arbeiten.

    • aws-region gibt die AWS-Region für das Repository an. Der Verarbeitungscluster und das Repository können sich in separaten Regionen befinden, solange der Cluster berechtigt ist, auf das Repository zuzugreifen.

    • key-id gibt den Zugriffsschlüssel an. Weitere Informationen finden Sie unter Zugriff verwalten.

    • file-path gibt den Pfad zu einer CSV-Datei an, die von der AWS-Konsole heruntergeladen wird und die Anmeldedaten enthält. Weitere Informationen zum Erstellen der CSV-Datei finden Sie unter AWS-IAM-Gruppen und -Instanzrollen konfigurieren.

Führen Sie den Befehl migctl docker-registry 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 gcr repository-name same-flags-as-create

Wenn Sie eine Repository-Registry konfigurieren, wird es zur 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. Dies bedeutet, dass sie derzeit für Migrationen verwendet wird:

migctl artifacts-repo set-default repository-name

So löschen Sie eine Repository-Konfiguration:

migctl artifacts-repo delete repository-name

Nächste Schritte