Ansible est un outil de configuration et d'automatisation gratuit et open source pour le système d'exploitation de type UNIX. Il est écrit en python et similaire à Chef ou Puppet mais il y a une différence et un avantage d'Ansible est que nous n'avons pas besoin d'installer d'agent sur les nœuds. Il utilise SSH pour établir la communication avec ses nœuds.
Dans cet article, nous montrerons comment installer et configurer Ansible dans CentOS 7 et essaierons de gérer ses deux nœuds.
Serveur Ansible – ansible.linuxtechi.com ( 192.168.1.15 )
Nœuds – 192.168.1.9 , 192.168.1.10
Étape 1 Définir le référentiel EPEL
Le package Ansible n'est pas disponible dans les référentiels yum par défaut, nous allons donc activer le référentiel epel pour CentOS 7 à l'aide des commandes ci-dessous
[[email protected] ~]# yum install epel-release -y
Étape : 2 Installez Anisble à l'aide de la commande yum
[[email protected] ~]# yum install ansible
Une fois l'installation terminée, vérifiez la version ansible :
[[email protected] ~]# ansible --version
Étape 3 Configurez l'authentification SSH basée sur les clés avec les nœuds.
Générez des clés sur le serveur Ansible et copiez la clé publique sur les nœuds.
[email protected] ~]# ssh-keygen
Utilisez la commande ssh-copy-id pour copier la clé publique du serveur Ansible sur ses nœuds.
Étape :4 Définissez les nœuds ou l'inventaire des serveurs pour Ansible.
Fichier '/etc/ansible/hosts ‘ maintient l'inventaire des serveurs pour Ansible.
[[email protected] ~]# vi /etc/ansible/hosts [test-servers] 192.168.1.9 192.168.1.10
Enregistrez et quittez le fichier.
Exemple de sortie du fichier hosts.
Étape :5 Maintenant, essayez d'exécuter les commandes à partir d'Ansible Server.
Vérifiez la connectivité des "serveurs de test" ou des nœuds ansibles à l'aide de ping
[[email protected] ~]# ansible -m ping 'test-servers'
Exécuter des commandes Shell :
Exemple : 1 Vérifier la disponibilité des nœuds Ansible
[[email protected] ~]# ansible -m command -a "uptime" 'test-servers'
Exemple : 2 Vérifier la version du noyau des nœuds
[[email protected] ~]# ansible -m command -a "uname -r" 'test-servers'
Exemple : 3 Ajout d'un utilisateur aux nœuds
[[email protected] ~]# ansible -m command -a "useradd mark" 'test-servers' [[email protected] ~]# ansible -m command -a "grep mark /etc/passwd" 'test-servers'
Exemple :4 Redirection de la sortie de la commande vers un fichier
[[email protected] ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt
Lisez également : Comment télécharger et utiliser les rôles Ansible Galaxy dans Ansible Playbook