GNU/Linux >> Tutoriels Linux >  >> Linux

RHCE Ansible Series #1 :Dites bonjour à Ansible

Dans cette série Ansible, vous apprendrez toutes les compétences dont vous avez besoin pour gérer et automatiser les opérations de votre infrastructure informatique avec Ansible.

De plus, tous les objectifs de l'examen RHCE (Red Hat Certified Engineer) EX294 seront couverts dans cette série. Cela signifie que vous serez parfaitement préparé à réussir l'examen EX294 et à devenir un ingénieur certifié Red Hat si vous suivez la série.

Qu'est-ce qu'Ansible ?

Ansible est un outil open source de gestion de la configuration, de provisionnement de logiciels et de déploiement d'applications qui simplifie l'automatisation de vos déploiements d'applications et du fonctionnement de votre infrastructure informatique.

Ansible est très léger, facile à configurer et n'est pas gourmand en ressources car il n'a pas besoin d'un agent pour s'exécuter (sans agent) contrairement à d'autres outils d'automatisation, par exemple, Puppet qui est basé sur un agent et est un peu complexe à configurer.

Cela explique pourquoi Ansible gagne en popularité chaque jour et devient l'outil d'automatisation incontournable pour de nombreuses entreprises.

Dans la science-fiction, le mot Ansible fait référence à un appareil hypothétique qui permet aux utilisateurs de communiquer instantanément sur de grandes distances ; c'est-à-dire un dispositif de communication plus rapide que la lumière. Vous savez maintenant d'où Ansible tire son nom.

Créer votre terrain de jeu

Pour tirer le meilleur parti de cette série et suivre sans douleur, je vous conseille d'utiliser la même configuration que moi.

J'ai créé une machine virtuelle RHEL 8 (Red Hat Enterprise Linux) qui servirait de nœud de contrôle. Un nœud de contrôle est, comme son nom l'indique, un serveur utilisé pour contrôler d'autres hôtes distants (nœuds gérés).

J'ai créé trois machines virtuelles CentOS 8 pour les nœuds gérés :node1, node2 et node3. J'ai également créé un Ubuntu 18.04 pour le dernier nœud géré.

Voici un schéma qui résume l'ensemble de la configuration :

Je n'ai pas assez de ressources sur mon ordinateur pour créer toutes ces machines virtuelles sans que mon ordinateur ne plante. J'ai donc utilisé Microsoft Azure pour toutes les machines virtuelles comme vous pouvez le voir dans la capture d'écran ci-dessous :

Vous pouvez utiliser n'importe quel autre fournisseur de serveur cloud comme AWS, Linode, Digital Ocean, UpCloud, etc. La plupart d'entre eux fournissent des crédits gratuits d'une valeur de 50 $ ou 100 $ aux nouveaux utilisateurs. Vous pouvez vous inscrire à l'un de ces services et utiliser les crédits gratuits pour préparer votre configuration pour suivre cette série Ansible.

Installer Ansible

Ansible s'appuie sur SSH et Python pour faire toute la magie de l'automatisation. Il vous suffit donc d'installer Ansible sur le nœud de contrôle et de vous assurer qu'OpenSSH et Python sont installés à la fois sur le nœud de contrôle et sur les nœuds gérés.

Pour faire court, vous n'avez pas besoin d'installer Ansible sur les nœuds gérés !

Maintenant, je vais vous montrer comment installer Ansible sur une variété de systèmes.

Installation d'Ansible sur les systèmes RHEL

Je vais d'abord commencer par vous montrer comment installer Ansible sur un système RHEL 8, car cette série cible principalement tous les objectifs de l'examen RHCE.

Connectez-vous à votre nœud de contrôle et passez à l'utilisateur root :

[[email protected] ~]$ sudo su -
Last login: Tue Oct 20 01:05:00 UTC 2020 on pts/0

En vérifiant les informations de version de Linux, vous pouvez voir que j'utilise RHEL 8.2 et que je vais l'utiliser comme nœud de contrôle :

[[email protected] ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)

Pour installer Ansible sur un système RHEL 8, vous devez d'abord enregistrer votre système auprès du subscription-manager commande :

[[email protected] ~]# subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username:xxxxx
Password: xxxxx
The system has been registered with ID: 1d8ace59-c140-4f8c-b4bb-b4cd0f4fb811
The registered system name is: control

Vous serez invité à entrer un nom d'utilisateur et un mot de passe comme vous pouvez le voir, si vous n'avez pas de compte Red Hat, vous pouvez créer un compte et obtenir un essai gratuit.

