By Walid ETTAYEB

Aujourd'hui, je vais vous présenter Ansible - un outil vraiment génial pour vous aider à automatiser de nombreuses tâches que vous effectuer manuellement sous Linux.

Qu'est-ce qu'Ansible ?

Ansible est un outil sans agent qui peut vous aider dans l'approvisionnement, la configuration et la maintenance générale de vos serveurs basés sur Linux ou Windows. Comme il ne requiert pas d'agent, il n'est pas nécessaire d'installer une sorte de client sur l'un de vos serveurs pour utiliser les capacités d'Ansible.  Ansible fonctionne entièrement par SSH.

Ansible vous permet d'automatiser de nombreuses tâches répétitives, longues ou ennuyeuses que vous effectuez peut-être manuellement à l'heure actuelle. La pertinence de cette automatisation augmente au fur et à mesure que votre liste de serveurs s'allonge. À un moment donné, il devient assez fastidieux de se connecter manuellement à distance à chacun de vos serveurs pour effectuer des tâches de base, comme la mise à jour.

C'est là qu'Ansible intervient pour s'occuper de toutes ces choses pour vous avec une simple commande.

Configuration de notre environnement Ansible

Au préalable, ce guide vous montrera comment utiliser Ansible avec une authentification par mot de passe, plutôt que par clé. Je vous conseille vivement d'utiliser l'authentification par clé si possible, mais je ne voulais pas que cela constitue une barrière à l'entrée de ce guide si vous ne l'avez pas déjà configurée dans votre environnement.

Maintenant que nous avons abordé ce sujet, allons-y et configurons l'environnement à partir duquel nous allons exécuter Ansible. Si vous êtes comme moi, vous exploitez déjà un hyperviseur vous pouvez l'utiliser pour faire tourner une VM Ubuntu affin d'exécuter toutes les tâches d'Ansible.

Une fois la machine virtuelle créée, vous devrez exécuter les commandes suivantes :

sudo apt update

sudo apt install software-properties-common

sudo apt-add-repository --yes --update ppa:ansible/ansible

Ces trois commandes vont préparer votre serveur pour l'installation d'Ansible. Nous pouvons maintenant installer Ansible, lui-même, en exécutant la commande suivante :

sudo apt install ansible 

Maintenant que nous avons installé Ansible, vous pouvez afficher la version installée en exécutant la commande suivante:

ansible --version

Création de notre inventaire d'hôtes

Maintenant qu'Ansible est installé et fonctionne sur notre serveur, nous devons lui fournir une liste d'hôtes pour qu'il puisse travailler avec. Nous allons faire cela en créant un fichier d'inventaire appelé "hosts". Vous pouvez nommer ce fichier comme vous le souhaitez, mais c'est le nom que j'ai choisi.

Maintenant que le fichier est créé, nous devons lui donner un attribut pour regrouper nos serveurs. Vous pourriez utiliser quelque chose de générique comme [servers] mais j'ai choisi de séparer les éléments par distrib, comme vous pouvez le voir dans l'image ci-dessous. Actuellement, je n'utilise que des serveurs Ubuntu.

[ubuntu]
demo-srv-ettayeb-01
demo-srv-ettayeb-02
demo-srv-ettayeb-03
demo-srv-ettayeb-04
demo-srv-ettayeb-05

Une fois que vous avez défini le ou les attributs que vous souhaitez utiliser, il vous suffit de répertorier les hôtes avec lesquels vous souhaitez interagir à l'aide d'Ansible. Il est important de noter que vous pouvez utiliser le nom DNS du serveur ou l'adresse IP du serveur si vous ne l'avez pas encore configuré à ce stade.

Une fois que ce fichier a été rempli avec votre ou vos attributs et la liste des serveurs, vous être prêt à commencer à travailler avec Ansible. Nous allons commencer par envoyer une requête ping à chacun de nos hôtes, en utilisant Ansible pour le faire à notre place. Vous pouvez le faire avec la commande suivante :

ansible -i /path/to/hosts/file/ ubuntu -m ping --user (insert user here) --ask-pass

Conclusion


Après avoir suivi ces étapes, vous devriez maintenant avoir un environnement Ansible fonctionnel, capable de communiquer avec chacun de vos serveurs. Bien que nous ne soyons pas encore entrés dans une quelconque forme d'automatisation, je voulais couvrir les bases de l'installation et du fonctionnement d'Ansible.

Dans le prochain article du blog, nous allons plonger plus en profondeur dans l'automatisation des tâches avec Ansible en le configurant pour mettre à jour tous nos serveurs Ubuntu.

Walid ETTAYEB • 36 Articles

Passionné par l'informatique depuis mon plus jeune âge, je transforme ma passion en expertise.

View Articles