Partie 1 : Présentation et prérequis
Partie 2 : Bases et premiers Playbook
Partie 3 : Les Variables
Partie 4 : Les Collections
––
Update 01/06/2020 : utilisation des venv
J’ai décidé de commencer une serie d’article sur Ansible, l’objectif n’est pas de se substituer à la documentation officielle, ni aux nombreux tutos que vous vous pouvez trouver sur le net, mais plutôt une présentation de la façon dont je l’utilise.
Dans la suite des articles, j’utiliserai Ansible principalement pour VMware, mais aussi pour Veeam et DataCore. Et bien sûr le le stack TIG (Telegraf InfluxDB Grafana) pour monitorer tout ça !
Qu’est-ce que Ansible
Ansible est une plateforme développée à l’origine par Ansible Inc, qui a été racheté par RedHat en 2015. Deux objectifs principaux à Ansible :
- Déploiement automatique d’application
- Gestion et maintien en conformité des configurations
La particuliarité d’Ansible par rapport aux autres solutions d’automatisation (Puppet, Chef, Salt…) et le fait qu’il ne s’appuie pas sur un modèle client-serveur mais qu’il utilise SSH pour piloter les nodes.
Autre différenciateur fort, la version libre n’est plus restreinte techniquement par à la version commerciale, et ceci depuis le rachat par RedHat.
Ansible doit être installé sur Linux. Suite à l’installation (très simple) on peut exécuter des “Playbook” ed la manière que l’on exécute des scripts avec Python ou PowerShell. Pas besoin de paramétrage complexes ou d’interface graphique.
Si vous souhaitez en savoir plus sur Ansible, c’est ici que ça se passe : https://docs.ansible.com/ansible/latest/index.html
On reviendra plus en détail sur le fonctionnement d’Ansible dans les prochains articles.
WSL
Premier point, j’utilise principalement Ansible depuis mon poste Windows 10 via WSL (Windows Subsystem for Linux), cela me permet donc de ne pas avoir à utiliser une VM dédiée.
Pourquoi ? Car c’est pratique ! Je peux éditer et exécuter mes Playbook avec Visual Code, ce qui simplifie la gestion. Le tout avec une intégration Git, et tout devient simple, ou presque :)
Vous pouvez retrouver la procédure officile d’installation de WSL ici : https://docs.microsoft.com/fr-fr/windows/wsl/install-win10. Mais il est aussi de l’installer directement via PowerShell. Activation de WSL (nécessite un redémarrage):
|
|
Téléchargement de la distribution souhaitée, ici exemple avec Ubuntu 18.04:
|
|
Puis installation:
|
|
Ubuntu 18.04 sera alors disponible dans votre menu démarré:
L’installation va se poursuivre, il vous demandera également un nom d’utilisateur et mot de passe:
Puis on peut mettre à jour les paquets:
|
|
VirtualEnv
VirtualEnv permet, à l’intérieur d’un dossier, d’avoir à la fois les binaires Python ainsi que les librairies nécessaires pour un projet. Dans notre cas cela propose deux avantages:
- Utilisation d’une version Ansible à jour et surtout isolée (via Python Pip)
- Installation des librairies spécifiques à certains projets (via Pip également)
Installation de VirtualEnv
|
|
Création d’un virtualenv avec Python3 que l’on va appeler ansible:
|
|
Activation du venv:
|
|
On note le (ansible) qui indique que l’on est dans le venv. Pour en sortir il faut utiliser la commande deactivate
Installation Ansible
On installe Ansible via Pip:
|
|
Vérification de la version d’Ansible et de python:
|
|
Visual Code
J’utilise Visual Code pour tous mes projets, les Playbook Ansible en font parti, rien d’original ! Très bon produit avec de nombreux Plugins pratiques et multiplateforme.
https://code.visualstudio.com/
Ceci nous fait une bonne base pour commencer avec Ansible sur WSL, suite au prochain épisode !