Plattform von Linux-Anwendungen auf Container umstellen

Durch die Einbindung von Migrate to Containers in Cloud Code können Sie Linux-Anwendungskomponenten modernisieren, die auf virtuellen Maschinen (VMs) ausgeführt werden, und Artefakte generieren, die sich direkt in Ihrer IDE mithilfe eines Linux-Computers in Google Kubernetes Engine und Cloud Run bereitstellen lassen.

In diesem Leitfaden erfahren Sie, wie Sie die Plattform einer vorhandenen Anwendung auf einen GKE-Container mithilfe der Cloud Code-Erweiterung in Ihrer IDE auf einem Linux-Computer umstellen.

Dieser Leitfaden richtet sich an Entwickler auf einem Linux-Computer, der über Arbeitskenntnisse in VS Code verfügt, mit Google Cloud vertraut ist und deren Anwendungskomponente von einer VM ausgeführt wird.

Hinweise

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Google Kubernetes Engine API aktivieren.

    Aktivieren Sie die API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  7. Google Kubernetes Engine API aktivieren.

    Aktivieren Sie die API

  8. Installieren Sie die Cloud Code-Erweiterung, falls noch nicht geschehen.
  9. Erstellen und konfigurieren Sie einen GKE-Cluster.
  10. Informieren Sie sich darüber, welche Art von Migration Sie durchführen möchten. Weitere Informationen zu unterstützten Arbeitslasten finden Sie unter Kompatible Betriebssysteme, Arbeitslasten und Kubernetes-Versionen prüfen.
  11. Bereiten Sie Ihre Quell- und lokalen Maschinen für die Modernisierung vor. Cloud Code unterstützt für die Modernisierung nur Linux.

Plattformwechsel-Quelle hinzufügen

In diesem Abschnitt installieren Sie die Befehlszeile des Migration Center-Discovery-Clients (mcdc) und andere Migrate to Containers-Tools auf Ihrem lokalen Computer, falls Sie es noch nicht getan haben, und fügen eine Replattform-Quelle hinzu. Gehen Sie dazu so vor:

  1. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf Cloud Code und maximieren Sie dann den Explorer für Replatform Apps (Apps auf eine andere Plattform).

  2. Wenn Sie Migrate to Containers in Cloud Code zum ersten Mal verwenden, müssen Sie die mcdc-Befehlszeile und andere Migrate to Containers-Tools auf Ihrem lokalen Computer installieren. Klicken Sie dazu auf Tools installieren. Andernfalls fahren Sie mit dem nächsten Schritt fort.

  3. Klicken Sie auf Quellen bearbeiten. Dadurch wird eine leere mcdc-sources.json-Datei geöffnet. Fügen Sie Ihre Quellen im folgenden Format hinzu:

    [
      {
        "title": "SOURCE_NAME",
        "host": "HOSTNAME",
        "user": "USER",
        "identityFile":"IDENTITY-FILE-PATH"
      }
    ]
    
  4. Wenn Sie sehen möchten, wie die Quellen im Explorer für die Plattformwechsel angezeigt werden, bewegen Sie den Mauszeiger auf den Explorer für Apps auf der anderen Plattform und klicken Sie auf die Schaltfläche Quellen neu laden, die im Cache angezeigt wird.

Optional: Eignungsbewertung generieren

Bevor Sie versuchen, die Plattform Ihrer Anwendung in einen Container zu verschieben, empfehlen wir, eine Fit-Bewertung Ihrer Quelle zu erstellen. Damit werden Sie benachrichtigt, wenn Ihre Quelle einen Container auf andere Plattformen verschieben kann.

Klicken Sie mit der rechten Maustaste auf die Quelle und wählen Sie Quelle bewerten aus, um eine Eignungsbewertung Ihrer Quelle zu erstellen. Dadurch wird das Terminal in Ihrer IDE geöffnet und die Logs der Bewertung Ihrer Quelle werden angezeigt.

Wenn die Bewertung abgeschlossen ist, generiert mcdc einen Eignungsbewertungsbericht in Ihrer IDE.

Wenn Ihre Quellen als gut geeignet gemeldet werden, können Sie die Plattform Ihrer Anwendung wechseln.

Plattform für Ihre Anwendung wechseln

Cloud Code erstellt für jeden Plattformwechsel einen eigenen Arbeitsbereich und ermöglicht es Ihnen, die Aufgaben Kopieren, Analysieren und Generieren im Arbeitsbereich auszuführen, um die Schritte zum Plattformwechsel zu automatisieren. Wenn Sie die Aufgabe Generate (Generieren) ausführen, ohne zuerst die Aufgaben Copy und Analysieren auszuführen, werden diese automatisch vor der Generierung von Artefakten ausgeführt.

