11.2. Migration d'une application d'un site sur site vers un cluster en nuage


Vous pouvez migrer d'un cluster source qui se trouve derrière un pare-feu vers un cluster de destination basé sur le cloud en établissant un tunnel réseau entre les deux clusters. La commande crane tunnel-api établit un tel tunnel en créant un tunnel VPN sur le cluster source, puis en se connectant à un serveur VPN fonctionnant sur le cluster de destination. Le serveur VPN est exposé au client en utilisant une adresse d'équilibreur de charge sur le cluster de destination.

Un service créé sur le cluster de destination expose l'API du cluster source à MTC, qui s'exécute sur le cluster de destination.

Conditions préalables

  • Le système qui crée le tunnel VPN doit avoir accès et être connecté aux deux clusters.
  • Il doit être possible de créer un équilibreur de charge sur le cluster de destination. Consultez votre fournisseur de services en nuage pour vous assurer que cela est possible.
  • Préparez les noms à attribuer aux espaces de noms, à la fois sur le cluster source et le cluster de destination, dans lesquels le tunnel VPN sera exécuté. Ces espaces de noms ne doivent pas être créés à l'avance. Pour plus d'informations sur les règles relatives aux espaces de noms, voir https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names.
  • Lorsque vous connectez plusieurs clusters sources protégés par un pare-feu au cluster en nuage, chaque cluster source nécessite son propre espace de noms.
  • Le serveur OpenVPN est installé sur le cluster de destination.
  • Le client OpenVPN est installé sur le cluster source.
  • Lors de la configuration du cluster source dans MTC, l'URL de l'API prend la forme de https://proxied-cluster.<namespace>.svc.cluster.local:8443.

    • Si vous utilisez l'API, voir Créer un manifeste MigCluster CR pour chaque cluster distant.
    • Si vous utilisez la console Web MTC, consultez la section Migration de vos applications à l'aide de la console Web MTC.
  • La console Web MTC et le contrôleur de migration doivent être installés sur le cluster cible.

Procédure

  1. Installez l'utilitaire de grue:

    Copy to Clipboard Toggle word wrap
    $ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-controller-rhel8:v1.7):/crane ./
  2. Connectez-vous à distance à un nœud du cluster source et à un nœud du cluster de destination.
  3. Obtenez le contexte de cluster pour les deux clusters après vous être connecté :

    Copy to Clipboard Toggle word wrap
    $ oc config view
  4. Établissez un tunnel en entrant la commande suivante sur le système de commande :

    Copy to Clipboard Toggle word wrap
    $ crane tunnel-api [--namespace <namespace>] \
          --destination-context <destination-cluster> \
          --source-context <source-cluster>

    Si vous ne spécifiez pas d'espace de noms, la commande utilise la valeur par défaut openvpn.

    Par exemple :

    Copy to Clipboard Toggle word wrap
    $ crane tunnel-api --namespace my_tunnel \
          --destination-context openshift-migration/c131-e-us-east-containers-cloud-ibm-com/admin \
          --source-context default/192-168-122-171-nip-io:8443/admin
    Astuce

    Voir tous les paramètres disponibles pour la commande crane tunnel-api en entrant crane tunnel-api --help.

    La commande génère des certificats TSL/SSL. Ce processus peut prendre plusieurs minutes. Un message apparaît lorsque le processus est terminé.

    Le serveur OpenVPN démarre sur le cluster de destination et le client OpenVPN démarre sur le cluster source.

    Après quelques minutes, l'équilibreur de charge se résout sur le nœud source.

    Astuce

    Vous pouvez afficher le journal des pods OpenVPN pour vérifier l'état de ce processus en entrant les commandes suivantes avec les privilèges root :

    Copy to Clipboard Toggle word wrap
    # oc get po -n <namespace>

    Exemple de sortie

    Copy to Clipboard Toggle word wrap
    NAME            READY     STATUS      RESTARTS    AGE
    <pod_name>    2/2       Running     0           44s

    Copy to Clipboard Toggle word wrap
    # oc logs -f -n <namespace> <pod_name> -c openvpn

    Lorsque l'adresse de l'équilibreur de charge est résolue, le message Initialization Sequence Completed apparaît à la fin du journal.

  5. Sur le serveur OpenVPN, qui se trouve sur un nœud de contrôle de destination, vérifiez que le service openvpn et le service proxied-cluster fonctionnent :

    Copy to Clipboard Toggle word wrap
    $ oc get service -n <namespace>
  6. Sur le nœud source, obtenez le jeton de compte de service (SA) pour le contrôleur de migration :

    Copy to Clipboard Toggle word wrap
    # oc sa get-token -n openshift-migration migration-controller
  7. Ouvrez la console Web MTC et ajoutez le cluster source, en utilisant les valeurs suivantes :

    • Nom du cluster: le nom du cluster source.
    • URL: proxied-cluster.<namespace>.svc.cluster.local:8443. Si vous n'avez pas défini de valeur pour <namespace>, utilisez openvpn.
    • Jeton de compte de service: Le jeton du compte de service du contrôleur de migration.
    • Hôte de route exposé au registre d'images: proxied-cluster.<namespace>.svc.cluster.local:5000. Si vous n'avez pas défini de valeur pour <namespace>, utilisez openvpn.

Une fois que MTC a validé avec succès la connexion, vous pouvez procéder à la création et à l'exécution d'un plan de migration. L'espace de noms du cluster source devrait apparaître dans la liste des espaces de noms.

Ressources supplémentaires

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, Inc.