Skip to content

Latest commit

 

History

History
255 lines (161 loc) · 16.6 KB

File metadata and controls

255 lines (161 loc) · 16.6 KB

Atelier Automated Smart Management : migration de CentOS vers RHEL et mise à niveau

Lisez ceci dans d'autres langues:
uk English, france Française.

Introduction

Ce cas d'utilisation se concentre sur la conversion de CentOS (bien qu'il puisse s'agir d'un autre dérivé de RHEL) vers RHEL tout en conservant une application 3-tiers. Bien que nous ne montrions ce processus que pour quelques systèmes, il peut être étendu à un plus grand nombre d'hôtes physiques, virtuels ou en nuage en utilisant les dépôts de contenu fournis par Red Hat Satellite (inclus dans Red Hat Smart Management). Le processus de conversion sera piloté par l'automatisation construite et exécutée à l'aide de Ansible Automation Platform.

Environnement

  • Satellite 6.x, Ansible Automation Platform 4.x
  • 3x CentOS 7 instances
  • 3x RHEL 7 instances

Scénario d'exercice

  • Exercice : Convertir des CentOS 7 en RHEL 7

Vue d'ensemble

Résumé

  • Rappelez-vous, lors de la configuration initiale de l'environnement, nous avons créé une sauvegarde (snapshot) des données de l'instance (dans le cas où un retour ou une restauration est nécessaire. Mieux vaut prévenir que guérir.)
  • Nous utiliserons une job template dans Ansible Automation Platform, "Three Tier App / Dev", qui nous permettra d'installer une appliction 3-tiers sur les trois noeuds CentOS. En outre, le projet fournit également un moyen de tester/vérifier la fonctionnalité des composants de l'application, ce que nous ferons avant la conversion à RHEL.
  • Ensuite, nous utiliserons l'utilitaire Convert2RHEL pour convertir les noeuds CentOS en RHEL. Il y a beaucoup de sources d'information sur cet outil :
  • Nous vérifirons si l'application 3-tiers fonctionne toujours après la conversion.

Choses à considérer si vous faites ceci dans vos environnents d'entreprise :

  • Support de la ou des versions d'applications commerciales et/ou développées en interne avec le système d'exploitation de destination.
  • Modifications du chargeur de démarrage (bootloader), tout dépend des versions ciblées.
  • Connexion réseau et synchronisation du temps réseau
Une note sur l'utilisation de Satellite vs. Ansible Automation Plateforme
Inclut avec Satellite 6, les System ROLES pour RHEL (une collection de roles Ansible) qui permet de faire des tâches administratives automatisées. Satellite peuit être utilisé pour convertir et mettre à jour un suytème d'exploitation Linux, toute fois, un abonnement à Ansible Automation Platform est requis pour éxécuter des conversions et mises à jour plus complexes. L'utilisation conjointe de ces deux solutions vous permet de disposer du meilleur outil pour votre travail :
- Gestion de contenu (Satellite)
- Corrections d'OS et environnements d'exploitation standardisés (Satellite)
- Provisionnement : Système d'exploitation, services d'infrastructure et applications/autres (Satellite et/ou Ansible Automation Platform)
- Configuration de l'infrastructure et des applications (Ansible Automation Platform)

Reference: Convertir des CentOS en RHEL avec Red Hat Satellite 6 et Leapp Upgrade with Satellite 6

Ok, commençons...

Préalables

  • Exercice 0: Configuration de laboratoire

  • Organisation à utiliser = Organisation par défaut

  • Lieu à utiliser = Lieu par défaut

  • Content View = RHEL7

  • Environnements de cycle de vie = Dev, QA, Prod

Exercice :

Connectez-vous à votre interface utilisateur Satellite & AAP

NOTE Voici les URL example. Vos URLs de laboratoire étudiant seront différentes.

Notez que dans les étapes suivantes qui sont exécutées sur AAP, à tout moment, sur la console Satellite, examiner les hôtes enregistrés en cliquant sur Hosts = Tous les hôtes. Rafraîchissez la page Hosts pour voir les changements qui survients en raison de l'automatisation effectuée via AAP.

Étapes:

1. Se connecter à la plate-forme d'automatisation Ansible (AAP)

  • Utilisez un navigateur web sur votre ordinateur pour accéder à l'interface graphique AAP avec l'utilisateur admin.

login screen

  • Lors d'une connexion réussie, vous pourrez voir le tableau de bord de la plate-forme d'automatisation Ansible.

2. Installer une application 3-tiers

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de CONVERT2RHEL / 96 - Three Tier App deployment pour lancer le travail. Cela prendra environ 2 minutes pour terminer.

