Changer de plate-forme d'applications Linux en conteneurs

La page Migrer vers des conteneurs l'intégration à Cloud Code vous permet de moderniser les composants d'application Linux exécutés sur des machines virtuelles (VM) ; générer des artefacts qui peuvent être déployés Google Kubernetes Engine et Cloud Run, directement votre IDE à l'aide d'une machine Linux.

Dans ce guide, vous allez apprendre à migrer une application existante vers un conteneur GKE à l'aide de l'extension Cloud Code dans votre IDE sur une machine Linux.

Ce guide est destiné aux développeurs qui utilisent une machine Linux de VS Code, vous connaissez avec Google Cloud, et disposer d'une VM exécutant son composant d'application.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  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. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Google Kubernetes Engine API.

    Enable the API

  8. Installez l'extension Cloud Code. si ce n'est pas déjà fait.
  9. Créez et configurez un cluster GKE.
  10. Assurez-vous de savoir quel type de migration vous souhaitez effectuer. Pour en savoir plus sur les charges de travail compatibles, consultez la section Consulter les systèmes d'exploitation, charges de travail et versions de Kubernetes compatibles.
  11. Préparez vos machines source et locales à la modernisation. Cloud Code n'est compatible qu'avec Linux pour la modernisation.

Ajouter une source de changement de plate-forme

Dans cette section, vous allez installer la CLI du client de découverte Migration Center (mcdc) et d'autres les outils Migrate to Containers sur votre ordinateur local, si vous ne l'avez pas encore fait ; et ajoutez une source de changement de plate-forme en procédant comme suit:

  1. Dans la barre d'activité de votre IDE, cliquez sur  Cloud Code, puis développez l'explorateur Replatform Apps (Replatformer des applications).

  2. Si vous utilisez Migrate to Containers dans Cloud Code pour la première fois, vous devez installer la CLI mcdc et d'autres outils Migrate to Containers sur votre ordinateur local en cliquant sur Install tools (Installer les outils). Sinon, passez à l'étape suivante.

  3. Cliquez sur Modifier les sources. Un fichier mcdc-sources.json vide s'ouvre. Ajouter vos sources au format suivant:

    [
      {
        "title": "SOURCE_NAME",
        "host": "HOSTNAME",
        "user": "USER",
        "identityFile":"IDENTITY-FILE-PATH"
      }
    ]
    
  4. Pour voir les sources apparaître dans l'explorateur Changer de plate-forme d'applications, appuyez de manière prolongée sur passez la souris sur l'explorateur Changer de plate-forme d'applications, puis cliquez sur Bouton Actualiser les sources en cache qui s'affiche.

Facultatif : générer une évaluation de l'adéquation

Avant d'essayer de migrer votre application vers un conteneur, nous vous recommandons que vous générez une Évaluation de l'adéquation de votre source, qui vous indique si votre source peut changer de plate-forme pour un conteneur.

Pour générer une évaluation de l'adéquation de votre source, effectuez un clic droit dessus, puis sélectionnez Évaluer la source. Cela ouvre le terminal dans votre IDE et affiche les journaux de l'évaluation de votre source.

Une fois l'évaluation terminée, mcdc génère un rapport d'évaluation de la compatibilité dans votre IDE.

Si vos sources sont considérées comme adaptées, vous pouvez migrer votre application.

Replatformer votre application

Cloud Code crée un espace de travail dédié pour chaque migration de plate-forme et vous permet d'exécuter les tâches Copy (Copier), Analyze (Analyser) et Generate (Générer) dans l'espace de travail pour automatiser les étapes de migration de plate-forme. Si vous exécutez la tâche Generate (Générer) sans exécutant d'abord les tâches Copy (Copier) et Analyze (Analyser), il les exécute automatiquement avant de générer des artefacts.

Les sections suivantes vous guident tout au long de ces tâches et vous expliquent comment migrer votre application vers un conteneur à l'aide de Cloud Code.

Pour en savoir plus sur le cycle de vie d'une migration, consultez la page Architecture de la CLI Migrate to Containers.

Créer un espace de travail de migration

Avant de créer un espace de travail de replatforming, vous devez savoir quels paramètres de migration sélectionner pour votre type de migration. Pour en savoir plus sur les paramètres de chaque type de migration, consultez la section Créer un plan de migration.

Pour créer un nouvel espace de travail de changement de plate-forme avec des artefacts dans votre IDE, suivez ces étapes:

  1. Dans l'explorateur Replatform Apps (Replatformer des applications), effectuez un clic droit sur la source que vous souhaitez replatformer, puis cliquez sur Replatform (Replatformer).

  2. Dans la liste des options qui s'affichent dans le menu, sélectionnez un changement de plate-forme. du client.

  3. Sélectionnez un nouveau répertoire d'espace de travail pour changer la plate-forme de votre application, puis cliquez sur OK, puis cliquez sur Créer un espace de travail de changement de plate-forme.

  4. Sélectionnez les paramètres de migration pour votre type de migration.

  5. Facultatif: Si vous avez sélectionné le type de migration WebSphere et que vous souhaitez utiliser un lecteur binaire, sélectionnez le fichier binaryAppScanner.jar.

    La génération de l'espace de travail prend quelques secondes. Votre nouvel espace de travail s'ouvre dans une nouvelle fenêtre de votre IDE.

Copier des fichiers depuis votre VM vers votre espace de travail

Pour copier les fichiers de votre VM vers votre espace de travail dans votre IDE, procédez comme suit :

  1. Facultatif : La CLI mcdc applique des filtres pour réduire la taille de la copie, mais vous pouvez modifier le fichier filters.txt pour réduire davantage la taille de la copie. Pour savoir comment réduire la taille de la copie, consultez la section Réduire la taille du système de fichiers copié.

  2. Ouvrez la palette de commandes en appuyant sur Ctrl+Maj+P.

  3. Recherchez et sélectionnez Tasks: Run Task (Tâches : exécuter une tâche), puis m2c: Copy (m2c : copier). La copie des fichiers peut prendre quelques minutes.

Analyser le système de fichiers de la VM et générer un plan de migration

Pour analyser le système de fichiers de la VM et générer un plan de migration, exécutez la en suivant les étapes ci-dessous:

  1. Ouvrez la palette de commandes en appuyant sur Ctrl+Maj+P.

  2. Recherchez et sélectionnez Tasks: Run Task (Tâches : exécuter une tâche), puis m2c: Analyze (m2c : Analyser).

    Si la tâche d'analyse échoue, vous devez modifier vos paramètres de migration via le fichier analyze-args.ini. Ce fichier contient une ligne par paramètre, avec la documentation associée.

    Une fois l'analyse terminée, Cloud Code crée un répertoire appelé migration-plan qui contient les résultats de l'analyse sous la forme d'un fichier config.yaml. Vous pouvez modifier ce fichier pour modifier la façon dont vos artefacts sont générés.

    La structure de votre fichier config.yaml varie en fonction du type de migration. Pour en savoir plus sur les types de migrations compatibles, consultez les pages suivantes :

Générer des artefacts

Pour générer des artefacts, vous devez exécuter la tâche Generate (Générer) dans votre IDE. Si vous n'avez pas encore exécuté les tâches Copier et Analyser dans les sections précédentes, la tâche Générer les exécute automatiquement avant de générer des artefacts.

Pour générer les artefacts, procédez comme suit :

  1. Ouvrez la palette de commandes en appuyant sur Ctrl+Maj+P.

  2. Recherchez et sélectionnez Tasks: Run Task (Tâches : Exécuter la tâche), puis sélectionnez m2c: Generate. Les artefacts sont alors générés dans le répertoire src, qui contient un skaffold.yaml utilisé pour créer et déployer une image de conteneur. Chaque le type de migration génère différents artefacts, mais tous les types de migration créer un ou plusieurs fichiers Docker et une spécification de déploiement GKE ; auquel skaffold.yaml fait référence.

    Une fois la génération d'artefacts terminée, vous avez fini de changer de plate-forme application!

  3. Facultatif: Si vous souhaitez modifier le plan de migration, modifiez votre config.yaml et exécutez de nouveau la tâche m2c: Generate.

    Sinon, si vous êtes satisfait des résultats obtenus, vous pouvez continuer pour exécuter votre application dans un conteneur GKE.

