Convert2RHEL est un utilitaire Red Hat qui convertit les systèmes d'exploitation similaires ou dérivés de Red Hat Enterprise Linux (RHEL), tels que CentOS Linux et Oracle Linux. Pour obtenir la liste complète des systèmes d'exploitation pris en charge, veuillez consulter ce document. Pour plus d'informations, lisez les articles de blog de Terry Bowling ici et ici sur Oracle Linux.
Red Hat Satellite 6.10 offrait pour la première fois la possibilité d'effectuer des opérations Convert2RHEL en lot. J'en ai déjà parlé dans un article de blog ici. Satellite 6.11 s'appuie sur ces capacités de deux manières :
-
Un rôle Ansible automatise la configuration/préparation du serveur Satellite pour Convert2RHEL.
-
Un playbook Ansible automatise la conversion des hôtes.
L'organigramme ci-dessous présente une vue d'ensemble des tâches requises pour effectuer une opération Convert2RHEL en lot dans Satellite 6.11.
Lorsque vous êtes prêt, enregistrez les hôtes Centos/Oracle Linux dans Satellite et planifiez une tâche pour convertir vos hôtes en RHEL.
Notez que le rôle Ansible peut être appliqué manuellement au serveur Satellite, avec un serveur Ansible distinct.
Nous allons détailler ici toutes les étapes nécessaires à la mise en œuvre de ce nouveau processus automatisé.
Préparation du serveur Satellite
Tout d'abord, suivez ces instructions pour importer les rôles Ansible inclus.
Tout d'abord, accédez à « Configure » (Configurer) > « Roles » (Rôles).
Cliquez sur « Import... » (Importer...).
Cliquez sur « Select All » (Tout sélectionner), puis sur « Submit » (Envoyer).
Ensuite, vous devez créer des variables pour le rôle Ansible avant de l'exécuter sur le serveur Satellite. Ces variables indiquent au rôle Ansible comment vous souhaitez configurer l'opération Convert2RHEL en lot sur votre serveur Satellite. Cela inclut la spécification d'un manifeste de souscription, d'une entreprise, d'un emplacement, d'informations d'identification d'administrateur, etc.
J'ai découvert que le moyen le plus simple et le plus rapide de configurer les variables de rôle Ansible consiste à utiliser l'utilitaire de ligne de commande hammer sur le serveur Satellite. Vous pouvez également configurer les variables de rôle Ansible via l'interface utilisateur web de Satellite.
Sur ce serveur Satellite en particulier, je définis les variables suivantes.
Variable |
Value |
satellite_rhel_wait_for_syncs |
true |
satellite_manifest_path |
/usr/share/satellite/manifest_satellite_20220815T193102Z.zip |
satellite_organization |
Acme Org |
satellite_password |
Ha ha no you don’t |
satellite_username |
myee |
satellite_server_url |
|
satellite_validate_certs |
true |
satellite_content_rhel_enable_rhel7 |
true |
satellite_content_rhel_enable_rhel8 |
true |
Here’s how to create the Ansible role variables with the hammer utility.
satellite_rhel_wait_for_syncs
Le rôle Ansible configure et synchronise les référentiels requis pour effectuer l'opération Convert2RHEL en lot. La variable ssatellite_rhel_wait_for_syncs indique à l'opération d'attendre la synchronisation des référentiels.
Saisissez le code suivant dans l'interface de ligne de commande du serveur Satellite lorsque vous êtes connecté en tant qu'utilisateur root :
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_rhel_wait_for_syncs --variable-type boolean --default-value false --override true
satellite_manifest_path
Lorsque le rôle Ansible est exécuté, il télécharge le manifeste de souscription, en s'assurant que tous vos nouveaux hôtes disposent des licences appropriées. Si vous avez déjà téléchargé un manifeste valide, vous devrez malheureusement le refaire.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_manifest_path --variable-type string --default-value "/usr/share/satellite/manifest_satellite_20220815T193102Z.zip" --override true
satellite_organization/usr
Mon entreprise Satellite s'appelle « Acme Org ».
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_organization --variable-type string --default-value "Acme Org" --override true
satellite_password
Le rôle Ansible nécessite des informations d'identification d'administrateur Satellite. Saisissez le mot de passe ici.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_password --variable-type string --default-value "YOUR_ADMIN_PASSWORD" --override true
Remarque : pour éviter d'utiliser des mots de passe, vous pouvez configurer des jetons d'accès personnels à la place.
satellite_username
Saisissez le nom d'utilisateur admin ici.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_username --variable-type string --default-value "myee" --override true
satellite_server_url
L'URL du serveur satellite est l'URL à laquelle les hôtes devront accéder avec l'utilitaire curl.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_server_url --variable-type string --default-value "https://ip-172-31-29-4.us-west-1.compute.internal" --override true
satellite_validate_certs
Cette valeur doit être définie sur true.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_validate_certs --variable-type boolean --default-value true --override true
satellite_content_rhel_enable_rhel7
Cette variable indique que vous souhaitez que le rôle Ansible synchronise le contenu RHEL7 pour permettre la conversion des hôtes Centos 7 (ou Oracle) vers RHEL7. Si vous ne souhaitez pas synchroniser le contenu RHEL7, donnez à cette variable la valeur false.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_content_rhel_enable_rhel7 --variable-type boolean --default-value true --override true
satellite_content_rhel_enable_rhel8
Cette variable indique que vous souhaitez que le rôle Ansible synchronise le contenu RHEL8 pour permettre la conversion des hôtes Centos 8 (ou Oracle) vers RHEL8. Si vous ne souhaitez pas synchroniser le contenu RHEL8, donnez à cette variable la valeur false
.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_content_rhel_enable_rhel8 --variable-type boolean --default-value true --override true
Vous pouvez vérifier si vos variables sont correctement définies dans l'interface web. Pour ce faire, accédez au sous-menu Ansible « Variables ».
Faites défiler les variables jusqu'à ce que vous trouviez celles que vous venez de créer.
Maintenant, il faut configurer le serveur Satellite pour permettre l'exécution de tâches d'exécution à distance sur lui-même.
Remarque : Cette étape est inutile si vous pouvez déjà exécuter des tâches d'exécution à distance sur le serveur Satellite.
Connectez-vous au serveur Satellite en tant qu'utilisateur root et exécutez la commande suivante :
satellite-installer \ --foreman-proxy-plugin-remote-execution-ssh-install-key true
Le résultat en sortie ressemblera à ce qui suit.
Ensuite, nous allons appliquer le rôle Ansible au serveur Satellite.
Cliquez sur « Hosts » (Hôtes) > « All Hosts » (Tous les hôtes).
Modifiez votre serveur Satellite.
Cliquez sur l'onglet « Ansible Roles » (Rôles Ansible).
Le rôle Convert2RHEL se trouve sur la deuxième page du sous-menu. Cliquez sur le signe + pour attribuer le rôle redhat.satellite.convert2rhel à votre serveur Satellite.
Cliquez ensuite sur « Submit » (Envoyer).
Vous serez alors redirigé vers la page d'informations sur l'hôte. Cliquez sur le bouton « Schedule Remote Job » (Planifier une tâche à distance) et sélectionnez « Run Ansible roles » (Exécuter les rôles Ansible).
Vous serez redirigé vers une page affichant le statut de la tâche. Cliquez sur l'hôte Satellite pour afficher le statut en temps réel de la tâche.
Vous pouvez voir ici chaque étape de la tâche en cours d'exécution.
Remarque : entre autres tâches, le rôle Ansible synchronise le contenu requis et crée des groupes d'hôtes, ainsi que des clés d'activation. Satellite 6.11 présente un bogue qui provoque l'activation du référentiel Convert2RHEL8 par la clé d'activation créée pour enregistrer les hôtes CentOS 7, « Convert2RHEL7 ». Pour contourner ce bogue, vous devez remplacer ce référentiel dans la clé d'activation « convert2rhel_centos7 ».
Exécution de la conversion
IMPORTANT : avant d'exécuter la conversion, les hôtes candidats doivent être à jour et vous devez les avoir redémarrés avec le noyau le plus récent.
Tout d'abord, enregistrons nos hôtes à convertir. Dans le cas présent, je convertis des hôtes CentOS7. Cliquez sur « Hosts » (Hôtes) > « Register Host » (Enregistrer l'hôte).
Sur mes hôtes CentOS de test, je n'ai pas copié les fichiers de l'autorité de certification à partir du serveur Satellite. Pour en savoir plus sur cette procédure, cliquez ici.
Dans le menu d'enregistrement des hôtes, sélectionnez 1) le groupe d'hôtes « CentOS 7 converting » (Conversion de CentOS 7), puis 2) « Insecure » (Non sécurisé), puis 3) « Advanced » (Avancé). L'option « Insecure » (Non sécurisé) permet au script de s'exécuter dans un premier temps sans vérifier le certificat auto-signé. Les communications ultérieures sont entièrement sécurisées. Si vous souhaitez éviter d'utiliser la méthode non sécurisée, vous pouvez en apprendre plus sur l'importation de certificats ici.
Cliquez ensuite sur « Advanced » (Avancé).
Sous l'onglet « Advanced » (Avancé) du menu « Register Host » (Enregistrer l'hôte) :
-
Vérifiez que l'option « Activation Keys » (Clés d'activation) est définie sur le groupe d'hôtes « convert2rhel_centos7 ». Vous ne devriez pas avoir à modifier quoi que ce soit ici.
-
Cliquez sur « Generate » (Générer). Cette action génère le script curl que vous allez copier et coller dans l’interface de ligne de commande de l’hôte CentOS.
-
Cliquez sur le bouton de copie pour copier le script curl.
Connectez-vous à présent à l'un de vos hôtes candidats. Exportez les paramètres régionaux correspondant à votre hôte.
export LANG=en_US.UTF-8
Collez le script curl et exécutez-le. Voici un exemple de résultat.
Répétez cette tâche pour tous vos hôtes candidats.
Dans le menu « Hosts » (Hôtes), vous pouvez voir tous vos hôtes CentOS enregistrés sur Satellite.
Pour démarrer l'opération Convert2RHEL, effectuez les tâches suivantes.
-
Sélectionnez les hôtes candidats.
-
Cliquez sur « Select Action » (Sélectionner une action) et sélectionnez « Schedule Remote Job » (Planifier une tâche à distance).
Dans le menu « Job invocation » (Invocation de tâche) :
-
Dans la liste déroulante « Job Category » (Catégorie de travail), sélectionnez « Convert 2 RHEL » (Convertir en RHEL).
-
Dans la liste déroulante « Activation Key » (Clé d'activation), sélectionnez « convert2rhel_rhel7 ».
-
Cliquez sur « Submit » (Envoyer) pour démarrer l'opération Convert2RHEL en lot.
Vous êtes alors redirigé vers le menu « Job Overview » (Aperçu de la tâche) où vous pouvez choisir d'afficher le statut en temps réel de la tâche sur chaque hôte en cliquant sur un hôte.
Voici la vue en temps réel de la tâche.
Au final, tous les hôtes ont été convertis en RHEL en même temps !
Pour plus d'informations, reportez-vous à la documentation officielle de Convert2RHEL disponible ici.
À propos de l'auteur
As a Senior Principal Technical Marketing Manager in the Red Hat Enterprise Linux business unit, Matthew Yee is here to help everyone understand what our products do. He joined Red Hat in 2021 and is based in Vancouver, Canada.
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit