Les bases
Introduction
Dans cette procédure nous allons apprendre les bases d'ansible.
Nous suivons le cours linkedin suivant : https://www.linkedin.com/learning/l-essentiel-d-ansible
De Samir Lakhdari.
Pratique
Dans un premier temps nous allons créer un user ansible sur l'ensemble des serveurs, et le placer en sudo user.
cat > /etc/sudoers.d/ansible
ansible ALL=(ALL) NOPASSWD: ALL
Création de clé SSH pour se connecter sans mot de passe sur l'ensemble des serveurs.
ssh-keygen
ssh-copy-id [@IP] ou FQDN si déclarer dans le fichiers hosts <- Permet de copier la clé SSH vers un serveur distant
yum install -y epel-release | Extra packet nécessaire pour ansible yum install -y python3
pip3 install --upgrade pip | Mise à jour de Python avant l'installation de ansible
Update de Python 3.6 vers 3.8 car déprécié pour ansible dnf module enable python38 dnf install python38 alias python3=python3.8 alternatives --set python3 /usr/bin/python3.8
pip3 install ansible | Installation de ansible avec python3
ansible --version | Vérification de l'installation
ansible localhost -m ping | Permet de ping la machine local
Si nous utilisation la résolution de nom dans le fichier d'inventaire de ansible, les hôtes doivents être déclaré dans le fichiers hosts de la machine /etc/hosts.
192.168.14.131 control
192.168.14.132 web1
192.168.14.133 web2
192.168.14.134 haproxy
Si FQDN déclarer dans le fichiers hosts alors vous pouvez mettre le FQDN de l'host.
Permet de copier la clé SSH vers un serveur distant
ssh-copy-id @IP ou FQDN
Extra packet nécessaire pour ansible web
yum install -y python3
yum install -y epel-release
Mise à jour de Python avant l'installation de ansible
pip3 install --upgrade pip
Update de Python 3.6 vers 3.8 car déprécié pour ansible et remplacement de l'alias lors de l'utilisation de la commande
dnf module enable python38
dnf install python38
alias python3=python3.8
alternatives --set python3 /usr/bin/python3.8
Installation de ansible avec python3
pip3 install ansible
Vérification de l'installation
ansible --version
Permet de ping la machine local
ansible localhost -m ping
Permet de tester la connexion au hôte définis dans le fichier d'inventaire de ansible. L'argument ALL à la place de WEB, fait référence à l'ensemble des machines présentes dans les inventaires.
ansible web -m ping -i hosts