9.4. Options du plan de migration


Vous pouvez exclure, modifier et mapper des composants dans la ressource personnalisée (CR) MigPlan.

9.4.1. Exclusion de ressources

Vous pouvez exclure des ressources (comme des flux d’images, des volumes persistants ou des abonnements) d’un plan de migration Migration Toolkit for Containers (MTC) afin de réduire la charge des ressources à migrer, ou pour migrer des images ou des PV avec un autre outil.

Par défaut, MTC exclut les ressources du catalogue de services et les ressources OLM (Operator Lifecycle Manager) de la migration. Ces ressources font partie du groupe d’API du catalogue de services et du groupe d’API OLM, dont aucune n’est prise en charge pour la migration actuellement.

Procédure

  1. Modifiez le manifeste de ressources personnalisées MigrationController :

    $ oc edit migrationcontroller <migration_controller> -n openshift-migration
  2. Mettez à jour la section spec en ajoutant des paramètres pour exclure des ressources spécifiques. Pour les ressources qui ne disposent pas de leurs propres paramètres d'exclusion, ajoutez le paramètre additional_excluded_resources:

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigrationController
    metadata:
      name: migration-controller
      namespace: openshift-migration
    spec:
      disable_image_migration: true 
    1
    
      disable_pv_migration: true 
    2
    
      additional_excluded_resources: 
    3
    
      - resource1
      - resource2
      ...
    1
    Ajoutez disable_image_migration: true pour exclure les flux d’images de la migration. imagestreams est ajouté à la liste des ressources exclues dans main.yml lorsque le pod MigrationController redémarre.
    2
    Ajoutez disable_pv_migration: true pour exclure les volumes persistants du plan de migration. persistentvolumes et persistentvolumeclaims sont ajoutés à la liste excluded_resources dans main.yml lorsque le pod MigrationController redémarre. La désactivation de la migration des volumes persistants désactive également leur découverte lorsque vous créez le plan de migration.
    3
    Vous pouvez ajouter les ressources OpenShift Container Platform que vous souhaitez exclure à la liste additional_excluded_resources.
  3. Attendez deux minutes pour que le pod MigrationController redémarre afin que les modifications soient appliquées.
  4. Vérifiez que la ressource est exclue :

    $ oc get deployment -n openshift-migration migration-controller -o yaml | grep EXCLUDED_RESOURCES -A1

    La sortie contient les ressources exclues :

    Exemple de sortie

    name: EXCLUDED_RESOURCES
    value:
    resource1,resource2,imagetags,templateinstances,clusterserviceversions,packagemanifests,subscriptions,servicebrokers,servicebindings,serviceclasses,serviceinstances,serviceplans,imagestreams,persistentvolumes,persistentvolumeclaims

9.4.2. Mappage des espaces de nommage

Si vous mappez des espaces de nommage dans la ressource personnalisée (CR) MigPlan, vous devez vous assurer qu’ils ne sont pas dupliqués sur les clusters source ou de destination, car les plages UID et GID des espaces de nommage sont copiées pendant la migration.

Deux espaces de nommage source mappés sur le même espace de nommage de destination

spec:
  namespaces:
    - namespace_2
    - namespace_1:namespace_2

Si vous souhaitez que l’espace de nommage source soit mappé sur un espace de nommage du même nom, il n’est pas nécessaire de créer un mappage. Par défaut, les espaces de nommage source et cible ont le même nom.

Mappage incorrect des espaces de nommage

spec:
  namespaces:
    - namespace_1:namespace_1

Référence correcte à l’espace de nommage

spec:
  namespaces:
    - namespace_1

Pour sélectionner des revendications de volumes persistants (PVC) pour la migration d’état, vous devez exclure celles que vous ne souhaitez pas migrer. Pour exclure des PVC, définissez le paramètre spec.persistentVolumes.pvc.selection.action de la ressource personnalisée (CR) MigPlan après la découverte des volumes persistants (PV).

Conditions préalables

  • La ressource personnalisée MigPlan se trouve dans l’état Ready.

