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?:

(:source:) $ 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: (:source:) [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: (:source lang=yaml:) --- - 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:

(:source lang=yaml:) --- - name: Basic post-install hosts: all remote_user: root roles: - role: hosts tags: hosts

  • execution du playbook en test

(:source:) $ 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:

(:source:) $ ansible-playbook hosts.yml -l heyward [...]

  • execution en limitant a la machine heyward pour le tag hosts:

(:source:) $ 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