Exécuter votre application dans un conteneur GKE

Dans cette section, vous allez exécuter votre application ayant changé de plate-forme dans un un conteneur GKE, afficher les journaux de votre application en cours d'exécution nettoyer les ressources.

Si vous n'avez pas encore créé et configuré suivez les instructions fournies dans l'article Créez et configurez un cluster GKE dans Cloud Code pour VS Code.

Pour en savoir plus sur le débogage des applications GKE, consultez Déboguer des applications Kubernetes avec Cloud Code pour VS Code.

Exécuter et afficher votre application

Maintenant que vous êtes prêt, vous pouvez exécuter votre application et l'afficher en direct. Cloud Code surveille les modifications apportées à votre système de fichiers afin que vous puissiez modifier et exécuter à nouveau votre application en temps réel.

Pour exécuter votre application, procédez comme suit :

  1. Dans la barre d'état Cloud Code, cliquez sur le nom du projet actif.

    Nom du projet actif dans la barre d'état

  2. Dans le menu de sélection rapide qui s'affiche, sélectionnez Exécuter sur Kubernetes.

  3. Confirmez si vous souhaitez utiliser le contexte actif du cluster ou basculer vers un autre.

  4. Si vous y êtes invité, choisissez un registre d'images vers lequel transférer les images. Si vous créez un registre d'images à l'aide de gcr.io/PROJECT_ID, assurez-vous qu'il se trouve dans le même projet que votre cluster.

    Une fenêtre de résultat s'affiche, dans laquelle vous pouvez suivre la progression de votre application en cours d'exécution. Un flux en direct des journaux des pods en cours d'exécution s'affiche également dans la sortie du terminal.

  5. Une fois votre application exécutée sur Kubernetes, la fenêtre de résultat affiche une adresse IP. Pour utiliser cette adresse IP associée afin d'accéder à votre application, appuyez sur Ctrl et cliquez sur l'adresse.

Une fois la session de débogage démarrée, le volet Development sessions (Sessions de développement) s'affiche. la vue de journalisation structurée. Lorsqu'une tâche commence, elle apparaît avec une demi-cercle tournant progress_activity

Si une tâche aboutit, une coche check_circle s'affiche à côté de l'étape correspondante.

Pour afficher les détails d'une étape, cliquez dessus dans la section Volet Session de développement. Le volet "Résultat" affiche l'étape dans la sortie de la journalisation.

Effectuer un nettoyage

Une fois votre application arrêtée, toutes les ressources Kubernetes déployées pendant l'exécution sont automatiquement supprimées.

Afin d'éviter que des frais ne soient facturés sur votre compte pour d'autres ressources utilisées au cours de cette n'oubliez pas de supprimer le projet ou le cluster que vous avez créé vous souhaitez réutiliser le projet.

Pour supprimer le cluster :

  1. Cliquez sur . Cloud Code, puis développez l'explorateur Kubernetes.
  2. Pointez sur le nom de votre cluster, puis cliquez sur open_in_new (Ouvrir dans la console Google Cloud) Ouvrir dans la console Google Cloud.
  3. Cliquez sur Supprimer et de nouveau sur Supprimer.

Pour supprimer votre projet (et les ressources associées, y compris les clusters) :

  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.

Pour supprimer tous les fichiers locaux créés lors du processus de migration :

  1. Ouvrez la palette de commandes (Ctrl+Maj+P).
  2. Recherchez et sélectionnez Tâches: Exécuter la tâche, puis sélectionnez m2c: Nettoyage.