Changer de plate-forme d'applications Linux en conteneurs

L'intégration de Migrate to Containers à Cloud Code vous permet de moderniser les composants d'application Linux exécutés sur des machines virtuelles (VM) et de générer des artefacts pouvant être déployés sur Google Kubernetes Engine et Cloud Run, directement dans votre IDE, à l'aide d'une machine Linux.

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

Ce guide est destiné aux développeurs qui utilisent une machine Linux qui maîtrisent VS Code, qui connaissent Google Cloud et qui disposent d'une VM exécutant leur 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. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Google Kubernetes Engine

    Activer l'API

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

    Go to project selector

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activez l'API Google Kubernetes Engine

    Activer l'API

  8. Si ce n'est pas déjà fait, installez l'extension Cloud Code.
  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 page Examiner les versions d'OS, de charges de travail et de Kubernetes compatibles.
  11. Préparez vos machines sources et locales pour 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 outils Migrate to Containers sur votre ordinateur local, si ce n'est pas déjà fait, et ajouter 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 Changer de plate-forme d'applications.

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

  3. Cliquez sur Modifier les sources. Un fichier mcdc-sources.json vide s'ouvre. Ajoutez 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, maintenez votre pointeur sur l'explorateur Changer de plate-forme d'applications, puis cliquez sur le bouton Actualiser les sources en cache qui s'affiche.

Facultatif: Générer une évaluation d'adéquation

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

Pour générer une évaluation de l'adéquation de votre source, effectuez un clic droit sur votre source, puis sélectionnez Évaluer la source. Le terminal s'ouvre 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 d'adéquation dans votre IDE.

Si vos sources ont l'état Satisfaisant, vous êtes prêt à changer de plate-forme pour votre application.

Changer de plate-forme pour votre application

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

Les sections suivantes vous guident à travers l'exécution de chacune de ces tâches et le changement de plate-forme de votre application vers un conteneur à l'aide de Cloud Code.

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

Créer un espace de travail de changement de plate-forme

Avant de créer un espace de travail de changement de plate-forme, 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 espace de travail de changement de plate-forme avec des artefacts dans votre IDE, procédez comme suit:

  1. Dans l'explorateur Changer de plate-forme, effectuez un clic droit sur la source que vous souhaitez changer de plate-forme, puis cliquez sur Changer de plate-forme.

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

  3. Sélectionnez un nouveau répertoire d'espace de travail pour changer la plate-forme de votre application, cliquez sur OK, puis 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 outil d'analyse binaire, sélectionnez le fichier binaryAppScanner.jar.

    La génération de l'espace de travail prend quelques secondes. Votre nouveau répertoire d'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 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 la tâche), puis sélectionnez m2c: Copy (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, 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: 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 une documentation sur le paramètre.

    Lorsque l'analyse aboutit, 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 changer 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 migration 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 Copy (Copier) et Analyze (Analyser) des sections précédentes, la tâche Generate (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 fichier skaffold.yaml permettant de créer et de déployer une image de conteneur. Chaque type de migration génère différents artefacts, mais tous créent généralement un ou plusieurs fichiers Docker ainsi qu'une spécification de déploiement GKE référencée par skaffold.yaml.

    Une fois la génération des artefacts terminée, vous avez fini de changer de plate-forme pour votre application.

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

    Sinon, si vous êtes satisfait des résultats obtenus, vous pouvez 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 conteneur GKE, afficher les journaux de l'application en cours d'exécution et nettoyer les ressources.

Si vous n'avez pas encore créé et configuré de cluster GKE, suivez les instructions de la section Créer et configurer 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 for 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 réexécuter 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. Vous verrez également une diffusion en direct des journaux des pods en cours d'exécution 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 lancée, le volet Development sessions (Sessions de développement) affiche la vue de journalisation structurée. Au début d'une tâche, elle apparaît avec un demi-cercle en rotation : progress_activity.

Si une tâche aboutit, une coche check_circle apparaît à côté de l'étape.

Pour afficher les détails d'une étape, cliquez dessus dans le 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 lors de l'exécution sont automatiquement supprimées.

Afin d'éviter que des frais ne soient facturés sur votre compte pour les autres ressources utilisées dans ce guide de démarrage rapide, veillez à supprimer le projet ou à supprimer le cluster que vous avez créé si vous souhaitez le réutiliser.

Pour supprimer le cluster :

  1. Cliquez sur Cloud Code, puis développez l'explorateur Kubernetes.
  2. Maintenez le pointeur sur le nom de votre cluster, puis cliquez sur open_in_new 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. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Pour supprimer tous les fichiers locaux créés lors du processus de changement de plate-forme:

  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.