Comment installer et configurer Ansible sur Redhat Enterprise Linux 8

Comment installer et configurer Ansible sur Redhat Enterprise Linux 8

Ce tutoriel couvre l'installation et la configuration étape par étape d'Anable sur Redhat Enterprise Linux 8.
ANSIBLE est le principal système de gestion de la configuration open source. Il est facile pour les administrateurs et les équipes d'opérations de contrôler des milliers de serveurs de Central Machine sans installer d'agents sur eux.

Dans ce tutoriel, vous apprendrez:

  • Présentation ANSIBLE
  • Installer et configurer Python
  • Définir SSH sans mot de passe
  • Installer ANSIBLE
  • Tester et gérer l'anible

Architecture anible.

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Red Hat Enterprise Linux 8
Logiciel Python3, anible
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Présentation ANSIBLE

ANSIBLE est un moteur d'automatisation informatique radicalement simple qui automatise l'approvisionnement en cloud, la gestion de la configuration, le déploiement d'applications, l'orchestration intra-service et bien d'autres besoins en informatique.



Conçu pour les déploiements à plusieurs niveaux depuis le premier jour, Anible modélise votre infrastructure informatique en décrivant comment tous vos systèmes interdisent, plutôt que de simplement gérer un système à la fois.

Il n'utilise aucun agent et aucune infrastructure de sécurité personnalisée supplémentaire, il est donc facile à déployer - et surtout, il utilise un langage très simple (YAML, sous la forme de playbooks anible) qui vous permettent de décrire vos travaux d'automatisation d'une manière qui approche des approches pur anglais. Anible fonctionne en vous connectant à vos nœuds et en poussant de petits programmes, appelés «modules anibles».
Ces programmes sont écrits pour être des modèles de ressources de l'état souhaité du système. ANIBLE exécute ensuite ces modules (sur SSH par défaut) et les supprime une fois terminé.

Votre bibliothèque de modules peut résider sur n'importe quelle machine, et il n'y a pas de serveurs, de démons ou de bases de données requises. En règle générale, vous travaillerez avec votre programme de terminal préféré, un éditeur de texte et probablement un système de contrôle de version pour suivre les modifications de votre contenu.

Installer et configurer Python

La version par défaut de Python dans Rhel 8 est Python 3.6. Mais Python 2 reste disponible dans Rhel 8. Si pour une raison quelconque Python 3.6 est manquant dans l'installation de Red Hat Enterprise Linux 8, vous devrez l'installer manuellement.

Python 3.6 peut être installé sur Rhel 8 en exécutant la commande ci-dessous sur votre terminal. Python doit être installé sur le serveur ANSIBLE et tous les hôtes / clients où il se connectera.



# yum installer python3 Mise à jour des référentiels de gestion d'abonnement. Mise à jour des référentiels de gestion des abonnements. Dernier chèque d'expiration des métadonnées: 8:59:59 il y a le dimanche 03 février 2019 11:20:51 PM +04. Les dépendances résolues. ==============================================. ==============================================. ==============================================. Package Arch Version Repository Size =========================================================================== ==============================================. ==============================================. ===== Installation: Python36 x86_64 3.6.6-17.EL8 + 2102 + A4BBD900 RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 22 K Activer les flux de module: Python36 3.6 Résumé des transactions ============================================================= ==============================================. ==============================================. === Installer 1 package Total Téléchargement Taille: 22 K Taille installée: 22 K est ce OK [O / N]: Y Téléchargement Packages: Python36-3.6.6-17.EL8 + 2102 + A4BBD900.x86_64.RPM 6.0 Ko / s | 22 Ko 00:03 --------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- Total 6.0 Ko / s | 22 KB 00:03 AVERTISSEMENT: / var / cache / dnf / rhel-8-pour-x86_64-appstream-beta-rpms-64aba9deaea7e089 / packages / python36-3.6.6-17.EL8 + 2102 + A4BBD900.x86_64.RPM: En-tête V3 RSA / SHA256 Signature, ID de clé F21541EB: Nokey Red Hat Enterprise Linux 8 pour x86_64 - Appstream bêta (RPMS) 3.2 kb / s | 3.3 Ko 00:01 Importation de la clé GPG 0xf21541eb: utilisateur: "Red Hat, Inc. (Beta Key 2) "Empreinte digitale: B08B 659E E86A F623 BC90 E8DB 938A 80CA F215 41EB de: / etc / pki / rpm-gpg / rpm-gpg-key-redhat-beta est ce ok [y / n]: y… installé : Python36-3.6.6-17.EL8 + 2102 + A4BBD900.x86_64 complet! 