In den folgenden Abschnitten erfahren Sie, wie Sie diese Aufgaben ausführen und Ihre Anwendung mithilfe von Cloud Code in einen Container verschieben.

Weitere Informationen zum Lebenszyklus einer Migration finden Sie unter Architektur der Migrate to Containers-Befehlszeile.

Neuen Arbeitsbereich für Plattformwechsel erstellen

Bevor Sie einen neuen Arbeitsbereich für einen Plattformwechsel erstellen, müssen Sie wissen, welche Migrationsparameter Sie für Ihren Migrationstyp auswählen müssen. Weitere Informationen zu den Parametern für jeden Migrationstyp finden Sie unter Migrationsplan erstellen.

So erstellen Sie in Ihrer IDE einen neuen Arbeitsbereich für den Plattformwechsel mit Artefakten:

  1. Klicken Sie im Explorer für Plattformwechsel mit der rechten Maustaste auf die Quelle, deren Plattform Sie wechseln möchten. Klicken Sie dann auf Plattform wechseln.

  2. Wählen Sie aus der Liste der Optionen, die im Menü angezeigt werden, eine Reise zum Plattformwechsel aus.

  3. Wählen Sie ein neues Arbeitsbereichsverzeichnis aus, in dem Sie die Plattform Ihrer Anwendung wechseln möchten. Klicken Sie auf OK und dann auf Arbeitsbereich zum Wechseln der Plattform erstellen.

  4. Wählen Sie die Migrationsparameter für Ihren Migrationstyp aus.

  5. Optional: Wenn Sie den WebSphere-Migrationstyp ausgewählt haben und einen Binärscanner verwenden möchten, wählen Sie die Datei binaryAppScanner.jar aus.

    Das Erstellen des Arbeitsbereichs dauert einige Sekunden. Dadurch wird Ihr neues Arbeitsbereichsverzeichnis in einem neuen Fenster Ihrer IDE geöffnet.

Dateien von der VM in Ihren Arbeitsbereich kopieren

Führen Sie die folgenden Schritte aus, um die Dateien von Ihrer VM in Ihren Arbeitsbereich in Ihrer IDE zu kopieren:

  1. Optional: Die mcdc-Befehlszeile wendet Filter an, um die Größe der Kopie zu reduzieren. Sie können die Datei filters.txt jedoch ändern, um die Kopie weiter zu verkleinern. Informationen zum Reduzieren der Größe der Kopie finden Sie unter Größe des kopierten Dateisystems reduzieren.

  2. Öffnen Sie die Befehlspalette mit der Tastenkombination Strg + Umschalttaste + P.

  3. Wählen Sie Tasks: Task ausführen und dann m2c: Copy aus. Das Kopieren der Dateien kann einige Minuten dauern.

VM-Dateisystem analysieren und Migrationsplan generieren

Führen Sie die folgenden Schritte aus, um das VM-Dateisystem zu analysieren und einen Migrationsplan zu generieren:

  1. Öffnen Sie die Befehlspalette mit der Tastenkombination Strg + Umschalttaste + P.

  2. Wählen Sie Tasks: Task ausführen und dann m2c: Analysieren aus.

    Wenn die Analyseaufgabe fehlschlägt, müssen Sie die Migrationsparameter über die Datei analyze-args.ini ändern. Diese Datei enthält eine Zeile pro Parameter mit einer zugehörigen Dokumentation zum Parameter.

    Wenn die Analyse erfolgreich ist, erstellt Cloud Code ein Verzeichnis mit dem Namen migration-plan, das die Ergebnisse der Analyse in Form einer config.yaml-Datei enthält. Sie können diese Datei bearbeiten, um die Art und Weise zu ändern, wie Ihre Artefakte generiert werden.

    Die Struktur der Datei config.yaml hängt vom Migrationstyp ab. Weitere Informationen zu den unterstützten Migrationstypen finden Sie auf den folgenden Seiten:

Artefakte generieren

Zum Generieren von Artefakten müssen Sie die Aufgabe Generate (Generieren) in Ihrer IDE ausführen. Wenn Sie die Aufgaben Kopieren und Analysieren in den vorherigen Abschnitten noch nicht ausgeführt haben, führt die Aufgabe Generieren beide automatisch aus, bevor Artefakte generiert werden.

