Linux-Anwendungen in Container umwandeln

Mit der Integration von Migrate to Containers in Cloud Code können Sie Linux-Anwendungskomponenten, die auf virtuellen Maschinen (VMs) ausgeführt werden, modernisieren und Artefakte generieren, die direkt in Ihrer IDE mit einem Linux-Computer in der Google Kubernetes Engine und Cloud Run bereitgestellt werden können.

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

Dieses Handbuch richtet sich an Entwickler von Linux-Rechnern, auf denen Kenntnisse über VS Code, kennen Sie mit Google Cloud und eine VM, die ihre Anwendungskomponente ausführt.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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. Enable the Google Kubernetes Engine API.

    Enable the 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. Enable the Google Kubernetes Engine API.

    Enable the API

  8. Installieren Sie die Cloud Code-Erweiterung. falls noch nicht geschehen.
  9. GKE-Cluster erstellen und konfigurieren
  10. Sie müssen wissen, welche Art von Migration Sie ausführen möchten. Weitere Informationen zu unterstützten Arbeitslasten finden Sie unter Kompatible Betriebssysteme, Arbeitslasten und Kubernetes-Versionen ansehen.
  11. Bereiten Sie Ihre Quell- und lokalen Computer für die Modernisierung vor. Cloud Code unterstützt nur Linux zur Modernisierung.

Plattformwechsel-Quelle hinzufügen

In diesem Abschnitt installieren Sie die Discovery-Client-Befehlszeile des Migrationscenters (mcdc) und andere Migrate to Containers-Tools auf Ihrem lokalen Computer, falls Sie dies noch nicht getan haben. Anschließend fügen Sie eine Replatforming-Quelle hinzu. Gehen Sie dazu so vor:

  1. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf Cloud Code. Maximieren Sie dann den Explorer für Apps für die Plattformwechsel.

  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. Daraufhin 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. Damit die Quellen im Explorer für Apps für die andere Plattform angezeigt werden, Bewegen Sie den Mauszeiger auf den Explorer für Apps auf anderen Plattformen und klicken Sie auf das Symbol im Cache gespeicherte Schaltfläche Quellen neu laden, angezeigt wird.

Optional: Eignungsbewertung generieren

Bevor Sie versuchen, Ihre Anwendung auf einen Container umzustellen, empfehlen wir Ihnen, eine Eignungsbewertung Ihrer Quelle durchzuführen. Sie werden dann benachrichtigt, ob Ihre Quelle für die Umstellung auf einen Container geeignet ist.

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

Nach Abschluss der Bewertung generiert mcdc einen Fit-Bewertungsbericht in Ihrer IDE.

Wenn Ihre Quellen als gut geeignet eingestuft wurden, können Sie Ihre Anwendung umstellen.

Plattform Ihrer Anwendung wechseln

Cloud Code erstellt für jede Plattformmigration einen eigenen Arbeitsbereich und ermöglicht es Ihnen, die Aufgaben Kopieren, Analysieren und Generieren im Arbeitsbereich auszuführen, um die Schritte zur Plattformmigration zu automatisieren. Wenn Sie die Aufgabe Generieren ausführen, ohne zuerst die Aufgaben Kopieren und Analysieren auszuführen, werden diese automatisch ausgeführt, bevor Artefakte generiert werden.

Die folgenden Abschnitte führen Sie durch die Durchführung dieser Aufgaben 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, Migrationsparameter, die für Ihren Migrationstyp ausgewählt werden sollen. Weitere Informationen zu den Parametern für die einzelnen Migrationstypen finden Sie unter Migrationsplan erstellen.

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

  1. Klicken Sie im Explorer für Apps auf anderen Plattformen mit der rechten Maustaste auf die Quelle, die Sie aktualisieren möchten. und dann auf Plattform wechseln.

  2. Wählen Sie im Menü einen Plattformwechsel aus. Reise.

  3. Wählen Sie ein neues Arbeitsbereichsverzeichnis aus, in dem Sie die Plattform Ihrer Anwendung wechseln möchten, und klicken Sie auf OK und klicken Sie dann auf Create platform Workspace.

  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, wählen Sie die Datei binaryAppScanner.jar aus.

    Die Generierung des Arbeitsbereichs dauert einige Sekunden. Der neue Arbeitsbereich wird geöffnet in einem neuen Fenster Ihrer IDE.

Dateien von Ihrer VM in Ihren Arbeitsbereich kopieren

So kopieren Sie die Dateien aus Ihrer VM in Ihren Arbeitsbereich in der IDE:

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

  2. Öffnen Sie die Befehlspalette, indem Sie Strg + Umschalttaste + P drücken.

  3. Suchen Sie nach Tasks: Run Task (Aufgaben: Aufgabe ausführen) und wählen Sie dann m2c: Copy (m2c: Kopieren) aus. Das Kopieren der Dateien kann einige Minuten dauern.

VM-Dateisystem analysieren und Migrationsplan generieren

Um das VM-Dateisystem zu analysieren und einen Migrationsplan zu generieren, führen Sie die folgenden Schritten:

  1. Öffnen Sie die Befehlspalette, indem Sie Strg + Umschalttaste + P drücken.

  2. Suchen Sie nach Tasks: Run Task (Aufgaben: Aufgabe ausführen) und wählen Sie dann m2c: Analyze (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 zugehöriger Dokumentation zum Parameter.

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

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

Artefakte generieren

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

So generieren Sie die Artefakte:

  1. Öffnen Sie die Befehlspalette, indem Sie Strg + Umschalttaste + P drücken.

  2. Suchen Sie nach Tasks: Run Task (Aufgaben: Aufgabe ausführen) und wählen Sie dann m2c: Generate (m2c: Generieren) aus. Dadurch werden die Artefakte im Verzeichnis src generiert. Dieses enthält eine skaffold.yaml-Datei, die zum Erstellen und Bereitstellen eines Container-Images verwendet wird. Für jeden Migrationstyp werden unterschiedliche Artefakte generiert. Bei allen Migrationstypen werden jedoch in der Regel ein oder mehrere Dockerfiles und eine GKE-Bereitstellungsspezifikation erstellt, auf die skaffold.yaml verweist.

    Wenn die Artefakterstellung abgeschlossen ist, ist der Plattformwechsel 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 der Plattformmigration zufrieden sind, können Sie Ihre Anwendung in einem GKE-Container ausführen.

Anwendung in einem GKE-Container ausführen

In diesem Abschnitt führen Sie Ihre plattformübergreifende Anwendung GKE-Container, rufen Sie die Logs Ihrer laufenden Anwendung auf und und Ressourcen bereinigen.

Wenn Sie noch keine GKE erstellt und konfiguriert haben Cluster finden Sie in der Erstellen und konfigurieren Sie einen GKE-Cluster in Cloud Code for VS Code.

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

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 die App in Echtzeit bearbeiten und neu ausführen.

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 mit gcr.io/PROJECT_ID eine neue Image-Registry erstellen, muss sich diese 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 aus der in der Terminalausgabe ausgeführt werden.

  5. Sobald Ihre Anwendung in Kubernetes ausgeführt wird, wird im Ausgabefenster eine IP-Adresse angezeigt. Um über diese verknüpfte IP-Adresse auf Ihr Anwendung verwenden, drücken Sie Ctrl und klicken Sie auf die Adresse.

Nach dem Start der Fehlerbehebungssitzung wird der Bereich Entwicklersitzungen angezeigt. der strukturierten Logging-Ansicht. Wenn eine Aufgabe beginnt, wird die Aufgabe mit einem rotierenden Halbkreis progress_activity angezeigt.

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

Klicken Sie auf den Schritt im Bereich Entwicklungssitzung, um die Details eines Schritts anzuzeigen. Im Ausgabebereich wird der Schritt in der Logging-Ausgabe angezeigt.

Bereinigen

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

Damit Ihr Konto nicht für andere in dieser Kurzanleitung verwendete Ressourcen belastet wird, müssen Sie das Projekt oder den Cluster, den Sie erstellt haben, 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 Kubernetes Explorer.
  2. Halten Sie den Mauszeiger über 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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

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.