10.2. Manifestes de ressources personnalisées MTC


Migration Toolkit for Containers (MTC) utilise les manifestes de ressources personnalisées (CR) suivants pour faire migrer les applications.

10.2.1. DirectImageMigration

La CR DirectImageMigration copie directement les images du cluster source vers le cluster de destination.

apiVersion: migration.openshift.io/v1alpha1
kind: DirectImageMigration
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: <direct_image_migration>
spec:
  srcMigClusterRef:
    name: <source_cluster>
    namespace: openshift-migration
  destMigClusterRef:
    name: <destination_cluster>
    namespace: openshift-migration
  namespaces: 
1

    - <source_namespace_1>
    - <source_namespace_2>:<destination_namespace_3> 
2
Copy to Clipboard
1
Un ou plusieurs espaces de nommage contenant les images à migrer. Par défaut, l’espace de nommage de destination porte le même nom que l’espace de nommage source.
2
Espace de nommage source mappé vers un espace de nommage de destination ayant un nom différent.

10.2.2. DirectImageStreamMigration

La CR DirectImageStreamMigration copie directement les références de flux d’images du cluster source vers le cluster de destination.

apiVersion: migration.openshift.io/v1alpha1
kind: DirectImageStreamMigration
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: <direct_image_stream_migration>
spec:
  srcMigClusterRef:
    name: <source_cluster>
    namespace: openshift-migration
  destMigClusterRef:
    name: <destination_cluster>
    namespace: openshift-migration
  imageStreamRef:
    name: <image_stream>
    namespace: <source_image_stream_namespace>
  destNamespace: <destination_image_stream_namespace>
Copy to Clipboard

10.2.3. DirectVolumeMigration

La CR DirectVolumeMigration copie directement les volumes persistants (PV) du cluster source vers le cluster de destination.

apiVersion: migration.openshift.io/v1alpha1
kind: DirectVolumeMigration
metadata:
  name: <direct_volume_migration>
  namespace: openshift-migration
spec:
  createDestinationNamespaces: false 
1

  deleteProgressReportingCRs: false 
2

  destMigClusterRef:
    name: <host_cluster> 
3

    namespace: openshift-migration
  persistentVolumeClaims:
  - name: <pvc> 
4

    namespace: <pvc_namespace>
  srcMigClusterRef:
    name: <source_cluster>
    namespace: openshift-migration
Copy to Clipboard
1
Défini sur true pour créer des espaces de nommage pour les PV sur le cluster de destination.
2
Défini sur true pour supprimer les CR DirectVolumeMigrationProgress après la migration. La valeur par défaut est false afin que les CR DirectVolumeMigrationProgress soient conservés pour la résolution des problèmes.
3
Mettez à jour le nom du cluster si le cluster de destination n’est pas le cluster hôte.
4
Indiquez une ou plusieurs PVC à migrer.

10.2.4. DirectVolumeMigrationProgress

La CR DirectVolumeMigrationProgress affiche la progression de la CR DirectVolumeMigration.

apiVersion: migration.openshift.io/v1alpha1
kind: DirectVolumeMigrationProgress
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: <direct_volume_migration_progress>
spec:
  clusterRef:
    name: <source_cluster>
    namespace: openshift-migration
  podRef:
    name: <rsync_pod>
    namespace: openshift-migration
Copy to Clipboard

10.2.5. MigAnalytic

La CR MigAnalytic collecte le nombre d’images, les ressources Kubernetes et la capacité du volume persistant (PV) à partir d’une CR MigPlan associée.

Vous pouvez configurer les données qu’elle collecte.

apiVersion: migration.openshift.io/v1alpha1
kind: MigAnalytic
metadata:
  annotations:
    migplan: <migplan>
  name: <miganalytic>
  namespace: openshift-migration
  labels:
    migplan: <migplan>
spec:
  analyzeImageCount: true 
1

  analyzeK8SResources: true 
2

  analyzePVCapacity: true 
3

  listImages: false 
4

  listImagesLimit: 50 
5

  migPlanRef:
    name: <migplan>
    namespace: openshift-migration
Copy to Clipboard
1
Facultatif : renvoie le nombre d’images.
2
Facultatif : renvoie le numéro, le type et la version de l’API des ressources Kubernetes.
3
Facultatif : renvoie la capacité du volume persistant (PV).
4
Renvoie une liste de noms d’images. La valeur par défaut est false afin que la sortie ne soit pas excessivement longue.
5
Facultatif : indiquez le nombre maximum de noms d’images à renvoyer si listImages est défini sur true.

10.2.6. MigCluster

La CR MigCluster définit un cluster hôte, local ou distant.

apiVersion: migration.openshift.io/v1alpha1
kind: MigCluster
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: <host_cluster> 
1

  namespace: openshift-migration
spec:
  isHostCluster: true 
2

# The 'azureResourceGroup' parameter is relevant only for Microsoft Azure.
  azureResourceGroup: <azure_resource_group> 