So generieren Sie die Artefakte:

  1. Öffnen Sie die Befehlspalette mit der Tastenkombination Strg + Umschalttaste + P.

  2. Wählen Sie Tasks: Task ausführen und dann m2c: Generate (m2c: Generieren) aus. Dadurch werden die Artefakte im Verzeichnis src generiert, das die Datei skaffold.yaml enthält, mit der ein Container-Image erstellt und bereitgestellt wird. Jeder Migrationstyp generiert verschiedene Artefakte. In der Regel erstellen jedoch alle Migrationstypen ein oder mehrere Dockerfiles und eine GKE-Bereitstellungsspezifikation, auf die skaffold.yaml verweist.

    Wenn die Artefakterstellung abgeschlossen ist, ist der Plattformwechsel für Ihre Anwendung abgeschlossen.

  3. Optional: Wenn Sie den Migrationsplan ändern möchten, bearbeiten Sie die Datei config.yaml und führen Sie die Aufgabe m2c: Generate noch einmal aus.

    Wenn Sie mit den Ergebnissen des Plattformwechsels zufrieden sind, können Sie mit der Anwendung in einem GKE-Container fortfahren.

Anwendung in einem GKE-Container ausführen

In diesem Abschnitt führen Sie Ihre plattformübergreifende Anwendung in einem GKE-Container aus, sehen sich die Logs Ihrer laufenden Anwendung an und bereinigen Ressourcen.

Wenn Sie noch keinen GKE-Cluster erstellt und konfiguriert haben, folgen Sie der Anleitung unter GKE-Cluster in Cloud Code for VS Code erstellen und konfigurieren.

Weitere Informationen zum Debuggen von GKE-Anwendungen finden Sie unter Fehlerbehebung bei Kubernetes-Anwendungen mit Cloud Code for VS Code.

Anwendung ausführen und ansehen

Jetzt können Sie die Anwendung ausführen und live ansehen. Cloud Code überwacht Ihr Dateisystem auf Änderungen, damit Sie Ihre Anwendung in Echtzeit bearbeiten und noch einmal ausführen können.

So führen Sie Ihre Anwendung aus:

  1. Klicken Sie in der Cloud Code-Statusleiste auf den Namen des aktiven Projekts.

    Aktiver Projektname in Statusleiste

  2. Wählen Sie im angezeigten Schnellauswahl-Menü die Option Run on Kubernetes aus.

  3. Prüfen Sie, ob Sie den aktuellen Clusterkontext verwenden oder zu einem anderen Kontext wechseln möchten.

  4. Wenn Sie dazu aufgefordert werden, wählen Sie eine Image-Registry aus, in die die Images übertragen werden sollen. Wenn Sie eine neue Image-Registry mit gcr.io/PROJECT_ID erstellen, muss sich die Image-Registry im selben Projekt wie Ihr Cluster befinden.

    Ein Ausgabefenster wird angezeigt, in dem Sie den Fortschritt Ihrer ausgeführten Anwendung verfolgen können. Außerdem sehen Sie einen Livestream der Logs der ausgeführten Pods in der Terminalausgabe.

  5. Sobald Ihre Anwendung in Kubernetes ausgeführt wird, wird im Ausgabefenster eine IP-Adresse angezeigt. Drücken Sie Strg und klicken Sie auf die Adresse, um über diese verknüpfte IP-Adresse auf Ihre Anwendung zuzugreifen.

Nach dem Start der Fehlerbehebungssitzung wird im Bereich Development Sessions die strukturierte Logging-Ansicht angezeigt. Zu Beginn der Aufgabe wird sie mit einem sich drehenden, halbkreisförmigen progress_activity angezeigt.

Wenn eine Aufgabe erfolgreich ist, wird neben dem Schritt ein Häkchen check_circle angezeigt.

Klicken Sie im Bereich Entwicklersitzung auf den Schritt, um Details zu einem Schritt aufzurufen. Im Ausgabebereich wird der Schritt in der Logging-Ausgabe angezeigt.

Bereinigen

Nachdem Sie die Anwendung beendet haben, werden alle während der Ausführung bereitgestellten Kubernetes-Ressourcen automatisch gelöscht.

Löschen Sie das Projekt oder den von Ihnen erstellten Cluster, wenn Sie das Projekt wiederverwenden möchten, damit Ihrem Konto keine anderen in dieser Kurzanleitung verwendeten Ressourcen in Rechnung gestellt werden.

So löschen Sie den Cluster:

  1. Klicken Sie auf Cloud Code und maximieren Sie dann Kubernetes Explorer.
  2. Bewegen Sie den Mauszeiger über den Clusternamen und klicken Sie dann auf open_in_new In Google Cloud Console öffnen.
  3. Klicken Sie auf Löschen und dann noch einmal auf Löschen.

So löschen Sie Ihr Projekt und die zugehörigen Ressourcen, einschließlich der Cluster:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

So löschen Sie alle lokalen Dateien, die während des Plattformwechsels erstellt wurden:

  1. Öffnen Sie die Befehlspalette (Strg + Umschalttaste + P).
  2. Wählen Sie Tasks: Task ausführen und dann m2c: Cleanup aus.