3tier-install

3. Prenez un snapshot du nœud CentOS (optionnel, cependant, recommandé pour cet exercice)

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur copy template à la droite de CONVERT2RHEL / 01 - Take node snapshot pour copier la template

template-copy

  • Cliquez sur la job template CONVERT2RHEL / 01 - Take node snapshot @ some-timestamp

  • Cliquez sur Edit en bas à gauche.

  • Modifier le nom pour CONVERT2RHEL / 01 - Take node snapshot / CentOS7 Development

  • Dans la section Variables, dans tags supprimer:

"short_name": "node*",

...et ajouter:

"ContentView": "CentOS7",

"Environnement" : "Dev",

template-edit

  • Examiner les changements, puis en bas à gauche, cliquez sur Save
  • Vérifier le changement de nom de la template, ainsi que les réglages de tag dans le Variables section puis cliquez sur Launch
  • Le lancement de la tâche vous emmènera à la fenêtre de sortie Jobs psy CONVERT2RHEL / 01 - Take node snapshot / CentOS7 Development où vous pourrez suivre chaque tâche exécutée dans le cadre du playbook. Cela prendra environ 5 minutes pour terminer.

centos-snapshot

4. Vérifier la stack application 3-tiers sur les nœuds CentOS - avant la mise à jour de Centos

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de CONVERT2RHEL / 97 - Three Tier App smoke test pour lancer le travail.

  • Le lancement vous emmènera à la fenêtre de sortie Jobs > CONVERT2RHEL / 97 - Three Tier App smoke test où vous pourrez suivre chaque tâche exécutée dans le cadre du playbook. Cela prendra environ 30 secs pour terminer.

3tier-smoketest

5. Mise à niveau des noeuds CentOS à la dernière version

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de CONVERT2RHEL / 02 - Upgrade OS to latest release pour lancer le travail.

  • Le lancement de sélection vous emmènera à la fenêtre de sortie CONVERT2RHEL / 02 - Upgrade OS to latest release où vous pourrez suivre chaque tâche exécutée dans le cadre du playbook. Cela prendra environ 6 minutes pour terminer.

centos-update

6. Vérifier l'application 3-tiers sur les nœuds CentOS - post Centos update, pre Convert2RHEL

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de CONVERT2RHEL / 97 - Three Tier App smoke test pour lancer le travail.

  • Sélectionnez le lancement vous conduira à la fenêtre de sortie Jobs > CONVERT2RHEL / 97 - Three Tier App smoke test. Cela prendra environ 30 secs pour terminer.

3tier-smoketest-2

7. Convert2RHEL - noeuds CentOS7 de développement vers noeuds RHEL 7 de développement

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de CONVERT2RHEL / 03 - convert2rhel pour lancer le travail.

    - Selectionnez le groupe pour convertir : CentOS7_Dev
    - Sélectionnez le groupe target :  RHEL7_Dev
  • Sélectionnez le lancement vous conduira à la fenêtre de sortie Jobs > CONVERT2RHEL / 03 - convert2rhel. Cela prendra environ 11 minutes pour terminer.

NOTE avec une pré-configuration, toute combinaison est possible conversion-select

  • cliquez sur Next pour continuer conversion-confirme
  • confirmer les variables CentOS et RHEL via les sélections de sondages et cliquez sur Launch conversion-complete

Si vous regardez dans Satellite maintenant (Hosts > All Hosts), vous verrez que toutes les noeuds CentOS ont été converties en noeuds RHEL 7.9.

3tier-smoketest-2

8. Interroger Satellite pour obtenir les détails relatifs au nœud de post-conversion, définir les étiquettes d'instance EC2 en fonction de ces détails

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de EC2 / Set instance tags based on Satellite(Foreman) facts pour lancer le travail. instance-tags

  • Le lancement de la tâche vous conduira à la fenêtre de sortie Jobs > EC2 / Set instance tags based on Satellite(Foreman) facts. Cela prendra environ 30 secs pour terminer.

