Ansible easystart

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Guide de prise en main (tutoriel)
Prérequis Ansible installé sur le poste de contrôle, accès SSH aux hôtes cibles
Étapes Échange de clé SSH → inventaire → playbook → exécution
Voir aussi Ansible · Ansible cmd

Ce guide part de zéro : poste de contrôle avec Ansible installé, échange de clé SSH avec les hôtes cibles, puis premier playbook. Pour la syntaxe des commandes ponctuelles, voir Ansible cmd ; pour les concepts d'inventaire et de variables, voir Ansible.

1. Échange de clé SSH

Ansible se connecte par SSH : la connexion doit fonctionner par clé (sans mot de passe interactif) avant toute exécution en masse.

ssh-keygen -t ed25519 -C "ansible"
ssh-copy-id ansible@node1
ssh-copy-id ansible@node2

L'utilisateur distant doit ensuite disposer des droits sudo nécessaires (voir become dans Ansible).

2. Inventaire

cat /home/ansible/inventaire
[web]
node1
node2

[web2]
node3
node4

[webGroup:children]
web
web2

3. Premier playbook

cat /home/ansible/web.yml
---
- hosts: web
  become: yes
  tasks:
    - name: installer httpd
      yum:
        name: httpd
        state: latest

    - name: démarrer et activer httpd
      service:
        name: httpd
        state: started
        enabled: yes

    - name: récupérer le site depuis le dépôt interne
      get_url:
        url: http://repo.example.com/website.tgz
        dest: /tmp/website.tgz

    - name: déployer le site
      unarchive:
        remote_src: yes
        src: /tmp/website.tgz
        dest: /var/www/html/

4. Vérifier puis exécuter

# Vérifier que la connectivité Ansible fonctionne
ansible node1 -m ping

# Exécuter le playbook
ansible-playbook -i /home/ansible/inventaire /home/ansible/web.yml

Voir aussi

  • Ansible — inventaire avancé, variables, paramètres de connexion
  • Ansible cmd — commandes ad-hoc pour les actions ponctuelles
  • Ansible tower — passer à l'échelle avec une interface web