Table des matières

Page d'exploration sur l'outil Ansible

Tuto 1 - les bases

https://www.ansible.com/resources/videos/quick-start-video

  1. Pas d'agent sur les clients, se base sur SSH :)
  2. Ansible s'installe sur un “Control Node”, et s'adresse aux hotes pilotés
  3. Peut être utilisé pour gestion de configuration, ou des usages avancées.

Concepts

  1. Playbooks : Fichiers YAML, décrivent l'état final d'un réglage, comme une listes de choses à exécuter.
    1. Contiennent des Plays, qui contiennent des Taches (qui ont un 'name'), qui appellent des Modules.
  2. Variables intégrables dans le playbook, dans d'autres fichiers, dans les inventaires, en CLI, ou autre…
  3. Inventories : liste statiques de serveurs, peut contenir des ranges et des listes dynamiques.
  4. Modules : outils de contrôle élémentaires, 450 inclus, listés dans la doc. Appelé par une Tache sous la forme “module: param1: valeur param2: valeur…”
  5. Rôles : des Playbooks autonomes, avec les taches, variables, et tout ce qui est nécessaire à l'exécution.

Exécuter Ansible

En CLI, ou via ansible-playbook, ou via Tower.

Les playbooks sont lancés et indiquent s'ils ont changé le système (OK ou Changed) pour chaque tâche. On peut les valider en “dry-run” en utilisant le checkmode -C (pas compatible avec tous les modules, qui sont alors sautés).

Tower

service pro pour gérer les playbooks et les équipes SI. Gestion des accès et des infos/passwords.

Galaxy

Ressource communautaire de rôles et de modules, qu'on peut lancer quasi-directement.

Tuto 2 : la pratique

Tuto 3 - Role Yunohost

:!: Erreur dans la task “apps” : l'installation de certaines applications plante, car les key/values passés à yunohost-api via une boucle “If” sont convertis. Les chaines “yes” deviennent un booléen True qui est ensuite rejeté par l'api. il faut réviser cette boucle, en attendant la chaîne “y” suffit et n'est pas convertie.