Vous devrez ensuite joindre le nouvel abonnement avec la commande suivante :

[[email protected] ~]# subscription-manager attach --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed

Product Name: Red Hat Enterprise Linux for x86_64 - Extended Update Support
Status: Subscribed

Notez que vous auriez pu enregistrer et joindre l'abonnement en une seule commande :

subscription-manager register --username=<USER_NAME> --password=<PASSWORD> --auto-attach

Nous avons maintenant accès à tous les référentiels RHEL 8. Vous pouvez répertorier tous les dépôts Ansible disponibles en exécutant la commande suivante :

[[email protected] ~]# yum repolist all | grep ansible
ansible-2-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled

Recherchez maintenant le référentiel de version Ansible le plus récent et activez-le. Au moment d'écrire ces lignes, ansible-2.9 est la dernière version et je vais donc activer le ansible-2.9-for-rhel-8-x86_64-rpms avec le yum_config_manager commande comme suit :

[[email protected] ~]# yum-config-manager --enable ansible-2.9-for-rhel-8-x86_64-rpms
Updating Subscription Management repositories.

Vous pouvez maintenant vérifier que le référentiel Ansible est bien activé en répertoriant tous les référentiels activés sur votre système :

[[email protected] ~]# yum repolist enabled
Updating Subscription Management repositories.
repo id                                                         repo name
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible Engine 2.9 for RHEL 8 x86_64 (RPMs)
microsoft-azure-rhel8-eus Microsoft Azure RPMs for RHEL8 Extended Update Support
rhel-8-for-x86_64-appstream-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)

Tout ce travail préliminaire est fait. Vous pouvez enfin installer Ansible :

[[email protected] ~]# yum install -y ansible

Une fois l'installation terminée. Vous pouvez vérifier qu'Ansible est bien installé en exécutant la commande :

[[email protected] ~]# ansible --version
ansible 2.9.14
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Dec  5 2019, 15:45:45) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]

Génial! Vous avez maintenant installé avec succès Ansible sur RHEL 8. Je suis sûr que vous pensez peut-être que c'était un long processus !

Du bon côté, il n'y aura pas d'accès Internet à l'examen, ce qui signifie que votre système de contrôle sera équipé de tous les référentiels dont vous aurez besoin, et vous n'aurez donc pas à vous soucier de l'utilisation du gestionnaire d'abonnement.

Mais mieux vaut être préparé que d'être surpris, souvenez-vous toujours de cela !

Installer Ansible sur CentOS

Sur CentOS, Ansible est fourni par le référentiel EPEL (Extra Package for Enterprise Linux).

Vous pouvez installer et activer le dépôt EPEL en installant epel-release package comme suit :

[[email protected] ~]# yum install -y epel-release

Maintenant, vous pouvez installer ansible :

[[email protected] ~]# yum install -y ansible

Gardez à l'esprit que nous avons installé Ansible sur l'un des nœuds gérés ici (nœud1) uniquement à des fins d'apprentissage ; il vous suffit d'installer Ansible sur le nœud de contrôle.

Installer Ansible sur Ubuntu

Sur Ubuntu, vous devez vous assurer que le référentiel de version Ansible souhaité est activé sur votre système.

Vous pouvez ajouter et activer le référentiel ppa ansible-2.9 à l'aide de la commande suivante :

[email protected]:~# apt-add-repository --yes --update ppa:ansible/ansible-2.9

Enfin, vous pouvez installer Ansible sur Ubuntu :

[email protected]:~# apt-get -y install ansible

Cela nous amène à la fin de notre premier didacticiel de cette série de préparation RHCE Ansible.

Restez à l'écoute pour le prochain didacticiel car vous allez apprendre à configurer Ansible et à exécuter des commandes Ad-Hoc Ansible vraiment intéressantes.


Linux
  1. Déconstruire un playbook Ansible

  2. Comprendre YAML pour Ansible

  3. RHCE Ansible Series #8 :chiffrement de contenu avec Ansible Vault

  4. RHCE Ansible Series #7 :Modèles Jinja2

  5. RHCE Ansible Series #9 :Rôles Ansible

Comment installer Ansible sur Ubuntu

Comment installer une collection Ansible sur un nœud de contrôle Ansible déconnecté

Une introduction aux faits Ansible

RHCE Ansible Series #2 :Exécution de commandes ad hoc

RHCE Ansible Series #3 :Playbooks Ansible

RHCE Ansible Series #12 :Dépannage Ansible