Procédure

  • Ajoutez le paramètre spec.persistentVolumes.pvc.selection.action à la ressource personnalisée MigPlan et définissez-le sur skip :

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigPlan
    metadata:
      name: <migplan>
      namespace: openshift-migration
    spec:
    ...
      persistentVolumes:
      - capacity: 10Gi
        name: <pv_name>
        pvc:
    ...
        selection:
          action: skip

9.4.4. Mappage de revendications de volumes persistants

Vous pouvez migrer les données de volume persistant (PV) du cluster source vers des revendications de volumes persistants (PVC) qui ont déjà été mises en service dans le cluster de destination de la ressource personnalisée MigPlan en mappant les PVC. Ce mappage garantit la synchronisation des PVC de destination des applications migrées avec les PVC sources.

Pour mapper les PVC, mettez à jour le paramètre spec.persistentVolumes.pvc.name dans la ressource personnalisée (CR) MigPlan après la découverte des volumes persistants.

Conditions préalables

  • La ressource personnalisée MigPlan se trouve dans l’état Ready.

Procédure

  • Mettre à jour le paramètre spec.persistentVolumes.pvc.name dans la ressource personnalisée MigPlan :

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigPlan
    metadata:
      name: <migplan>
      namespace: openshift-migration
    spec:
    ...
      persistentVolumes:
      - capacity: 10Gi
        name: <pv_name>
        pvc:
          name: <source_pvc>:<destination_pvc> 
    1
    1
    Spécifiez la PVC sur le cluster source et celle sur le cluster de destination. Si la PVC de destination n’existe pas, elle sera créée. Vous pouvez utiliser ce mappage pour renommer la PVC lors de la migration.

9.4.5. Modification des attributs des volumes persistants

Une fois que vous avez créé une ressource personnalisée (CR) MigPlan, la CR MigrationController découvre les volumes persistants (PV). Le bloc spec.persistentVolumes et le bloc status.destStorageClasses sont ajoutés à la ressource personnalisée MigPlan.

Vous pouvez modifier les valeurs du bloc spec.persistentVolumes.selection. Si vous modifiez les valeurs en dehors du bloc spec.persistentVolumes.selection, elles sont écrasées lorsque la CR MigPlan est rapprochée par la CR MigrationController.

Note

La valeur par défaut du paramètre spec.persistentVolumes.selection.storageClass est déterminée par la logique suivante :

  1. Si le volume persistant du cluster source est Gluster ou NFS, la valeur par défaut est soit cephfs, pour accessMode: ReadWriteMany, soit cephrbd, pour accessMode: ReadWriteOnce.
  2. Si le volume persistant n’est ni Gluster ni NFS ou si cephfs ou cephrbd n’est pas disponible, la valeur par défaut est une classe de stockage pour le même fournisseur.
  3. Si une classe de stockage pour le même fournisseur n’est pas disponible, la valeur par défaut est la classe de stockage par défaut du cluster de destination.

Vous pouvez remplacer la valeur storageClass par la valeur de n’importe quel paramètre name dans le bloc status.destStorageClasses de la ressource personnalisée MigPlan.

Si la valeur storageClass est vide, aucune classe de stockage ne sera associée au volume persistant après la migration. Cette option est appropriée si, par exemple, vous voulez déplacer le volume persistant vers un volume NFS sur le cluster de destination.

Conditions préalables

  • La ressource personnalisée MigPlan se trouve dans l’état Ready.

