Installer Ansible 2.5 sur Debian 9 Stretch ou Ubuntu 18.04 depuis les sources

Installer Ansible 2.5 sur Debian Strech ou Ubuntu 18.04

Ansible est un outil d’automatisation à l’image de Chef, Puppet, Salt, CFEngine,

C’est un outil très puissant très en vogue chez les hébergeurs, et très utile lors que l’on gère une ferme de plus de 50 serveurs par exemple, ou bien pour déployer de nouveaux serveurs en un clic.

Ansible est écrit en python et a beaucoup d’avantages :

  • Ansible fonctionne sans agent (aucun agent n’est nécessaire côté serveur à manager, Ansible utilise SSH et utilisateur SSH courant).
  • Vous pouvez l’installer sur votre PC portable (en effet seul votre clé SSH et les binaires Ansible sont nécessaires), de mon côté je préfère l’installer sur un serveur central, je trouve cela plus simple.
  • L’installation d’Ansible ne nécessite pas beaucoup de dépendance pour pouvoir l’installer/le compiler.
  • Ansible a la réputation d’être facile à utiliser et à maitriser (Ansible est conçu  pour être utilisé par des DevOps ^^).
  • Un grand nombre de playbook sont disponibles (un Playbook, est un genre de rôle template).
  • Il n’est pas écrit en ruby, j’ai des affinités limitées avec ruby, surement parce que je ne suis ni DEV ni DevOps 🙂

L’installation de Ansible ne nécessite pas beaucoup de dépendance, je préfère donc partir sur une installation depuis les sources, afin de bénéficier des dernières fonctionnalités.

I – Prérequis d’installation

Comme indiqué plus haut, Ansible requière quelques dépendances telles que build-essential, git et quelques dépendances python et openssl.


root@ansible:~# apt update
root@ansible:~# apt install build-essential git make python-setuptools python-dev libffi-dev libssl-dev python-packaging

II – Télécharger les sources Ansible depuis le dépôt GIT officiel


root@ansible:~# cd /usr/local/src/
root@ansible:/usr/local/src# git clone git://github.com/ansible/ansible.git
root@ansible:/usr/local/src# cd ansible

III – Lister les versions disponibles


root@ansible:/usr/local/src/ansible# git branch -a | grep stable
remotes/origin/stable-1.9
remotes/origin/stable-2.0
remotes/origin/stable-2.0-network
remotes/origin/stable-2.0.0.1
remotes/origin/stable-2.1
remotes/origin/stable-2.2
remotes/origin/stable-2.3
remotes/origin/stable-2.4
remotes/origin/stable-2.5

IV – Installer Ansible depuis les sources

J’ai choisi d’installer la dernière version stable (Ansible 2.5 « Kashmir »).

Release note de la version 2.5 d’Ansible:

https://github.com/ansible/ansible/blob/devel/CHANGELOG.md


root@ansible:/usr/local/src/ansible# git checkout stable-2.5
root@ansible:/usr/local/src/ansible# source ./hacking/env-setup
root@ansible:/usr/local/src/ansible# make && make install
A titre d'information, la compilation de Ansible prend environ 2/3 minutes sur petit serveur 1CPU (2 coeurs) et 2 Gigas de RAM.
Si vous avez l'erreur yaml.h pendant le make (erreur en rouge) je vous conseil d'annuler et d'installer le paquet "apt install libyaml-dev"

V – Tester Ansible

Vous pouvez tester facilement l’installation de Ansible, en appelant la commande ansible avec l’argument –version


admin_florian@ansible:~$ ansible --version
ansible 2.5.0
config file = None
configured module search path = [u'/home/florian/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible-2.5.0-py2.7.egg/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.14+ (default, Mar 13 2018, 15:23:44) [GCC 7.3.0]

À vous de jouer maintenant.

Vous pouvez dorénavant écrire vos propres playbook et utiliser cet outil magique qui va révolutionner votre travail !!!

Pour des raisons de sécurité, je conseille de ne pas utiliser le compte root ou un compte avec un nom d'utilisateur prédictible dans le cas d'une utilisation sur un serveur central sans restriction d'accès réseau (exemple : admin/ansible/manager/etc...). Pour ma part, j'utilise mon compte personnel + clé privée pour me connecter sur mon serveur Ansible central.

Sources

Documentation Officielle Ansible :

http://docs.ansible.com/ansible/latest/index.html

3 réponses

  1. Marc dit :

    Bonjour,
    je travaille sur un projet netbox et j’aimerais savoir si on peut utiliser ce logiciel afin de lister tous les équipements dynamiquement..
    dans l’attente d’une réponse de votre part.
    Marc

    • florian dit :

      Bonjour,

      Ansible est un bonne outil, mais je ne suis pas convaincu que cela soit adapté pour cet usage.

      J’ai regardé rapidement sur le net, l’utilisation qui est faite du couple ansible/netbox, c’est le plus souvent pour que netbox construise un inventaire pour Ansible et non l’inverse.

      Combien de device avez vous ? Typologie des équipements réseaux, serveurs, etc ?

      • Marc dit :

        Bonjour,

        nous avons beaucoup de serveur Worldwide des switch routeur, borne wifi etc, mais honnêtement énormément.

        et donc si ansible n’est pas le meilleur logiciel pour mon outil le quel me conseillerez vous ?

        MERCI

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.