3

  caBundle: <ca_bundle_base64> 
4

  insecure: false 
5

  refresh: false 
6

# The 'restartRestic' parameter is relevant for a source cluster.
  restartRestic: true 
7

# The following parameters are relevant for a remote cluster.
  exposedRegistryPath: <registry_route> 
8

  url: <destination_cluster_url> 
9

  serviceAccountSecretRef:
    name: <source_secret> 
10

    namespace: openshift-config
Copy to Clipboard
1
Mettez à jour le nom du cluster si le pod migration-controller n’est pas en cours d’exécution sur ce cluster.
2
Le pod migration-controller s’exécute sur ce cluster si la valeur est définie sur true.
3
Microsoft Azure uniquement : indiquez le groupe de ressources.
4
Facultatif : si vous avez créé un fichier de groupement de certificats pour les certificats CA auto-signés et si la valeur du paramètre insecure est false, spécifiez le fichier de groupement de certificats codé en Base64.
5
Définissez la valeur sur true pour désactiver la vérification SSL.
6
Définissez la valeur sur true pour valider le cluster.
7
Définissez la valeur sur true pour redémarrer les pods Restic sur le cluster source après la création des pods Stage.
8
Uniquement pour le cluster distant et la migration directe d’images : indiquez le chemin du registre sécurisé exposé.
9
Cluster distant uniquement : indiquez l’URL.
10
Cluster distant uniquement : indiquez le nom de l’objet Secret.

10.2.7. MigHook

La ressource personnalisée (CR) MigHook définit un script de migration automatique qui exécute un code personnalisé à une étape spécifique de la migration. Vous pouvez créer jusqu’à quatre scripts de ce type. Chaque script automatique s’exécute au cours d’une phase différente de la migration.

Vous pouvez configurer le nom du script automatique, la durée d’exécution, une image personnalisée et le cluster où le script en question sera exécuté.

Les phases de migration et les espaces de nommage des scripts automatiques sont configurés dans la CR MigPlan.

apiVersion: migration.openshift.io/v1alpha1
kind: MigHook
metadata:
  generateName: <hook_name_prefix> 
1

  name: <mighook> 
2

  namespace: openshift-migration
spec:
  activeDeadlineSeconds: 1800 
3

  custom: false 
4

  image: <hook_image> 
5

  playbook: <ansible_playbook_base64> 
6

  targetCluster: source 
7
Copy to Clipboard
1
Facultatif : un hachage unique est ajouté à la valeur de ce paramètre afin que chaque script de migration automatique ait un nom unique. Il n’est pas nécessaire de spécifier la valeur du paramètre name.
2
Indiquez le nom du script de migration automatique, à moins que vous ne spécifiiez la valeur du paramètre generateName.
3
Facultatif : indiquez le nombre maximum de secondes pendant lesquelles un script automatique peut être exécuté. La valeur par défaut est 1800.
4
Le script automatique est une image personnalisée si la valeur est définie sur true. L’image personnalisée peut inclure Ansible ou être écrite dans un autre langage de programmation.
5
Spécifiez l’image personnalisée ; quay.io/konveyor/hook-runner:latest, par exemple. Requis si le paramètre custom est défini sur true.
6
Playbook Ansible codé en base64. Requis si le paramètre custom est défini sur false.
7
Indiquez le cluster sur lequel le script automatique sera exécuté. La valeur valide est source ou destination.

10.2.8. MigMigration

La CR MigMigration exécute une CR MigPlan.

Vous pouvez configurer une CR MigMigration pour exécuter une migration par étapes ou incrémentielle, pour annuler une migration en cours ou pour annuler une migration terminée.

apiVersion: migration.openshift.io/v1alpha1
kind: MigMigration
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: <migmigration>
  namespace: openshift-migration
spec:
  canceled: false 
1

  rollback: false 
2

  stage: false 
3

  quiescePods: true 
4

  keepAnnotations: true 
5

  verify: false 
6

  migPlanRef:
    name: <migplan>
    namespace: openshift-migration
Copy to Clipboard
1
Défini sur true pour annuler une migration en cours.
2
Défini sur true pour annuler une migration terminée.
3
Défini sur true pour exécuter une migration par étapes. Les données sont copiées de manière incrémentielle et les pods du cluster source ne sont pas arrêtés.
4
Défini sur true pour arrêter l’application pendant la migration. Les pods du cluster source sont mis à l’échelle sur 0 après l’étape Backup.
5
Défini sur true pour conserver les étiquettes et les annotations appliquées pendant la migration.
6
Défini sur true pour s’assurer que l’état des pods migrés sur le cluster de destination est vérifié et pour renvoyer les noms des pods qui ne se trouvent pas dans l’état Running.

10.2.9. MigPlan

La CR MigPlan définit les paramètres d’un plan de migration.

Vous pouvez configurer des espaces de nommage de destination, des phases de script automatique et une migration directe ou indirecte.

Note

Par défaut, l’espace de nommage de destination porte le même nom que l’espace de nommage source. Si vous configurez un espace de nommage de destination différent, vous devez vous assurer que les espaces de nommage ne sont pas dupliqués sur les clusters source ou de destination, car les plages UID et GID sont copiées pendant la migration.

apiVersion: migration.openshift.io/v1alpha1
kind: MigPlan
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: <migplan>
  namespace: openshift-migration
spec:
  closed: false 
1

  srcMigClusterRef:
    name: <source_cluster>
    namespace: openshift-migration
  destMigClusterRef:
    name: <destination_cluster>
    namespace: openshift-migration
  hooks: 
2

    - executionNamespace: <namespace> 
3

      phase: <migration_phase> 
4

      reference:
        name: <hook> 
5

        namespace: <hook_namespace> 
6

      serviceAccount: <service_account> 
7

  indirectImageMigration: true 
8

  indirectVolumeMigration: false 
9

  migStorageRef:
    name: <migstorage>
    namespace: openshift-migration
  namespaces:
    - <source_namespace_1> 
10

    - <source_namespace_2>
    - <source_namespace_3>:<destination_namespace_4> 
11

  refresh: false  
12
Copy to Clipboard
1
La migration est terminée si le paramètre est défini sur true. Vous ne pouvez pas créer une autre CR MigMigration pour cette CR MigPlan.
2
Facultatif : vous pouvez spécifier jusqu’à quatre scripts de migration automatiques. Chaque script automatique doit être exécuté pendant une phase différente de la migration.
3
Facultatif : indiquez l’espace de nommage dans lequel le script automatique sera exécuté.
4
Facultatif : indiquez la phase de migration au cours de laquelle un script automatique s’exécute. Un script automatique peut être affecté à une seule phase. Les valeurs valides sont PreBackup, PostBackup, PreRestore et PostRestore.
5
Facultatif : indiquez le nom de la CR MigHook.
6
Facultatif : indiquez l’espace de nommage de la CR MigHook.
7
Facultatif : indiquez un compte de service avec les privilèges cluster-admin.
8
La migration directe des images est désactivée si le paramètre est défini sur true. Les images sont copiées du cluster source vers le référentiel de réplication et du référentiel de réplication vers le cluster de destination.
9
La migration directe des volumes est désactivée si le paramètre est défini sur true. Les volumes persistants (PV) sont copiés du cluster source vers le référentiel de réplication et du référentiel de réplication vers le cluster de destination.
10
Indiquez un ou plusieurs espaces de nommage sources. Si vous ne spécifiez que l’espace de nommage source, l’espace de nommage de destination est le même.
11
Indiquez l’espace de nommage de destination s’il est différent de l’espace source.
12
La CR MigPlan est validée si le paramètre est défini sur true.

10.2.10. MigStorage

La CR MigStorage décrit le stockage d’objets pour le référentiel de réplication.

Amazon Web Services (AWS), Microsoft Azure, Google Cloud Storage, Multi-Cloud Object Gateway et le stockage cloud générique compatible S3 sont pris en charge.

AWS et la méthode de copie de cliché ont des paramètres supplémentaires.

apiVersion: migration.openshift.io/v1alpha1
kind: MigStorage
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: <migstorage>
  namespace: openshift-migration
spec:
  backupStorageProvider: <backup_storage_provider> 
1

  volumeSnapshotProvider: <snapshot_storage_provider> 
2

  backupStorageConfig:
    awsBucketName: <bucket> 
3

    awsRegion: <region> 
4

    credsSecretRef:
      namespace: openshift-config
      name: <storage_secret> 
5

    awsKmsKeyId: <key_id> 
6

    awsPublicUrl: <public_url> 
7

    awsSignatureVersion: <signature_version> 
8

  volumeSnapshotConfig:
    awsRegion: <region> 
9

    credsSecretRef:
      namespace: openshift-config
      name: <storage_secret> 
10

  refresh: false 
11
Copy to Clipboard
1
Indiquez le fournisseur de stockage.
2
Méthode de copie de cliché uniquement : indiquez le fournisseur de stockage.
3
AWS uniquement : indiquez le nom du compartiment.
4
AWS uniquement : indiquez la région du compartiment ; us-east-1, par exemple.
5
Indiquez le nom de l’objet Secret que vous avez créé pour le stockage.
6
AWS uniquement : si vous utilisez AWS Key Management Service (AWS KMS), indiquez l’identifiant unique de la clé.
7
AWS uniquement : si vous avez accordé un accès public au compartiment AWS, indiquez son URL.
8
AWS uniquement : indiquez la version de la signature AWS pour l’authentification des demandes adressées au compartiment ; 4, par exemple.
9
Méthode de copie de cliché uniquement : indiquez la région géographique des clusters.
10
Méthode de copie de cliché uniquement : indiquez le nom de l’objet Secret que vous avez créé pour le stockage.
11
Définissez la valeur sur true pour valider le cluster.
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