Inventory –> hosts (/etc/ansible/hosts)
Playbook –> Cambio automatizado en archivo YAML
Comandos AD_HOC:
ansible -m ping all
–> Verificar si todos los hosts responden
ansible all -a "comando" -f 1
–> Ejecuta un comando en todos los HOST, con frecuencia de 1 en 1
ansible server1 -m setup
–> extraer la info de un HOST
ansible all -u root -m cron -a "name='tarea' hour=4 job='/tarea.sh'"
–> Añadir tarea al cron
ansible all -m file -a "dest=/var/www/index.html mode=0644 state=touch"
–> Crear fichero
ansible all -m file -a "dest=/var/www/index.html mode=0644 state=absent"
–> borrar fichero
ansible all -m shell -a 'fdisk -l' -u user1 --become -K
–> ejecutar comando como root (solicita password)
ansible server1 -m copy -a 'src=/home/user1/nginx.yml dest=/home/user1/Desktop/ owner=root mode=0644' -u root --become -K
–> copiar de un origen a un destino en los hosts
ansible server1 -m apt -a 'name=nginx state=latest' --become
–> instala paquete con APT
Ejecutando playbooks:
ansible-playbook -i hosts playbook.yml
–> ejecutar playbook
Ejemplos de playbooks: