Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

Ansible

Page mise à jour le 28/10/2015 16:59

Vous êtes dans un espace restreint en écriture. Catégorie: tools

Ansible est une plate-forme logicielle libre pour la configuration et la gestion des ordinateurs. Elle combine le déploiement de logiciels multi-nœuds, l'exécution des tâches ad-hoc, et la gestion de configuration.

Installation

cf http://docs.ansible.com/intro_installation.html

Étant un script python, je choisi d'installer ansible avec virtualenv?:

$ virtualenv virtualenv-ansible
[...]

$ . virtualenv-ansible/bin/activate

$ pip install --upgrade pip
[...]

$ pip install ansible
[...]

Configuration

Le fichier de déclaration des machine est par defaut /etc/ansible/hosts.

Il peut etre chage dans le fichier ~/.ansible.cfg:

[defaults]
inventory = hosts

Dans ce cas, le fichier devient : ./hosts

Utilisation Simple

Il est possible d'utiliser ansible sans les playbooks (liste de plays) uniquement pour les choses simple

Les playbooks

Les playbooks permettent de faire des scenarii complexes comme:

  • definir des roles a des machines
  • limiter les actions par type de machines (os, version etc...)
  • limiter les actions par tags
  • executer le playbook sur un sous-ensemble et un ou des tags

Role simple : partager /etc/hosts

  • Structure de fichiers:
 roles/
   hosts/
     tasks/
       main.yml
     files/
       hosts

Le rôle dans le fichier roles/hosts/tasks/main.yml:

---
- name
: Add standard /etc/hosts
  copy
: src=hosts dest=/etc/hosts owner=root group=root mode=644 backup=yes
  • ecriture d'un playbook pour ce role hosts.yml:
---
- name
: Basic post-install
  hosts
: all
  remote_user
: root
  roles
:
  - role
: hosts
    tags
: hosts
  • execution du playbook en test
$ ansible-playbook hosts.yml --check
PLAY [Basic post-install] *****************************************************

GATHERING FACTS ***************************************************************
ok: [selkirk]
[...]

TASK: [hosts | Add standard /etc/hosts] ***************************************
ok: [selkirk]
[...]

PLAY RECAP ********************************************************************
selkirk : ok=2 changed=0 unreachable=0 failed=
[...]
  • execution en limitant a la machine heyward:
$ ansible-playbook hosts.yml -l heyward
[...]
  • execution en limitant a la machine heyward pour le tag hosts:
$ ansible-playbook hosts.yml -l heyward -t hosts
[...]

Bugs Connus

Error when running ansible (json module not found)
Il faut installer python-simplejson sur les CentOS
http://docs.ansible.com/intro_installation.html#managed-node-requirements

Liens Externes

Catégories

À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 28/10/2015 16:59