Plattformwechsel von Linux-Anwendungen zu Containern

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 mithilfe eines Linux-Computers direkt in Ihrer IDE in Google Kubernetes Engine und Cloud Run bereitgestellt werden können.

In dieser Anleitung erfahren Sie, wie Sie eine vorhandene Anwendung mithilfe der Cloud Code-Erweiterung in Ihrer IDE auf einem Linux-Computer zu einem GKE-Container wechseln.

Diese Anleitung richtet sich an Entwickler eines Linux-Computers, die mit VS Code und Google Cloud vertraut sind und auf einer VM ihre Anwendungskomponente 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. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

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

  4. Google Kubernetes Engine API aktivieren.

    Aktivieren Sie die API

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  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. GKE-Cluster erstellen und konfigurieren
  10. Überlegen Sie sich gut, welche Art von Migration Sie durchführen möchten. Weitere Informationen zu unterstützten Arbeitslasten finden Sie unter Kompatible Betriebssysteme, Arbeitslasten und Kubernetes-Versionen ansehen.
  11. Quell- und lokale Maschinen für die Modernisierung vorbereiten Cloud Code unterstützt für die Modernisierung nur Linux.

Plattformwechsel-Quelle hinzufügen

In diesem Abschnitt installieren Sie die Discovery-Client-Befehlszeile des Migrationscenters (mcdc) und andere Tools für das Migrieren zu Containern auf Ihrem lokalen Computer, falls Sie dies noch nicht getan haben. Führen Sie die folgenden Schritte aus, um eine Plattformwechselquelle hinzuzufügen:

  1. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf Cloud Code und maximieren Sie dann den Explorer Apps wechseln.

  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. Halten Sie den Mauszeiger über den Explorer für Anwendungen auf der Plattform und klicken Sie auf die eingeblendete Schaltfläche Im Cache gespeicherte Quellen neu laden, damit die Quellen im Explorer für Plattformübergreifende Anwendungen angezeigt werden.

Optional: Eignungsbewertung generieren

Bevor Sie versuchen, die Anwendung in einen Container zu wechseln, empfehlen wir, eine Fit-Bewertung der Quelle zu generieren. So werden Sie benachrichtigt, ob Ihre Quelle in der Lage ist, einen Container zu wechseln.

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 angezeigt.

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

Wenn Ihre Quellen nachgewiesen werden, dass sie gut geeignet sind, können Sie Ihre Anwendung wechseln.

Plattformwechsel der Anwendung

Cloud Code erstellt für jeden Plattformwechsel einen dedizierten Arbeitsbereich und ermöglicht Ihnen, die Aufgaben Kopieren, Analysieren und Generieren im Arbeitsbereich auszuführen, um die Schritte zum Plattformwechsel zu automatisieren. Wenn Sie den Generate-Task ausführen, ohne zuerst die Aufgaben Copy und Analyze auszuführen, werden sie automatisch vor dem Generieren von Artefakten ausgeführt.

In den folgenden Abschnitten erfahren Sie, wie Sie diese Aufgaben ausführen und Ihre Anwendung mit 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 plattformübergreifenden Arbeitsbereich erstellen, müssen Sie wissen, welche Migrationsparameter für den Migrationstyp ausgewählt werden sollen. Weitere Informationen zu den Parametern für jeden Migrationstyp finden Sie unter Migrationsplan erstellen.

So erstellen Sie einen neuen Plattformwechsel-Arbeitsbereich mit Artefakten in Ihrer IDE:

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

  2. Wählen Sie aus der Liste der Optionen im Menü den Weg zu einem Plattformwechsel aus.

  3. Wählen Sie ein neues Arbeitsbereichsverzeichnis aus, in dem die Anwendung gewechselt werden soll. Klicken Sie auf OK und dann auf Arbeitsbereich für neue Plattform erstellen.

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

  5. Optional: Wenn Sie den Migrationstyp „WebSphere“ 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. Ihr neues Arbeitsbereichsverzeichnis wird in einem neuen Fenster Ihrer IDE geöffnet.

Dateien von der VM in den Arbeitsbereich kopieren

Führen Sie die folgenden Schritte aus, um die Dateien von der VM in den 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 sie 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. Suchen Sie nach Tasks: Task ausführen und wählen Sie dann m2c: Copy aus. Das Kopieren von Dateien kann einige Minuten dauern.

VM-Dateisystem analysieren und einen 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: Run Task (Aufgaben: Aufgabe 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 Generierung der Artefakte zu ändern.

    Die Struktur der Datei config.yaml unterscheidet sich je nach Migrationstyp. Weitere Informationen zu den unterstützten Migrationstypen finden Sie auf den folgenden Seiten:

Artefakte generieren

Zum Generieren von Artefakten müssen Sie den Generate-Task 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 sie automatisch aus, bevor Artefakte generiert werden.

Führen Sie die folgenden Schritte aus, um die Artefakte zu generieren:

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

  2. Suchen Sie nach Tasks: Task ausführen und wählen Sie 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 unterschiedliche Artefakte, aber alle Migrationstypen erstellen in der Regel 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: Generieren noch einmal aus.

    Wenn Sie mit den Ergebnissen der Plattformwechsel zufrieden sind, können Sie die Anwendung in einem GKE-Container ausführen.

Anwendung in einem GKE-Container ausführen

In diesem Abschnitt führen Sie die Anwendung, die auf die neue Plattform verschoben wurde, 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 Fehler in Kubernetes-Anwendungen mit Cloud Code for VS Code beheben.

Anwendung ausführen und ansehen

Jetzt können Sie die Anwendung ausführen und live ansehen. Cloud Code überwacht Ihr Dateisystem auf Änderungen, sodass Sie die Anwendung in Echtzeit bearbeiten und neu 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.

    Name des aktiven Projekts in der 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, achten Sie darauf, dass sich die Image-Registry im selben Projekt wie Ihr Cluster befindet.

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

  5. Sobald Ihre Anwendung in Kubernetes ausgeführt wird, wird im Ausgabefenster eine IP-Adresse angezeigt. Wenn Sie diese verknüpfte IP-Adresse für den Zugriff auf Ihre Anwendung verwenden möchten, drücken Sie Strg und klicken Sie auf die Adresse.

Nachdem die Debugging-Sitzung gestartet wurde, wird im Bereich Development Sessions die strukturierte Logging-Ansicht angezeigt. Wenn eine Aufgabe beginnt, wird sie mit einem sich drehenden Halbkreis progress_activity angezeigt.

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

Wenn Sie Details zu einem Schritt aufrufen möchten, klicken Sie im Bereich Entwicklungssitzung auf den entsprechenden Schritt. 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.

Damit Ihrem Konto keine Gebühren für andere in dieser Kurzanleitung verwendete Ressourcen in Rechnung gestellt werden, müssen Sie das Projekt löschen bzw. den von Ihnen erstellten Cluster löschen, wenn Sie das Projekt wiederverwenden möchten.

So löschen Sie den Cluster:

  1. Klicken Sie auf Cloud Code und maximieren Sie dann den Kubernetes-Explorer.
  2. Bewegen Sie den Mauszeiger auf den Clusternamen und klicken Sie auf open_in_new In der 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 beim Wechsel der Plattform erstellt wurden:

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