Install Ansible 2.10 - Cent0S 7 (Offline)

Install Ansible 2.10 - Cent0S 7 (Offline)

CentOS 7 Ansible Virtualenv Ansible 2.10 offline

Installation d'ansible 2.10 sur CentOS 7 (hors ligne)

Contexte

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.

Prérequis

  • Une forge* sous CentOS 7, construite avec la même configuration, connectée à internet pour récupérer Ansible ainsi que quelques collections.

Forge : Généralement, j'appelle une forge une machine (physique ou virtuelle) qui servira à effectuer les travaux.

Installation des paquets


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 de l'environnement python


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

ansible-installer

On active l'environnement :

source /etc/ansible/bin/activate

ansible-env01

On met à jour pip :

pip install --upgrade pip

ansible-env02

On installe aussi le package Pywinrm (utile pour windows):

pip3 install "pywinrm>=0.2.2"

Installation d'Ansible 2.10.7


Installation d'ansible :

pip3 install ansible==2.10.7

ansible-env03

Une fois terminer on vérifie la version d'ansible :

ansible --version

ansible-env04

Alerte de Python concernant notre version… Vous remarquez aussi que nous n'avons pas de fichier de configuration Ansible.

Suppresion du message d'avertissement


On désinstalle le paquet cryptography actuel :

pip3 uninstall cryptography

ansible-env05

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

ansible-env06

Configuration d'ansible


Comme vous l'avez vu précédemment, nous n'avons pas de fichier de configuration pour notre Ansible

ansible-env07

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

ansible-env08

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

Export d'ansible


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/

Import d'ansible sur votre machine


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

Fonctionnement


Activer l'environnement :

source /etc/ansible/bin/activate

Pour quitter l'environnement :

deactivate

Article précédent Article suivant