Afin d'utiliser Python 3, tapez simplement python3 dans le terminal.

Vous auriez dû noter que pour utiliser Python 3, la commande est Python3 et Python2 pour Python 2. Et si vos applications sont configurées pour se référer à Python qui n'est pas disponible à l'échelle du système. Vous obtiendrez l'erreur ci-dessous Bash.

# Python -Bash: Python: Commande introuvable 

Vous pouvez utiliser le mécanisme alternatives pour activer le système de commande Python non vers le système et le définir sur une version spécifique. Pour définir Python 3 comme défaut, exécutez la commande suivante.



# alternatives --set python / usr / bin / python3

L'exécution de python -v devrait afficher la version Python par défaut configurée:

#python -v python 3.6.6 

ou en démarrant Python une console:

# Python Python 3.6.6 (par défaut, 16 octobre 2018, 01:53:53) [gcc 8.2.1 20180905 (Red Hat 8.2.1-3)] sur Linux Type "Aide", "Copyright", "Crédits" ou "Licence" pour plus d'informations. >>> 

Définir SSH sans mot de passe

Créer l'utilisateur anable sur tous les hôtes:

# userAdd anible; Echo "" | passwd --stdin anible

Faire l'entrée nécessaire dans le fichier sudoers / etc / sudoersPour l'utilisateur Ansible pour l'accès sudo sans mot de passe:

anible tout = (tout) nopasswd: tout 
Copie

Générez maintenant la clé SSH dans le serveur ANSIBLE:



$ SSH-Keygen Génération de paires de clés RSA publiques / privées. Entrez le fichier dans lequel enregistrer la clé (/ home / anible /.ssh / id_rsa): répertoire créé '/ home / anible /.ssh '. Entrez en phrase de passe (vide pour aucune phrase de passe): entrez à nouveau la même phrase de passe: votre identification a été enregistrée dans / home / anible /.ssh / id_rsa. Votre clé publique a été enregistrée dans / home / anible /.ssh / id_rsa.pub. L'empreinte clés est: sha256: wnt / uneprkrv + hhv / djgtexk2bjogvpbr9ynigxm2em anible @ rhel8-Ansible-Server L'image aléato de la clé est: + --- [RSA 2048] ---- + | | | . | | o e o | | + * + o | | . S * o * | | . += + + | | == o @ +.| | Oboo + = | | + O ++ * BB | + ---- [SHA256]-----+ 

Copiez-le dans des serveurs distants en tant qu'utilisateur ANSIBLE:

$ ssh-copy-id anible @ rhel8-able-client / usr / bin / ssh-copy-id: info: source de clés à installer: "/ home / anible /.ssh / id_rsa.Pub "L'authenticité de l'hôte 'rhel8-able-client (192.168.1.109) 'ne peut pas être établi. ECDSA Key Finger empreinte est Sha256: E + nfcek / kvnignwdhgfvikhjbwwghiijjkfjygr7nki. Êtes-vous sûr de vouloir continuer à vous connecter (oui / non)? Oui / USR / BIN / SSH-Copy-ID: Info: Tenter de se connecter avec la ou les nouvelles touches, pour filtrer celles qui sont déjà installées / usr / bin / ssh-copy-id: info: 1 clé ( s) Restez à installer - Si vous êtes invité maintenant, il s'agit d'installer les nouvelles clés ANSIBLE @ RHEL8-ANSIBLE-CLIENT Mot de passe: Nombre de clés ajoutés: 1 Essayez maintenant de vous connecter à la machine, avec: "SSH ' ANSIBLE @ RHEL8-ANSIBLE-CLIENT '"et vérifiez que seules les touches que vous vouliez ont été ajoutées. 


