Migrer des VM vers des conteneurs avec la migration vers des conteneurs

Last reviewed 2021-10-21 UTC

Ce document s'adresse aux architectes cloud chargés de concevoir et de mettre en œuvre un plan de migration pour des charges de travail basées sur des machines virtuelles vers des conteneurs. Il fournit des conseils sur l'utilisation de Migrate to Containers pour migrer vos VM depuis votre environnement source vers des conteneurs exécutés dans Google Kubernetes Engine (GKE) ou GKE Enterprise. Votre environnement source peut s'exécuter dans un environnement sur site, dans un environnement d'hébergement privé ou dans l'environnement d'un autre fournisseur de cloud.

Ce document présente Migrate to Containers. Il contient également des points importants à prendre en compte lors de la planification d'une migration de VM vers des conteneurs. Il fait partie d'une série d'articles sur la migration vers Google Cloud. Si vous êtes intéressé par une présentation de la série, consultez la section Migration vers Google Cloud : choisir votre chemin de migration.

Lisez ce document si vous envisagez de migrer des VM exécutant un système d'exploitation compatible, tel que Linux ou Windows, à partir d'un environnement source compatible vers un environnement GKE ou GKE Enterprise avec Migrate to Containers. Ces environnements sources peuvent inclure les éléments suivants :

Migrate to Containers vous permet de placer des charges de travail basées sur des VM existantes dans des conteneurs GKE et GKE Enterprise, sans avoir à :

  • Exiger l'accès au code source
  • Réécrire vos charges de travail
  • Conteneuriser manuellement vos charges de travail

La migration des charges de travail basées sur des VM avec Migrate to Containers offre les avantages suivants :

  • Environnement de conteneur, y compris :
  • Charges de travail à densité élevée
  • Mécanismes d'orchestration complets et gestion des règles
  • Canaux de communication de service à service flexibles
  • Possibilité d'utiliser des pipelines d'intégration et de déploiement continus
  • Possibilité de transfert à partir de versions de système d'exploitation non compatibles
  • Possibilité de commencer la mise hors service de votre environnement basé sur des VM

La migration des charges de travail basées sur des VM vers des conteneurs avec Migrate to Containers constitue l'une des étapes possibles de votre parcours de modernisation. Migrer des charges de travail basées sur des VM avec Migrate to Containers vous permet d'éviter les réécritures coûteuses nécessaires pour moderniser ces charges de travail. Toutefois, elle ne les transforme pas en charges de travail conçues pour s'exécuter dans un environnement cloud.

Les candidats idéals pour la migration sont les suivants :

  • Charges de travail pour lesquelles la modernisation via une réécriture complète est impossible ou trop coûteuse
  • Charges de travail avec des dépendances inconnues qui risquent de ne plus fonctionner correctement
  • Charges de travail qui sont conservées, mais non développées activement
  • Charges de travail qui ne sont plus gérées
  • Charges de travail sans accès au code source

Vous pouvez interagir avec Migrate to Containers de plusieurs manières. Vous pouvez par exemple y accéder via la console Google Cloud. Si vous devez automatiser le processus de migration et l'intégrer à votre chaîne d'outils existante, vous pouvez utiliser l'interface de ligne de commande et les définitions de ressources personnalisées personnalisées (CRD) Kubernetes de Migrate to Containers.

Pour en savoir plus sur les interfaces de Migrate to Containers, consultez la pageAPI et documentation de référence | Migrate to Containers.

Ce document suppose que vous avez lu et que vous connaissez les documents suivants :

Concevoir la migration vers Google Cloud

Pour migrer les VM de votre environnement source vers des conteneurs s'exécutant dans Google Cloud, nous vous recommandons de suivre le framework décrit dans la série Migration vers Google Cloud.

Le diagramme suivant illustre le parcours de votre migration.

Chemin de migration en quatre phases

