Linux-Arbeitslast in einem Zielcluster bereitstellen

Nachdem Sie eine Arbeitslast von der Quellplattform migriert haben, können Sie mithilfe der von diesem Prozess erstellten Bereitstellungsartefakte den migrierten Arbeitslastcontainer in einem anderen Cluster bereitstellen.

Skaffold kann den Workflow zum Erstellen, Übertragen und Bereitstellen Ihrer Anwendung. verarbeiten. Weitere Informationen finden Sie unter Mit Skaffold mehrere Images erstellen und bereitstellen.

Hinweis

Für die Bereitstellung der Arbeitslast sollten Sie folgende Schritte ausgeführt haben:

Arbeitslasten im Verarbeitungscluster bereitstellen

Sie können die migrierte Arbeitslast auf demselben Cluster bereitstellen, mit dem Sie auch die Migration durchgeführt haben. Diese Migration wird als der Verarbeitungscluster von Migrate to Containers bezeichnet. In den meisten Fällen müssen Sie keine zusätzliche Konfiguration für den Verarbeitungscluster vornehmen, da der Cluster bereits einen Lese-/Schreibzugriff auf die Docker-Registry benötigt, um eine Migration auszuführen.

In einem Zielcluster bereitstellen, wobei GCR als Docker-Registry verwendet wird

Erstellen Sie ein Kubernetes-Secret mit den für den Zugriff auf GCR erforderlichen Anmeldedaten, um sicherzustellen, dass ein Zielcluster Zugriff auf die Google Container Registry (GCR) hat:

  1. Erstellen Sie ein Dienstkonto zum Bereitstellen einer Migration, wie unter Dienstkonto für den Zugriff auf Container Registry und Cloud Storage erstellen beschrieben.

    In diesem Vorgang laden Sie eine JSON-Schlüsseldatei namens m4a-install.json herunter.

  2. Erstellen Sie ein Kubernetes-Secret mit den für den Zugriff auf GCR erforderlichen Anmeldedaten:

    kubectl create secret docker-registry gcr-json-key \
     --docker-server=gcr.io --docker-username=_json_key --docker-password="$(cat ~/m4a-install.json)" \
     --docker-email=account@project.iam.gserviceaccount.com

    wobei

    • docker-registry den Namen des Kubernetes-Secrets, in diesem Beispiel gcr-json-key, angibt.
    • docker-server=gcr.io GCR als Server angibt.
    • docker-username=_json_key angibt, dass der Nutzername in der JSON-Schlüsseldatei enthalten ist.
    • docker-password angibt, dass ein Passwort aus der JSON-Schlüsseldatei verwendet wird.
    • docker-email die E-Mail-Adresse des Dienstkontos angibt.
  3. Legen Sie das Kubernetes-Secret so fest:

    • Ändern Sie den Standardwert imagePullSecrets:

      kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
    • Bearbeiten Sie die deployment_spec.yaml-Datei, um den Wert imagePullSecrets der Definition spec.template.spec hinzuzufügen, wie unten dargestellt:

      spec:
        containers:
        - image: gcr.io/PROJECT_ID/mycontainer-instance:v1.0.0
          name: mycontainer-instance
          ...
        volumes:
        - hostPath:
            path: /sys/fs/cgroup
            type: Directory
          name: cgroups
        imagePullSecrets:
        - name: gcr-json-key

In einem Zielcluster mithilfe einer Docker-Registry mit Basisauthentifizierung bereitstellen

Wenn Sie eine Docker-Registry zum Speichern von Migrations-Images verwenden, muss die Registry die Basisauthentifizierung mit einem Nutzernamen und einem Passwort unterstützen. Da es mehrere Möglichkeiten zum Konfigurieren einer schreibgeschützten Verbindung zu einer Docker-Registry gibt, sollten Sie die für Ihre Clusterplattform und Docker-Registry geeignete Methode verwenden.

Erstellte Bereitstellungs-YAML-Datei anwenden

Verwenden Sie kubectl, um die Bereitstellungsspezifikation auf Ihren Zielcluster anzuwenden, z. B. einen Produktionscluster.

kubectl

  1. Achten Sie darauf, dass der Zielcluster Lesezugriff auf die Docker-Image-Registry hat, wie oben unter Achten Sie darauf, dass der Zielcluster Lesezugriff auf die Docker-Image-Registry hat beschrieben.

  2. Stellen Sie den Container bereit:

    kubectl apply -f deployment_spec.yaml
  3. Nachdem Sie Ihre Validierungstests für die migrierte Arbeitslast abgeschlossen haben, um zu prüfen, ob die migrierte Arbeitslast ordnungsgemäß funktioniert, sollten Sie die Migration löschen, um Ressourcen freizugeben. Weitere Informationen finden Sie unter Migration löschen.

Migration löschen

Nachdem Sie die migrierte Arbeitslast geprüft und getestet haben, um zu sehen, ob sie ordnungsgemäß funktioniert, können Sie die Migration löschen. Durch das Löschen der Migration werden alle von ihr verwendeten Ressourcen freigegeben.

migctl

  1. Eine abgeschlossene Migration löschen Sie mit dem folgenden Befehl:

    migctl migration delete MIGRATION_NAME

    Dabei ist MIGRATION_NAME der Name der Migration.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Migrate to Containers auf.

    Zur Seite "Migrate to Containers"

  2. Klicken Sie auf den Tab Migrationen, um eine Tabelle mit den verfügbaren Migrationen aufzurufen.

  3. Klicken Sie zum Löschen der Migration rechts neben der Tabelle auf das Mülleimer-Symbol und wählen Sie Migration löschen aus.

Nächste Schritte