Installer ANSIBLE

Une fois le Python installé, procédez pour installer PIP qui est un gestionnaire de package Python que nous utiliserons pour installer ANSIBLE:

# yum -y installer les référentiels de gestion de la gestion des abonnements Python3-Pip. Mise à jour des référentiels de gestion des abonnements. Dernier chèque d'expiration des métadonnées: 9:03:18 il y a le soleil 03 février 2019 11:20:51 PM +04. Package Python3-Pip-9.0.3-4.EL8.Noarch est déjà installé. Les dépendances résolues. Rien à faire. Complet! 

Une fois que nous avons PIP3 Installé, utilisez-le pour que ANNIBL soit installé dans le système de gestion ANSIBLE en tant qu'utilisateur ANSIBLE.

$ PIP3 Installer ANSIBLE - User

Vous pouvez voir l'installation de la commande suivante à l'aide de la commande suivante:

$ anible --version anible 2.7.6 file de configuration = Aucun Path de recherche de module configuré = ['/ home / anible /.anible / plugins / modules ',' / usr / share / anible / plugins / modules '] module python ansible location = / home / anible /.local / lib / python3.6 / Site-Packages / ANSIBLE EMPLACTION EXECTIVE = / HOME / ANSIBLE /.Version Python locale / bac / anible = 3.6.6 (par défaut, 16 octobre 2018, 01:53:53) [gcc 8.2.1 20180905 (Red Hat 8.2.1-3)] 

Test et gestion

Créez le fichier d'inventaire ANSIBLE, la valeur par défaut est / etc / anible / hôtes Mais vous pouvez copier le fichier hosts dans le répertoire domestique de l'utilisateur ANSIBLE. Vous pouvez également créer un groupe d'hôtes distants comme ci-dessous dans le fichier hosts.

 [Web] 192.168.1.105 [db] 192.168.1.107 [App] 192.168.1.108 192.168.1.109 192.168.1.110 
Copie

Vous pouvez utiliser le module Ping pour tester ANSIBLE et après une course réussie, vous pouvez voir la sortie ci-dessous.

$ anible -i accueille 192.168.1.109 -M ping 192.168.1.109 | Succès => "changé": false, "ping": "pong" 


L'option -i est utilisée pour fournir un chemin d'accès au fichier d'inventaire. Vous devriez obtenir la même sortie pour le nom du groupe «App».

$ anible -i hosts app-m ping 192.168.1.108 | Succès => "changé": false, "ping": "pong" 192.168.1.109 | Succès => "changé": false, "ping": "pong" 192.168.1.110 | Succès => "changé": false, "ping": "pong" 

Conclusion

La simplicité et la capacité d'ANSIBLE à réduire la complexité des autres outils en ont fait un demandeur fiable pour votre environnement. Sa principale préoccupation concerne la sécurité et la fiabilité. Il utilise OpenSSH pour le transport, et la langue est conçue autour de l'auditabilité même de ceux qui ne connaissent pas le programme. ANSIBLE convient suffisamment pour gérer les deux petites configurations avec une poignée d'instances ainsi que les environnements d'entreprise.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 22.04
  • Fichiers de configuration Linux: 30 premiers
  • Téléchargement Linux
  • Linux peut-il obtenir des virus? Exploration de la vulnérabilité de Linux…
  • Masterring Bash Script Loops
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Liste des meilleurs outils Kali Linux pour les tests de pénétration et…