Migrer et déployer des applications sur des clusters GKE Autopilot

Pour déployer vos charges de travail de conteneurs migrés vers des clusters GKE Autopilot, vous devez suivre la même procédure que pour l'architecture existante. Les seules modifications sont les suivantes :

  • Vous devez définir v2kServiceManager sur true dans le plan de migration avant de générer les artefacts de conteneur.

  • Vous devez examiner le nouveau fichier services-config.yaml et apporter des modifications aux services d'initialisation. Consultez la page Utiliser services-config.yaml.

Pour effectuer une migration, procédez comme suit :

  1. Installez Migrate to Containers 1.15.0.

  2. Ajoutez une source de migration, puis créez une migration comme vous le faites aujourd'hui avec l'environnement d'exécution existant.

  3. Personnalisez votre plan de migration si nécessaire.

    1. Téléchargez le plan de migration. Le plan de migration est représenté par un objet AppXGenerateArtifactsFlow.

      Par exemple, pour une migration nommée "my-migration" :

      migctl migration get my-migration
    2. Ouvrez le plan de migration téléchargé, my-migration.yaml, dans un éditeur de texte.

    3. Vérifier le gestionnaire de services Linux amélioré L'option v2kServiceManager est définie sur true par défaut. Cependant, si Migrate to Containers détecte un service système non compatible avec le gestionnaire de services, vous êtes averti et l'option v2kServiceManager est définie sur false. Lorsque l'option est false, la migration utilise un ancien environnement d'exécution compatible avec votre service.

      L'alerte suivante est fournie avec le service non compatible :

      Service is not supported by v2k service manager, therefore legacy runtime
      will be used instead of v2k service manager, and migrated workload would
      not fit running on Autopilot clusters of Cloudrun.

      Lorsqu'un service non compatible est détecté, vous pouvez également définir manuellement l'option sur true. Dans cette instance, vous pouvez choisir de conserver le service non compatible sur l'image générée où il ne s'exécutera pas, ou d'exclure le service en le supprimant du plan de migration.

      Pour activer le nouveau gestionnaire de services, définissez l'option sur true :

      v2kServiceManager: true
      
    4. Effectuez toutes les autres personnalisations nécessaires à votre migration, comme décrit dans la section Personnaliser le plan de migration.

    5. Une fois les modifications terminées, enregistrez le fichier modifié.

    6. Importez le plan de migration modifié :

      migctl migration update my-migration --main-config my-migration.yaml
  4. Générez et examinez les artefacts de migration comme vous le faites actuellement avec l'environnement d'exécution existant.

  5. Modifiez le nouveau fichier services-config.yaml pour configurer les propriétés d'initialisation du conteneur. Enregistrez le fichier et recréez votre image de conteneur pour appliquer les modifications.

    Pour en savoir plus, consultez la page Utiliser services-config.yaml.

  6. Déployez le conteneur sur un cluster GKE Autopilot à l'aide de kubectl :

    kubectl apply -f deployment_spec.yaml

Exemple : Déploiement du conteneur de démarrage rapide sur un cluster Autopilot

Migrez un conteneur contenant un serveur Web simple à l'aide du guide de démarrage rapide actuel, puis déployez-le sur un cluster Autopilot. Les seules modifications que vous devez apporter au processus de démarrage rapide sont les suivantes :

  1. À l'étape 3 de la migration de la VM, où vous examinez le plan de migration, définissez l'annotation v2kServiceManager sur true dans le plan de migration, puis enregistrez le plan :

    v2kServiceManager: true
    
  2. Dans la section Déployer la charge de travail migrée, créez un cluster GKE Autopilot, puis connectez-vous au cluster avant de déployer le conteneur :

    1. Créez un cluster GKE Autopilot :

      gcloud container clusters create-auto "CLUSTER_NAME"
      --project "PROJECT_NAME"  --region "REGION" --release-channel "regular"
      --subnetwork "projects/PROJECT_NAME/regions/us-central1/subnetworks/default"
    2. Connectez-vous au cluster :

      gcloud container clusters get-credentials CLUSTER_NAME 
        --zone REGION --project PROJECT_NAME
      
    3. Déployez le conteneur comme décrit dans la section Déployer la charge de travail migrée.

Modifications apportées à l'objet CRD AppXGenerateArtifactsFlow

Si vous utilisez des fichiers CRD pour contrôler votre migration, modifiez le fichier CRD AppXGenerateArtifactsFlow pour définir v2kServiceManager sur true. Pour en savoir plus sur l'utilisation de fichiers CRD pour contrôler la migration, consultez la section Personnaliser un plan de migration.

Étapes suivantes