Anwendungen migrieren und in GKE Autopilot-Clustern bereitstellen

Zum Bereitstellen der migrierten Containerarbeitslasten in GKE Autopilot-Clustern verwenden Sie dasselbe Verfahren zum Migrieren Ihrer Arbeitslasten wie für die vorhandene Architektur. Die einzigen Änderungen sind:

  • Sie müssen im Migrationsplan v2kServiceManager auf true setzen, bevor Sie die Containerartefakte generieren.

  • Sie müssen die neue Datei services-config.yaml prüfen und die Initialisierungsdienste bearbeiten. Siehe services-config.yaml verwenden.

So führen Sie eine Migration aus:

  1. Migrate to Containers Version 1.15.0 installieren

  2. Fügen Sie eine Migrationsquelle hinzu und erstellen Sie eine Migration wie bisher bei der vorhandenen Laufzeit.

  3. Migrationsplan nach Bedarf anpassen.

    1. Laden Sie den Migrationsplan herunter. Der Migrationsplan wird durch AppXGenerateArtifactsFlow dargestellt:

      Beispiel: Bei einer Migration mit dem Namen „my-migration“:

      migctl migration get my-migration
    2. Bearbeiten Sie den heruntergeladenen Migrationsplan my-migration.yaml in einem Texteditor.

    3. Prüfen Sie den erweiterten Linux-Dienstmanager. Das Flag v2kServiceManager ist standardmäßig auf true gesetzt. Wenn Migrate to Containers jedoch einen Systemdienst erkennt, der nicht vom Dienstmanager unterstützt wird, werden Sie benachrichtigt und das Flag v2kServiceManager wird auf false gesetzt. Wenn das Flag false lautet, verwendet die Migration eine Legacy-Laufzeit, die Ihren Dienst unterstützt.

      Die folgende Benachrichtigung wird neben dem nicht unterstützten Dienst bereitgestellt:

      Service is not supported by v2k service manager, therefore legacy runtime
      will be used instead of v2k service manager, and migrated workload would
      not fit running on Autopilot clusters of Cloudrun.

      Wenn ein nicht unterstützter Dienst gefunden wird, können Sie das Flag auch manuell auf true setzen. In diesem Fall können Sie entweder den nicht unterstützten Dienst für das generierte Image beibehalten, wo er möglicherweise nicht ausgeführt wird, oder den Dienst durch Entfernen aus dem Migrationsplan ausschließen.

      Setzen Sie das Flag auf true zurück, um den neuen Dienstmanager zu aktivieren:

      v2kServiceManager: true
      
    4. Nehmen Sie gegebenenfalls weitere Anpassungen vor, die für die Migration erforderlich sind, wie unter Migrationsplan anpassen beschrieben.

    5. Wenn die Änderungen abgeschlossen sind, speichern Sie die Datei.

    6. Laden Sie den bearbeiteten Migrationsplan hoch:

      migctl migration update my-migration --main-config my-migration.yaml
  4. Erstellen und prüfen Sie die Migrationsartefakte, wie Sie es derzeit mit der vorhandenen Laufzeit tun.

  5. Bearbeiten Sie die neue Datei services-config.yaml, um die Initialisierungsattribute des Containers zu konfigurieren. Speichern Sie die Datei und erstellen Sie das Container-Image neu, um die Änderungen zu übernehmen.

    Weitere Informationen finden Sie unter services-config.yaml verwenden.

  6. Stellen Sie den Container mit kubectl in einem GKE Autopilot-Cluster bereit:

    kubectl apply -f deployment_spec.yaml

Beispiel: Kurzanleitungs-Container auf einem Autopilot-Cluster bereitstellen

Migrieren Sie mithilfe des aktuellen Schnellstarts einen Container mit einem einfachen Webserver und stellen Sie ihn dann in einem Autopilot-Cluster bereit. Die einzigen Änderungen, die Sie am Schnellstart vornehmen müssen, sind:

  1. In Schritt 3 der VM-Migration, bei der Sie den Migrationsplan prüfen, setzen Sie v2kServiceManager im Migrationsplan auf true und speichern dann den Plan:

    v2kServiceManager: true
    
  2. Erstellen Sie im Bereich Migrierte Arbeitslast bereitstellen einen GKE Autopilot-Cluster und stellen Sie eine Verbindung zu diesem her, bevor Sie den Container bereitstellen:

    1. Erstellen Sie einen GKE Autopilot-Cluster:

      gcloud container clusters create-auto "CLUSTER_NAME"
      --project "PROJECT_NAME"  --region "REGION" --release-channel "regular"
      --subnetwork "projects/PROJECT_NAME/regions/us-central1/subnetworks/default"
    2. Als Nächstes stellen Sie die Verbindung zum Cluster her:

      gcloud container clusters get-credentials CLUSTER_NAME 
        --zone REGION --project PROJECT_NAME
      
    3. Stellen Sie den Container wie im Abschnitt Migrierte Arbeitslast bereitstellen beschrieben bereit.

Änderungen an der AppXGenerateArtifactsFlow-CRD

Wenn Sie CRD-Dateien zur Steuerung der Migration verwenden, bearbeiten Sie die AppXGenerateArtifactsFlow-CRD, um v2kServiceManager auf true festzulegen. Weitere Informationen zum Steuern von Migrationen mithilfe von CRD-Dateien finden Sie unter Migrationsplan anpassen.

Nächste Schritte