Procédure

  • Modifiez les valeurs spec.persistentVolumes.selection dans la ressource personnalisée MigPlan :

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigPlan
    metadata:
      name: <migplan>
      namespace: openshift-migration
    spec:
      persistentVolumes:
      - capacity: 10Gi
        name: pvc-095a6559-b27f-11eb-b27f-021bddcaf6e4
        proposedCapacity: 10Gi
        pvc:
          accessModes:
          - ReadWriteMany
          hasReference: true
          name: mysql
          namespace: mysql-persistent
        selection:
          action: <copy> 
    1
    
          copyMethod: <filesystem> 
    2
    
          verify: true 
    3
    
          storageClass: <gp2> 
    4
    
          accessMode: <ReadWriteMany> 
    5
    
        storageClass: cephfs
    1
    Les valeurs autorisées sont move, copy et skip. Si une seule action est prise en charge, cette action est la valeur par défaut. Si plusieurs actions sont prises en charge, la valeur par défaut est copy.
    2
    Les valeurs autorisées sont snapshot et filesystem. La valeur par défaut est filesystem.
    3
    Le paramètre verify est affiché si vous sélectionnez l’option de vérification pour la copie du système de fichiers dans la console Web MTC. Vous pouvez le définir sur false.
    4
    Vous pouvez remplacer la valeur par défaut par la valeur de n’importe quel paramètre name dans le bloc status.destStorageClasses de la ressource personnalisée MigPlan. Si aucune valeur n’est spécifiée, aucune classe de stockage ne sera associée au volume persistant après la migration.
    5
    Les valeurs autorisées sont ReadWriteOnce et ReadWriteMany. Si cette valeur n’est pas spécifiée, la valeur par défaut est le mode d’accès du PVC du cluster source. Vous ne pouvez modifier le mode d’accès que dans la ressource personnalisée MigPlan. Vous ne pouvez pas le modifier en utilisant la console Web MTC.

Vous pouvez convertir la classe de stockage d'un volume persistant (PV) en le migrant au sein du même cluster. Pour ce faire, vous devez créer et exécuter un plan de migration dans la console web Migration Toolkit for Containers (MTC).

Conditions préalables

  • Vous devez être connecté en tant qu'utilisateur disposant des privilèges cluster-admin sur le cluster sur lequel MTC est exécuté.
  • Vous devez ajouter le cluster à la console web MTC.

Procédure

  1. Dans le volet de navigation de gauche de la console web OpenShift Container Platform, cliquez sur Projects.
  2. Dans la liste des projets, cliquez sur votre projet.

    La page Project details s'ouvre.

  3. Cliquez sur le nom DeploymentConfig. Notez le nom du pod en cours d'exécution.
  4. Ouvrez l'onglet YAML du projet. Trouvez les PV et notez les noms de leurs réclamations de volume persistantes (PVC) correspondantes.
  5. Dans la console Web MTC, cliquez sur Migration plans.
  6. Cliquez sur Add migration plan.
  7. Saisissez le nom du plan dans le champ Plan name.

    Le nom du plan de migration doit contenir de 3 à 63 caractères alphanumériques minuscules (a-z, 0-9) et ne doit pas contenir d'espaces ni de traits de soulignement (_).

  8. Dans le menu Migration type, sélectionnez Storage class conversion.
  9. Dans la liste Source cluster, sélectionnez le cluster souhaité pour la conversion de la classe de stockage.
  10. Cliquez sur Next.

    La page Namespaces s'ouvre.

  11. Sélectionnez le projet souhaité.
  12. Cliquez sur Next.

    La page Persistent volumes s'ouvre. La page affiche les PV du projet, tous sélectionnés par défaut.

  13. Pour chaque PV, sélectionnez la classe de stockage cible souhaitée.
  14. Cliquez sur Next.

    L'assistant valide le nouveau plan de migration et indique qu'il est prêt.

  15. Cliquez sur Close.

    Le nouveau plan apparaît sur la page Migration plans.

  16. Pour lancer la conversion, cliquez sur le menu des options du nouveau plan.

    Sous Migrations, deux options sont affichées, Stage et Cutover.

    Note

    La migration de basculement met à jour les références PVC dans les applications.

    La migration d'étape ne met pas à jour les références PVC dans les applications.

  17. Sélectionnez l'option souhaitée.

    Selon l'option choisie, la notification Stage migration ou Cutover migration apparaît.

  18. Cliquez sur Migrate.

    Selon l'option choisie, le message Stage started ou Cutover started apparaît.

  19. Pour connaître l'état de la migration en cours, cliquez sur le numéro dans la colonne Migrations.

    La page Migrations s'ouvre.

  20. Pour obtenir plus de détails sur la migration en cours et suivre sa progression, sélectionnez la migration dans la colonne Type.

    La page Migration details s'ouvre. Lorsque la migration progresse jusqu'à l'étape DirectVolume et que l'état de l'étape devient Running Rsync Pods to migrate Persistent Volume data, vous pouvez cliquer sur View details et voir l'état détaillé des copies.

  21. Dans le fil d'Ariane, cliquez sur Stage ou Cutover et attendez que toutes les étapes soient terminées.
  22. Ouvrez l'onglet PersistentVolumeClaims de la console web OpenShift Container Platform.

    Vous pouvez voir de nouveaux PVC avec les noms des PVC initiaux mais se terminant par new, qui utilisent la classe de stockage cible.

  23. Dans le volet de navigation de gauche, cliquez sur Pods. Constatez que le pod de votre projet fonctionne à nouveau.