Le framework illustré dans le schéma précédent se compose de quatre phases :

  1. Évaluation. Au cours de cette phase, vous évaluez votre environnement source, vous déterminez les charges de travail que vous souhaitez migrer vers Google Cloud et vous identifiez les VM compatibles avec chaque charge de travail.
  2. Planification. Au cours de cette phase, vous créez l'infrastructure de base pour Migrate to Containers, telle que la gestion de la hiérarchie des ressources et la configuration de l'accès au réseau.
  3. Déploiement. Au cours de cette phase, vous migrez les VM de l'environnement source vers GKE ou GKE Enterprise avec Migrate to Containers.
  4. Optimisation. Au cours de cette phase, vous commencez à exploiter les technologies et des fonctionnalités cloud.

Évaluer l'environnement source et les charges de travail

Au cours de la phase d'évaluation, vous rassemblez des informations sur votre environnement source et sur les charges de travail basées sur les VM que vous souhaitez migrer. Vous pouvez ainsi redimensionner les ressources dont vous avez besoin pour la migration et pour votre environnement cible.

Lors de la phase d'évaluation, vous effectuez les opérations suivantes :

  1. Dresser un inventaire complet de vos applications
  2. Cataloguer vos applications en fonction de leurs propriétés et de leurs dépendances
  3. Former et préparer vos équipes sur Google Cloud
  4. Élaborer un test et une démonstration de faisabilité sur Google Cloud
  5. Calculer le coût total de possession (TCO) de l'environnement cible
  6. Choisir les charges de travail que vous souhaitez migrer en premier

Les sections suivantes s'appuient sur les informations de la page Migration vers Google Cloud : évaluer et découvrir vos charges de travail. Cependant, elles fournissent des informations spécifiques à l'évaluation des charges de travail basées sur les VM que vous souhaitez migrer vers des conteneurs avec Migrate to Containers.

Créer vos inventaires

Pour couvrir votre migration, vous devez comprendre votre environnement actuel basé sur des VM. Pour comprendre votre environnement, rassemblez des informations sur vos charges de travail et leurs dépendances.

La section Créer un inventaire de vos applications décrit comment créer un inventaire des charges de travail dans votre environnement basé sur des VM et de leurs dépendances. Suivez ces conseils et créez vos inventaires avant de poursuivre.

Après avoir créé l'inventaire de vos charges de travail et de leurs dépendances, vous pouvez l'affiner. Évaluez les aspects et les fonctionnalités qui sont intéressants pour votre organisation lors de la migration des charges de travail basées sur des VM avec Migrate to Containers.

