Installation d'ansible 2.10 sur CentOS 7 (hors ligne)
Installer la dernière version d'Ansible 2.10 sur CentOS 7 dans un environnement sans accès à internet (Parce que sinon, c'est trop simple !). Il est important de noter qu'aucun package officiel (.rpm) n'est disponible.
Forge : Généralement, j'appelle une forge une machine (physique ou virtuelle) qui servira à effectuer les travaux.
Afin d'installer notre version d'Ansible, nous devrons créer un environnement virtuel Python avec virtualenv.
On installe le paquet python-virtualenv ainsi que Python 3.6 :
yum -y install python-virtualenv python36
Création du répertoire ansible :
mkdir /etc/ansible && cd /etc
Création de l'environnement avec python 3.6 sous le nom d'ansible:
virtualenv --python=/usr/bin/python3.6 ansible
On active l'environnement :
source /etc/ansible/bin/activate
On met à jour pip :
pip install --upgrade pip
On installe aussi le package Pywinrm (utile pour windows):
pip3 install "pywinrm>=0.2.2"
Installation d'ansible :
pip3 install ansible==2.10.7
Une fois terminer on vérifie la version d'ansible :
ansible --version
Alerte de Python concernant notre version… Vous remarquez aussi que nous n'avons pas de fichier de configuration Ansible.
On désinstalle le paquet cryptography actuel :
pip3 uninstall cryptography
Puis on installe celui en version 36.0.2 :
pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com cryptography==36.0.2
Comme vous l'avez vu précédemment, nous n'avons pas de fichier de configuration pour notre Ansible
Nous allons donc les télécharger depuis le dépôt Git :
wget https://raw.githubusercontent.com/ansible/ansible/v2.10.17/examples/ansible.cfg && wget https://raw.githubusercontent.com/ansible/ansible/v2.10.17/examples/hosts
Regarder a nouveau la version d'ansible :
ansible --version
Configurer le répertoire des collections et l'inventaire:
vi /etc/ansible/ansible.cfg
Rajoutez les lignes suivant, pour indiquer les chemins :
inventory = /etc/ansible/hosts
collections_path = /etc/ansible/collections
library = /etc/ansible/my_modules
module_utils = /etc/ansible/my_modules_utils
Une fois votre configuration terminé (ajout de module ou )
Création de l'archive :
cd /etc && tar czf ansible2.10.7.tar.gz /etc/ansible/
N'oubliez pas d'installer les paquets suivant si ce n'est pas déjà fait :
sudo yum -y install python-virtualenv python36
Décompresser l'archive :
sudo tar xzf ./ansible2.10.7.tar.gz -C /etc/
N'oubliez pas d'assigner les bons droits sur le répertoire
Activer l'environnement :
source /etc/ansible/bin/activate
Pour quitter l'environnement :
deactivate