Ressources supplémentaires

Après avoir migré toutes les données PV, vous pouvez utiliser l'API Migration Toolkit for Containers (MTC) pour effectuer une migration d'état unique des objets Kubernetes qui constituent une application.

Pour ce faire, vous configurez les champs de ressources personnalisées (CR) MigPlan pour fournir une liste de ressources Kubernetes avec un sélecteur d'étiquettes supplémentaire pour filtrer davantage ces ressources, puis vous effectuez une migration en créant une CR MigMigration. La ressource MigPlan est fermée après la migration.

Note

La sélection des ressources Kubernetes est une fonctionnalité réservée à l'API. Vous devez mettre à jour la CR MigPlan et créer une CR MigMigration pour elle à l'aide de la CLI. La console web MTC ne prend pas en charge la migration des objets Kubernetes.

Note

Après la migration, le paramètre closed de la CR MigPlan est défini sur true. Vous ne pouvez pas créer une autre CR MigMigration pour cette CR MigPlan.

Vous ajoutez des objets Kubernetes à la CR MigPlan en utilisant l’une des options suivantes :

  • Ajout des objets Kubernetes à la section includedResources. Lorsque le champ includedResources est spécifié dans le CR MigPlan, le plan prend une liste de group-kind en entrée. Seules les ressources présentes dans la liste sont incluses dans la migration.
  • Ajout du paramètre facultatif labelSelector pour filtrer les ressources includedResources dans le champ MigPlan. Lorsque ce champ est spécifié, seules les ressources correspondant au sélecteur d'étiquette sont incluses dans la migration. Par exemple, vous pouvez filtrer une liste de ressources Secret et ConfigMap en utilisant l'étiquette app: frontend comme filtre.

Procédure

  1. Mettez à jour le CR MigPlan pour inclure les ressources Kubernetes et, éventuellement, pour filtrer les ressources incluses en ajoutant le paramètre labelSelector:

    1. Pour mettre à jour le CR MigPlan afin d'inclure les ressources Kubernetes :

      apiVersion: migration.openshift.io/v1alpha1
      kind: MigPlan
      metadata:
        name: <migplan>
        namespace: openshift-migration
      spec:
        includedResources:
        - kind: <kind> 
      1
      
          group: ""
        - kind: <kind>
          group: ""
      1
      Indiquez l’objet Kubernetes ; Secret ou ConfigMap, par exemple.
    2. Facultatif : Pour filtrer les ressources incluses en ajoutant le paramètre labelSelector:

      apiVersion: migration.openshift.io/v1alpha1
      kind: MigPlan
      metadata:
        name: <migplan>
        namespace: openshift-migration
      spec:
        includedResources:
        - kind: <kind> 
      1
      
          group: ""
        - kind: <kind>
          group: ""
      ...
        labelSelector:
          matchLabels:
            <label> 
      2
      1
      Indiquez l’objet Kubernetes ; Secret ou ConfigMap, par exemple.
      2
      Indiquez l’étiquette des ressources à migrer ; app: frontend, par exemple.
  2. Créer un CR MigMigration pour migrer les ressources Kubernetes sélectionnées. Vérifiez que le bon site MigPlan est référencé dans migPlanRef:

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigMigration
    metadata:
      generateName: <migplan>
      namespace: openshift-migration
    spec:
      migPlanRef:
        name: <migplan>
        namespace: openshift-migration
      stage: false
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2026 Red Hat
Retour au début