9.5. Options du contrôleur de migration


Vous pouvez modifier les limites du plan de migration, activer le redimensionnement de volumes persistants ou activer les clients Kubernetes en cache dans la ressource personnalisée (CR) MigrationController pour les migrations à grande échelle et pour améliorer les performances.

9.5.1. Augmentation des limites pour les migrations à grande échelle

Vous pouvez augmenter les limites des objets de migration et des ressources du conteneur pour les migrations à grande échelle avec Migration Toolkit for Containers (MTC).

Important

Vous devez tester ces modifications avant d’effectuer une migration dans un environnement de production.

Procédure

  1. Modifiez le manifeste de la ressource personnalisée (CR) MigrationController :

    $ oc edit migrationcontroller -n openshift-migration
    Copy to Clipboard
  2. Mettez à jour les paramètres suivants :

    ...
    mig_controller_limits_cpu: "1" 
    1
    
    mig_controller_limits_memory: "10Gi" 
    2
    
    ...
    mig_controller_requests_cpu: "100m" 
    3
    
    mig_controller_requests_memory: "350Mi" 
    4
    
    ...
    mig_pv_limit: 100 
    5
    
    mig_pod_limit: 100 
    6
    
    mig_namespace_limit: 10 
    7
    
    ...
    Copy to Clipboard
    1
    Spécifie le nombre de processeurs disponibles pour la CR MigrationController.
    2
    Spécifie la quantité de mémoire disponible pour la CR MigrationController.
    3
    Spécifie le nombre d’unités centrales disponibles pour les demandes de CR MigrationController. 100m représente 0,1 unité centrale (100 * 1e-3).
    4
    Spécifie la quantité de mémoire disponible pour les demandes de CR MigrationController.
    5
    Spécifie le nombre de volumes persistants qui peuvent être migrés.
    6
    Spécifie le nombre de pods qui peuvent être migrés.
    7
    Spécifie le nombre n’espaces de nommage qui peuvent être migrés.
  3. Créez un plan de migration qui utilise les paramètres mis à jour pour vérifier les modifications.

    Si votre plan de migration dépasse les limites de CR MigrationController, la console MTC affiche un message d’avertissement lorsque vous enregistrez le plan.

9.5.2. Activation du redimensionnement des volumes persistants pour la migration directe des volumes

Vous pouvez activer le redimensionnement des volumes persistants (PV) pour la migration directe des volumes pour éviter de manquer d’espace disque sur le cluster de destination.

Lorsque l’utilisation du disque d’un PV atteint un niveau configuré, la ressource personnalisée (CR) MigrationController compare la capacité de stockage demandée d’une revendication de volume persistant (PVC) à sa capacité allouée réelle. Ensuite, il calcule l’espace requis sur le cluster de destination.

Un paramètre pv_resizing_threshold détermine à quel moment le redimensionnement des PV est utilisé. Le seuil par défaut est de 3%. Cela signifie que le redimensionnement des PV se produit lorsque l’utilisation du disque d’un PV est supérieure à 97%. Vous pouvez augmenter ce seuil afin que le redimensionnement des PV se produise à un niveau d’utilisation du disque plus faible.

La capacité de la PVC est calculée selon les critères suivants :

  • Si la capacité de stockage demandée (spec.resources.requests.storage) de la PVC n’est pas égale à sa capacité mise en service réelle (status.capacity.storage), c’est la valeur la plus élevée qui est utilisée.
  • Si un volume persistant est mis en service via une PVC et qu’il est modifié par la suite, de sorte que ses capacités de PV et de PVC ne correspondent plus, c’est la valeur la plus élevée qui est utilisée.

Conditions préalables

  • Les PVC doivent être attachées à un ou plusieurs pods en cours d’exécution pour que la ressource personnalisée MigrationController puisse exécuter des commandes.

Procédure

  1. Connectez-vous au cluster hôte.
  2. Activez le redimensionnement des PV en appliquant un correctif à la ressource personnalisée MigrationController :

    $ oc patch migrationcontroller migration-controller -p '{"spec":{"enable_dvm_pv_resizing":true}}' \ 
    1
    
      --type='merge' -n openshift-migration
    Copy to Clipboard
    1
    Définissez la valeur sur false pour désactiver le redimensionnement des PV.
  3. Facultatif : mettez à jour le paramètre pv_resizing_threshold pour augmenter le seuil :

    $ oc patch migrationcontroller migration-controller -p '{"spec":{"pv_resizing_threshold":41}}' \ 
    1
    
      --type='merge' -n openshift-migration
    Copy to Clipboard
    1
    La valeur par défaut est 3.

    Lorsque le seuil est dépassé, le message d’état suivant est affiché dans l’état de la ressource personnalisée MigPlan :

    status:
      conditions:
    ...
      - category: Warn
        durable: true
        lastTransitionTime: "2021-06-17T08:57:01Z"
        message: 'Capacity of the following volumes will be automatically adjusted to avoid disk capacity issues in the target cluster:  [pvc-b800eb7b-cf3b-11eb-a3f7-0eae3e0555f3]'
        reason: Done
        status: "False"
        type: PvCapacityAdjustmentRequired
    Copy to Clipboard
    Note

    Pour le stockage AWS gp2, ce message n’apparaît que si la valeur pv_resizing_threshold est supérieure ou égale à 42 % en raison de la manière dont gp2 calcule l’utilisation et la taille des volumes. (BZ#1973148)

9.5.3. Activation des clients Kubernetes en cache

Vous pouvez activer les clients Kubernetes mis en cache dans la ressource personnalisée (CR) MigrationController pour améliorer les performances pendant la migration. L’avantage le plus important en termes de performances se manifeste lors de la migration entre des clusters situés dans des régions différentes ou avec une latence importante du réseau.

Note

Cependant, dans le cas des tâches déléguées (comme la sauvegarde Rsync pour la migration directe des volumes ou la sauvegarde et la restauration Velero), il n’y a pas d’amélioration des performances avec les clients en cache.

Les clients en cache ont besoin de plus de mémoire, car la CR MigrationController met en cache toutes les ressources API nécessaires pour interagir avec les CR MigCluster. Les demandes qui sont normalement envoyées au serveur d’API sont redirigées vers le cache à la place. Le cache surveille le serveur d’API pour les mises à jour.

Vous pouvez augmenter les limites de mémoire et les demandes de la CR MigrationController si des erreurs OOMKilled se produisent après avoir activé les clients en cache.

Procédure

  1. Activez les clients en cache en exécutant la commande suivante :

    $ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \
      '[{ "op": "replace", "path": "/spec/mig_controller_enable_cache", "value": true}]'
    Copy to Clipboard
  2. Facultatif : augmentez les limites de mémoire de la CR MigrationController en exécutant la commande suivante :

    $ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \
      '[{ "op": "replace", "path": "/spec/mig_controller_limits_memory", "value": <10Gi>}]'
    Copy to Clipboard
  3. Facultatif : augmentez le nombre de requêtes de mémoire MigrationController CR en exécutant la commande suivante :

    $ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \
      '[{ "op": "replace", "path": "/spec/mig_controller_requests_memory", "value": <350Mi>}]'
    Copy to Clipboard
Retour au début
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

© 2025 Red Hat