9. Mise à jour des inventaires via des sources dynamiques

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de CONTROLLER / Update inventories via dynamic sources pour lancer le travail.

    • Sélectionnez "CentOS7" pour la mise à jour de l'inventaire
    • Sélectionnez "Dev" pour Choose Environment
    • Cliquez sur Next, confirmer les valeurs demandées, puis cliquez sur Launch
    • Le lancement de la tâche vous conduira à la fenêtre de sortie Jobs > CONTROLLER / Update inventories via dynamic sources. Cela prendra environ 30 secs pour terminer. centos-inventory
  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur lancement à droite de CONTROLLER / Update inventories via dynamic sources pour lancer le travail.

    • Choisir la template CONTROLLER / Update inventories via dynamic sources
    • Sélectionnez "RHEL7" pour l'inventaire
      • sélectionnez "Dev" pour Choose Environment
      • Cliquez sur Suivant, confirmer les valeurs demandées, puis cliquez sur Launch
  • Le lancement de la tâche vous conduira à la fenêtre de sortie Jobs > CONTROLLER / Update inventories via dynamic sources. Cela prendra environ 30 secs pour terminer. rhel-inventory

  • Si vous regardez dans Inventories RHEL7 Development, vous verrez maintenant que les noeuds[1-6] sont dans l'inventaire. rhel-inventory

10. Créer un credential RHEL converti

  • Utilisez le menu du volet latéral à gauche pour sélectionner Credentials.
  • Cliquez sur template à droite de Workshop Credential pour copier le credential.

credential-copy

  • Cliquez sur le nouveau Workshop Credential @ some-timestamp

  • Cliquez sur Edit en bas à gauche.

    • Modifier le nom pour Converted RHEL Credential
    • Changer le nom d'utilisateur de "ec2-user" à "centos"

convert-RHEL-credential

  • Cliquez sur Save

11. Copiez la template CONVERT2RHEL / 97 - Three Tier App smoke test vers template CONVERT2RHEL / 97 - Three Tier App smoke test / RHEL7 Development

  • Utilisez le menu du volet latéral à gauche pour sélectionner Templates.

  • Cliquez sur template à droite de CONVERT2RHEL / 97 - Three Tier App smoke test pour copier la template.

template-copy

  • Cliquez sur la nouvelle job template CONVERT2RHEL / 97 - Three Tier App smoke test @ some-timestamp

  • Cliquez sur Edit en bas à gauche.

    • Modifier le nom pour CONVERT2RHEL / 97 - Three Tier App smoke test / RHEL7 Development
    • Cliquez sur lookup dans Inventaire et sélectionnez le bouton radio pour RHEL7 Development, suivie par Sélect.
    • Cliquez sur lookup sous Credentials et sélectionnez le bouton radio pour Converted RHEL Credential, suivi par Select.
    • Examiner les changements, puis faire défiler vers le bas à gauche, cliquez sur Save
    • Cliquez sur Launch pour exécuter la nouvelle job template CONVERT2RHEL / 97 - Three Tier App smoke test / RHEL7 Development
    • L'éxécution vous conduira à la fenêtre de sortie Jobs > CONVERT2RHEL / 97 - Three Tier App smoke test / RHEL7 Development. Cela prendra environ 30 secs pour terminer.

3tier-smoketest-3

La job template Three Tier App smoke devrait se compléter avec succès, ce qui démontre que nous avons compéter la migration de CentOS 7 à RHEL 7 avec succès.

Lab supplémentaire - Convert2RHEL workflow template

Créez un workflow intégrant les job templates créés ci-dessus dans un workflow complet de conversion CentOS à RHEL!

Lab supplémentaire - Infrastructure-as-Code "Choisir votre propre aventure"

  • Forker le repo Automated Smart Management sur votre compte GitHub personnel Avant de commencer, vous devez forker le repo Automated Smart Management sur votre compte GitHub personnel. Si vous n'avez pas de compte GitHub, vous devrez en créer un pour continuer. L'utilisation d'un système de gestion du code source (SCM) est essentielle pour les concepts d'"infrastructure en tant que code" présentés dans cet exercice de laboratoire, et dans ce cas, GitHub est notre SCM.

Une fois connecté à GitHub allez sur le repo Red Hat Partner Tech repo for Automated Smart Management. Ensuite, sur la page Automated Smart Management repo page, en haut, en haut à droite de la page, cliquez sur "Fork". Cela créera une repo "forked" Automated Smart Management dans votre compte GitHub personnel.

Changer le projet "Gestion automatisée" dans AAP pour utiliser votre nouvelle repo clonée. Les fichiers suivants sont de bons points de départ pour voir où vous pouvez ajuster les Extra Vars pour sélectionner/filtrer les instances spécifiques sur lesquelles une job template/playbook sera exécuté :

group_vars/control/inventories.yml

group_vars/control/job_templates.yml

Une fois les mises à jour faites, commettez et poussez ces changements vers le repo cloné, suivie par l'éxécution de la job template "SETUP / Controller", qui va propager les changements à AAP lui-même. ... .