Ansible

Sur debian :

# apt install ansible

La configuration des hosts se fait dans le fichier /etc/ansible/hosts. On peut faire des groupes différents :

# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Groups of hosts are delimited by [header] elements
#   - You can enter hostnames or ip addresses
#   - A hostname/ip can be a member of multiple groups
 
[home]
192.168.1.151 #server
192.168.1.161 #server2
192.168.1.157 #server3
192.168.1.158 #server4
 
[work]
192.168.1.154 #machinetest
192.168.1.156 #machinecela
192.168.1.155 #machine
192.168.1.160 #machinececi

Une fois les machines configurées dans le fichier, on peut par exemple pinguer tous les serveurs ou seulement ceux qu'un groupe en particulier. Toutes les machines qui sont dans le fichier hosts :

$ ansible all -m ping

Seulement les machines du groupe home :

$ ansible home -m ping

Un playbook pour installer htop sur un serveur :

- hosts: nom-du-host
  tasks:
  - name: Installation de htop avec ansible
    apt:
      name: "{{ item }}"
      update_cache: true
      state: latest
    with_items:
      - 'htop'
    become: yes
    become_method: sudo

La commande pour “invoquer” le playbook et demander le mot de passe au passage :

$ ansible-playbook --ask-become-pass -l nom-du-host /path/to/ansible-playbooks/htop-install.yml
  • ansible.txt
  • Dernière modification: 2017/12/20 16:47
  • par simon