11.5. Options du plan de migration


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

11.5.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

11.5.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

11.5.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.

11.5.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.
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