Ad-hoc commando’s
ansible all -m ping
ansible web -m shell -a "uptime"
ansible all -m apt -a "name=nginx state=present" --become
ansible all -i inventory.ini -m setup facts ophalen
Inventory
[web]
web1 ansible_host=10.0.0.1
web2 ansible_host=10.0.0.2
[web:vars]
ansible_user=deploy
Playbook
- name: Webservers configureren
hosts: web
become: true
vars:
pkg: nginx
tasks:
- name: Pakket installeren
apt:
name: "{{ pkg }}"
state: present
- name: Service draaien
service:
name: nginx
state: started
enabled: true
notify: restart nginx
handlers:
- name: restart nginx
service: { name: nginx, state: restarted }
Draaien
ansible-playbook site.yml
ansible-playbook site.yml -i inventory.ini --check dry-run
ansible-playbook site.yml --limit web1
ansible-playbook site.yml --tags deploy
ansible-playbook site.yml --ask-become-pass
ansible-vault encrypt secrets.yml secrets versleutelen
Veelgebruikte modules: apt/yum, copy, template, file, service,
user, git, command/shell, lineinfile.