De nos jours dans le domaine informatique, l'automatisation est le sujet brûlant et chaque organisation commence à adopter les outils d'automatisation comme Puppet , Ansible , Chef , CFEngine , contremaître et Katello . Parmi ces outils, Ansible est le premier choix de presque toute l'organisation informatique pour gérer les systèmes de type UNIX et Linux. Dans cet article, nous montrerons comment installer et utiliser l'outil ansible sur Debian 10 Server.
Détails de mon laboratoire :
- Debian 10 – Noeud de serveur/contrôleur Ansible – 192.168.1.14
- CentOS 7 – Hôte Ansible (serveur Web) – 192.168.1.15
- CentOS 7 – Hôte Ansible (serveur de base de données) – 192.169.1.17
Nous montrerons également comment les serveurs Linux peuvent être gérés à l'aide d'Ansible Server
Installation d'Ansible sur le serveur Debian 10
Je suppose que dans votre système Debian 10, vous avez un utilisateur qui a soit des privilèges root, soit des droits sudo. Dans ma configuration, j'ai un utilisateur local nommé "pkumar" avec des droits sudo.
Les packages Ansible 2.7 sont disponibles dans les référentiels Debian 10 par défaut, exécutez les commandes suivantes à partir de la ligne de commande pour installer Ansible,
$ sudo apt update$ sudo apt install ansible -y
Exécutez la commande ci-dessous pour vérifier la version ansible,
[email protected] :~$ sudo ansible --version
Pour installer la dernière version d'Ansible 2.8, nous devons d'abord définir des référentiels Ansible.
Exécutez les commandes suivantes l'une après l'autre,
$ echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" \ | sudo tee -a /etc/apt/sources.list$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367$ sudo apt update$ sudo apt install ansible -y$ sudo ansible --version
Gestion des serveurs Linux avec Ansible
Reportez-vous aux étapes suivantes pour gérer Linux comme les serveurs à l'aide du nœud de contrôleur Ansible,
Étape :1) Échangez les clés SSH entre Ansible Server et ses hôtes
Générez les clés ssh à partir du serveur ansible et partagez les clés entre les hôtes ansibles
$ sudo -i# ssh-keygen# ssh-copy-id [email protected]# ssh-copy-id [email protected]Étape :2) Créer un fichier d'inventaire Ansible Hosts
Lorsqu'ansible est installé, le fichier /etc/hosts est créé automatiquement, dans ce fichier, nous pouvons mentionner les hôtes ansible ou ses clients. Nous pouvons également créer notre propre fichier d'inventaire d'hôte ansible dans notre répertoire personnel,
En savoir plus sur :Comment gérer l'inventaire des hôtes statiques et dynamiques Ansible
Exécutez la commande ci-dessous pour créer un inventaire d'hôtes ansible dans notre répertoire personnel
[email protected] :~$ vi $HOME/hosts[Web]192.168.1.15[DB]192.168.1.17Enregistrez et quittez le fichier
Remarque : Dans le fichier d'hôtes ci-dessus, nous pouvons également utiliser le nom d'hôte ou le nom de domaine complet, mais pour cela, nous devons nous assurer que les hôtes ansibles sont accessibles et accessibles par nom d'hôte ou nom de domaine complet.
Étape 3) Tester et utiliser les modules ansible par défaut
Ansible est livré avec de nombreux modules par défaut qui peuvent être utilisés dans la commande ansible, des exemples sont présentés ci-dessous,
Syntaxe :
# ansible -i
-m Où :
- -i ~/hôtes :contient la liste des hôtes ansibles
- -m : après -m spécifiez le module ansible comme ping et shell
: Ansible héberge où nous voulons exécuter les modules ansible
Vérifier la connectivité ping à l'aide du module ping ansible
$ sudo ansible -i ~/hosts -m ping all$ sudo ansible -i ~/hosts -m ping Web$ sudo ansible -i ~/hosts -m ping DB
La sortie des commandes ci-dessus serait quelque chose comme ci-dessous :
Exécution de commandes shell sur des hôtes ansibles à l'aide du module shell
Syntaxe : # ansible -i
Exemple :
[email protected] :~$ sudo ansible -i ~/hosts -m shell -a "uptime" all192.168.1.17 | CHANGÉ | rc=0>> 01:48:34 jusqu'à 1:07, 3 utilisateurs, charge moyenne :0,00, 0,01, 0,05192.168.1.15 | CHANGÉ | rc=0>> 01:48:39 jusqu'à 1:07, 3 utilisateurs, charge moyenne :0,00, 0,01, 0,04[email protected] :~$[email protected] :~$ sudo ansible -i ~/hosts -m shell -a "uptime; \ df -Th /; uname -r" Web192.168.1.15 | CHANGÉ | rc=0>> 01:52:03 jusqu'à 1:11, 3 utilisateurs, moyenne de charge :0,12, 0,07, 0,06Système de fichiers Type Taille Type Taille Utilisé Disponible Utilisation % Monté sur/dev/mapper/centos-root xfs 13G 1017M 12G 8 % / 3.10.0-327.el7.x86_64[email protected] :~$
La sortie des commandes ci-dessus confirme que nous avons correctement configuré le nœud de contrôleur ansible
Créons un exemple de playbook d'installation de NGINX. Le playbook ci-dessous installera nginx sur tous les serveurs faisant partie du groupe d'hôtes Web, mais dans mon cas, j'ai une machine centos 7 sous ce groupe d'hôtes.
[email protected] :~$ vi nginx.yaml---- hôtes :Web tâches : - nom :installer la dernière version de nginx sur le serveur CentOS 7 yum :nom=nginx state=latest - nom :démarrer le service nginx :nom :nginx état :démarré
Exécutez maintenant le playbook en utilisant la commande suivante,
[email protected] :~$ sudo ansible-playbook -i ~/hosts nginx.yaml
la sortie de la commande ci-dessus serait quelque chose comme ci-dessous,
Cela confirme que le playbook Ansible a été exécuté avec succès, c'est tout de l'article, veuillez partager vos commentaires et commentaires.