Usuario:Luis.perez/sistemaspyaytozgz/ansible

"'Ansible is a radically simple configuration-management, deployment, task-execution, and multinode orchestration framework'"


 * Ejecución sobre ssh -> No son necesarios servidores centralizados ni agentes en las máquinas a gestionar.
 * Scripts son un DSL de configuración muy simple que usa módulos
 * Los módulos pueden escribirse en cualquier lenguaje, aunque el ansible está escrito en python (los módulos han de producir JSON)
 * Curva de aprendizaje mínima
 * Toda su funcionalidad expuesta en api python

- hosts: webservers vars: http_port: 80 max_clients: 200 user: root tasks: - name: ensure apache is at the latest version action: yum pkg=httpd state=latest - name: write the apache config file action: template src=/srv/httpd.j2 dest=/etc/httpd.conf notify: - restart apache - name: ensure apache is running action: service name=httpd state=started handlers: - name: restart apache action: service name=httpd state=restarted

Módulos
http://ansible.cc/docs/modules.html


 * Número relativamente pequeño de módulos "core".
 * Muy sencillo trabajar con commandos de shell
 * Muy sencillo crear y gestionar módulos propios

Máquinas: Inventario

 * Las máquinas y grupos de máquinas se pueden configurar en un simple archivo de texto plano


 * 1) /etc/ansible/hosts

mail.example.com [webservers] foo.example.com bar.example.com [dbservers] one.example.com two.example.com three.example.com


 * Puede obtener el inventario y variables de configuración de otros servidores:
 * cobbler (ansible es del mismo creador)
 * Amazon EC2
 * facter (puppetlabs)
 * Ohai (opscode)

Creación de módulos
Ejemplo: https://github.com/luisperlaz/ansible-misc-modules