Pour terminer l'inventaire de vos charges de travail, tenez compte des points suivants :

  • Environnement source Migrate to Containers est compatible avec la migration de VM à partir de différents environnements sources:

    • Compute Engine
    • VMWare vSphere
    • VM Microsoft Azure
    • Amazon EC2

    Pour configurer correctement Migrate to Containers afin qu'il puisse migrer vos charges de travail, vous devez évaluer l'environnement source.

  • Système d'exploitation exécuté dans vos VM : collectez des informations sur les systèmes d'exploitation et leurs licences exécutées sur vos VM, et assurez-vous que les systèmes d'exploitation sont compatibles avec Migrate to Containers. Si vous exécutez un système d'exploitation non compatible avec Migrate to Containers, envisagez de passer à une version compatible ou de remplacer votre système d'exploitation par un OS compatible avec Migrate to Containers.

  • Charges de travail dans vos VM : identifiez les charges de travail déployées dans chaque VM. Mappez ensuite les dépendances entre vos charges de travail et entre vos charges de travail et les services externes. Ensuite, rassemblez les informations sur les sources de configuration de vos charges de travail. Par exemple, utilisez-vous des variables d'environnement, un système de configuration distribué ou des serveurs de métadonnées pour configurer vos charges de travail de manière dynamique ? Par ailleurs, évaluez la manière dont vos charges de travail envoient des informations à votre système de journalisation.

  • Score d'adéquation Migrate to Containers : déterminez si vos charges de travail sont adaptées à la migration avec Migrate to Containers. Migrate to Containers fournit un outil d'évaluation de l'adéquation pour Linux et Windows que vous pouvez exécuter sur vos VM pour calculer un score d'adéquation. Un score d'adéquation faible indique que vous devez résoudre les problèmes avant de migrer vos charges de travail. Par exemple, si vous avez activé Security-Enhanced Linux sur vos VM, des efforts supplémentaires seront peut-être nécessaires pour réduire cette dépendance avant de procéder à la migration.

  • Services réseau : collectez des informations sur la configuration de vos services réseau et sur la manière dont vos charges de travail basées sur des VM utilisent ces services. Par exemple, évaluez la manière dont vos charges de travail utilisent le système de noms de domaine (DNS), le DNS multicast, les fichiers hôtes et d'autres mécanismes de détection de services pour déterminer l'emplacement des autres charges de travail et services. Ensuite, évaluez le fichier d'hôtes de chaque VM pour toute entrée personnalisée dont vos charges de travail ont besoin. Pour en savoir plus sur les fichiers d'hôtes, consultez la page Vérifier et valider les ressources et les descripteurs générés.

  • Dépendances matérielles : évaluez les types de matériel que vous utilisez dans votre environnement basé sur des VM, tels que les périphériques de stockage hautes performances, les GPU et les TPU ou des dispositifs réseau.

  • Charges de travail sans état et avec état : les charges de travail sans état ne stockent pas d'état dans le cluster ni dans un stockage persistant. Les applications avec état enregistrent des données pour une utilisation ultérieure. Comme la migration des charges de travail avec état est généralement plus compliquée que la migration des charges de travail sans état, évaluez les charges de travail sans état et avec état.

  • Stockage : pour les charges de travail avec état, faites une liste de vos exigences de stockage. Voici quelques éléments à prendre en compte lors de la création d'une liste :

    • Type de système de stockage (volumes de blocs, stockage de fichiers ou stockage d'objets)
    • Taille du système de stockage
    • Accès de la charge de travail au système de stockage

      • Par exemple, vos charges de travail utilisent-elles le système de fichiers réseau (NFS) ou le protocole Server Message Block (SMB) pour accéder aux fichiers sur un réseau ?
      • Vos VM exécutent-elles des serveurs NFS ou SMB ?

        Si vos VM exécutent des serveurs NFS en mode noyau, vous devez déployer des efforts supplémentaires pour migrer ces serveurs. Vous pouvez migrer ces serveurs vers un autre environnement d'exécution, tel que Compute Engine ou GKE. Vous pouvez également migrer des données vers Filestore qui est un service de stockage associé en réseau entièrement géré.

    • Configuration du disque :

      • Évaluez la configuration de tous les disques, partitions et volumes de vos VM, ainsi que les fonctionnalités de sécurité et de confidentialité de chacun d'eux.
  • Localité des données : la localité des données affecte les performances des charges de travail avec état. La distance et la connectivité entre vos systèmes externes et votre environnement affectent la latence. Pour chaque système de stockage de données externe, tenez compte des exigences de performances et de disponibilité qu'il doit satisfaire.

Terminer l'évaluation

Après avoir créé les inventaires liés à votre environnement et à vos charges de travail basées sur des VM, effectuez les autres étapes de la phase d'évaluation décrites dans la page Migration vers Google Cloud : évaluer et découvrir vos charges de travail. Lorsque vous avez terminé, lisez ce document.

Planifier et créer votre infrastructure de base

Au cours de la phase de planification et de création, vous provisionnez et configurez l'infrastructure et les services cloud compatibles avec vos charges de travail sur Google Cloud :

  1. Créez une hiérarchie de ressources.
  2. Configurez Identity and Access Management.
  3. Configurez la facturation.
  4. Configurez la connectivité réseau.
  5. Renforcez votre sécurité.
  6. Configurez la surveillance et les alertes.

Pour obtenir des conseils sur la création de l'infrastructure et des services cloud compatibles avec vos charges de travail et leurs dépendances, consultez la page Migration vers Google Cloud : établir les fondations. Suivez ces consignes pour établir les fondations de vos environnements. Lorsque vous avez terminé, lisez ce document.

Après avoir suivi les instructions de la page "Migration vers Google Cloud : établir les fondations", terminez votre travail de base en configurant Migrate to Containers :

  1. Vérifiez que vos charges de travail et votre environnement source répondent aux conditions préalables à Migrate to Containers.
  2. Activez l'API Cloud Migrate to Containers.
  3. Provisionnez les comptes de service utilisés par Migrate to Containers pour accéder aux ressources de l'environnement cible.
  4. Si vous migrez vos charges de travail vers des clusters GKE ou GKE Enterprise sur Google Cloud, configurez Migrate to Virtual Machines.
  5. Configurez un cluster de traitement Migrate to Containers. Un cluster de traitement Migrate to Containers exécute les composants Migrate to Containers pendant la migration.
  6. Installez et configurez Migrate to Containers dans le cluster de traitement.

L'article "Configurer Migrate to Containers" mentionné précédemment décrit comment provisionner et configurer Migrate to Containers et ses dépendances. Suivez ces instructions pour configurer Migrate to Containers.

Lorsque vous avez terminé le travail décrit dans cette section, revenez à ce document.

Migrer vos charges de travail basées sur des VM vers des conteneurs

Lors de la phase de déploiement, utilisez les étapes suivantes pour vous guider dans la migration des VM de votre environnement source vers des conteneurs exécutés dans GKE ou GKE Enterprise :

  1. Générez et examinez les plans de migration.
  2. Générer des artefacts de conteneur et des descripteurs de déploiement
  3. Vérifiez, validez et personnalisez les descripteurs de ressources que Migrate for Containers génère pour vous.
  4. Déployez et validez les charges de travail conteneurisées sur GKE ou GKE Enterprise.
  5. Désinstaller Migrate to Containers.

Pour en savoir plus sur les étapes requises pour migrer des VM avec Migrate to Containers, consultez la section Exécuter une migration.

Générer et examiner le plan de migration

Créez un plan de migration Migrate to Containers pour vos charges de travail basées sur des VM :

  1. Configurez les environnements sources en tant que sources de migration Migrate to Containers. pour migrer vos charges de travail basées sur des VM, Migrate to Containers a besoin d'informations sur les environnements sources dans lesquels vos VM s'exécutent actuellement. Vous avez collecté ces informations en effectuant les tâches décrites dans la section Créer vos inventaires de ce document. Pour en savoir plus sur la configuration de vos environnements sources, consultez les pages Ajouter une source de migration (Linux) et Ajouter une source de migration (Windows).
  2. Créez des plans de migration : pour spécifier les charges de travail basées sur des VM que vous souhaitez migrer d'un environnement source vers un environnement cible compatible, créez un plan de migration. Par exemple, vous pouvez configurer l'emplacement dans lequel vous souhaitez stocker les données persistantes. Pour en savoir plus sur la création et la surveillance des plans de migration, consultez les pagesCréer une migration (Linux) et Créer une migration (Windows).
  3. Examinez et personnalisez les plans de migration : après avoir généré des plans de migration pour chacune des charges de travail basées sur des VM que vous souhaitez migrer, nous vous recommandons d'examiner et de personnaliser chaque plan de migration pour vous assurer qu'ils répondent à vos besoins. Pour en savoir plus sur la personnalisation des plans de migration, consultez les pages Personnaliser un plan de migration (Linux) et Personnaliser un plan de migration (Windows).

Lorsque vous avez terminé le travail décrit dans cette section, revenez à ce document.

Générer des artefacts de conteneur et des descripteurs de déploiement

Pour générer les artefacts de conteneur cibles pour vos charges de travail, Migrate to Containers crée une image de conteneur contenant la charge de travail et les données extraites de la VM dans le plan de migration. Il stocke ensuite une copie de l'image de conteneur dans le dépôt d'images de conteneurs configuré. Migrate to Containers génère les descripteurs de déploiement que vous pouvez personnaliser et utiliser pour déployer des instances des images de conteneurs dans l'environnement cible.

Pour en savoir plus sur la génération d'artefacts de conteneur, consultez les pages Exécuter une migration (Linux) et Exécuter une migration (Windows).

Vous pouvez surveiller la progression des artefacts de conteneur que vous créez et migrez. Pour en savoir plus sur la surveillance d'une migration, consultez les pages Surveiller une migration (Linux) et Surveiller une migration (Windows).

Si vous générez des artefacts de conteneur pour des charges de travail Windows, utilisez les artefacts et les descripteurs de déploiement générés par Migrate to Containers pour créer des images de conteneurs Windows pour ces charges de travail. Pour en savoir plus sur la création d'images de conteneurs Windows pour vos charges de travail, consultez la page Créer une image de conteneur Windows.

Lorsque vous avez terminé le travail décrit dans cette section, revenez à ce document.

Vérifier et valider les ressources et les descripteurs générés

Après avoir généré des artefacts de conteneur et des descripteurs de déploiement avec Migrate to Containers, examinez et mettez à jour ces artefacts et descripteurs de sorte qu'ils répondent à vos besoins. Le temps nécessaire à la mise à jour des artefacts et des descripteurs de déploiement de conteneur dépend du nombre de charges de travail basées sur des VM que vous migrez et de leur complexité. Pour en savoir plus sur l'examen des artefacts de conteneur et des descripteurs de déploiement, consultez les pages Examiner les fichiers de déploiement générés (Linux) et Créer une image de conteneur Windows. Par exemple, tenez compte des aspects suivants.

Nommer des ressources et des descripteurs

Ressources et descripteurs de configuration et de journaux

Ressources et descripteurs de règles et de profils

Autres ressources et descripteurs

Lorsque vous avez terminé le travail décrit dans cette section, revenez à ce document.

Déployer et valider des charges de travail conteneurisées

Lorsque les descripteurs de déploiement de vos charges de travail sont prêts, procédez comme suit :

  1. Déployez vos charges de travail dans l'environnement cible. Pour obtenir des conseils sur le déploiement de vos charges de travail Linux et Windows migrées, consultez les pages Déployer une charge de travail Linux sur un cluster cible et Déployer une charge de travail Windows sur un cluster cible.
  2. Surveillez vos charges de travail migrées. Une fois vos charges de travail Linux et Windows migrées déployées, vous pouvez collecter des informations sur leurs performances. Pour en savoir plus, consultez les pages Surveiller les charges de travail migrées (Linux) et Surveiller les charges de travail migrées (Windows).

  3. Intégrez vos charges de travail migrées. Une fois que les charges de travail déployées dans l'environnement cible fonctionnent, intégrez-les. Intégrez les processus de génération et de déploiement d'artefacts de conteneur des charges de travail à vos processus et pipelines de déploiement. Si vous n'avez pas de processus de déploiement automatisé en place et que vous déployez manuellement vos charges de travail, il est recommandé de passer des déploiements manuels aux déploiements automatisés.

Lorsque vous avez terminé le travail décrit dans cette section, revenez à ce document.

Désinstaller Migrate to Containers

Une fois la migration de vos charges de travail avec Migrate to Containers terminée, il est recommandé d'effectuer les opérations suivantes :

  1. Assurez-vous de disposer de toutes les références aux artefacts générés par Migrate to Containers lors de la migration.
  2. Désinstallez Migrate to Containers.

Lorsque vous avez terminé le travail décrit dans cette section, revenez à ce document.

Optimiser votre environnement après la migration

L'optimisation de votre environnement est la dernière étape de votre migration. Pour optimiser votre environnement GKE et GKE Enterprise, consultez la page Optimiser votre environnement.

Étapes suivantes