Ansible IT automation
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
ansible all -m ping
ansible <group> -m command -a
"<cmd>"
ansible-inventory --graph
ansible-playbook <file>
ansible-playbook <file> --check --diff
ansible-playbook <file> --limit <host>
ansible-vault encrypt <file>
ansible-galaxy collection install <name>
Concepts
- Inventory hosts and groups
- Playbook plays and tasks
- Modules run on targets
- Report ok / changed / failed
Ad-hoc
ansible all -m ping
ansible <pattern> -m command -a
"<cmd>"
ansible <pattern> -m shell -a
"<cmd>"
ansible <pattern> -b -m apt -a "name=<pkg>
state=present"
ansible <pattern> -m setup
ansible <pattern> -m copy -a "src=<f>
dest=<path>"
ansible <pattern> -m service -a "name=<svc>
state=restarted"
ansible <pattern> --list-hosts
ansible <pattern> -f <n>
ansible <pattern> -B <sec> -P <sec>
Playbooks
ansible-playbook <file>
ansible-playbook <file> -i <inventory>
ansible-playbook <file> --check
ansible-playbook <file> --diff
ansible-playbook <file> --syntax-check
ansible-playbook <file> --list-tasks
ansible-playbook <file> --list-hosts
ansible-playbook <file> --list-tags
ansible-playbook <file> --step
ansible-playbook <file> --start-at-task
"<name>"
ansible-playbook <file> --force-handlers
Targeting & Variables
-l <pattern> / --limit <pattern>
-t <tag> / --tags <tag>
--skip-tags <tag>
-e <key>=<value>
-e @<file>
-v / -vvv--ask-vault-pass
Privileges & Connection
-b / --become-K / --ask-become-pass
--become-user <user>
-u <user>-k / --ask-pass--private-key <file>
-c local-T <sec>Inventory
ansible-inventory --graph
ansible-inventory --list
ansible-inventory --host <host>
ansible-inventory -y --list
ansible-inventory --graph --vars
| Source | Wins over |
|---|---|
| role defaults | nothing |
| inventory vars | defaults |
| play vars | inventory |
| extra vars (-e) | everything |
Vault
ansible-vault create <file>
ansible-vault encrypt <file>
ansible-vault edit <file>
ansible-vault view <file>
ansible-vault decrypt <file>
ansible-vault rekey <file>
ansible-vault encrypt_string '<s>' --name
<var>
--vault-password-file <file>
--vault-id <label>@prompt
Galaxy
ansible-galaxy collection install <ns.name>
ansible-galaxy collection install -r requirements.yml
ansible-galaxy collection list
ansible-galaxy collection install <ns.name> -U
ansible-galaxy role install <name>
ansible-galaxy role install -r requirements.yml
ansible-galaxy role init <name>
ansible-galaxy collection init <ns.name>
ansible-galaxy role list
Docs & Config
ansible-doc <module>
ansible-doc -s <module>
ansible-doc -lansible-config dump --only-changed
ansible-config view
ansible --version
Recipes
ansible-playbook site.yml --syntax-checkansible-playbook site.yml --check --diff -l webansible-playbook site.yml -l web
# inventory.ini[web]web1.example.comweb2.example.com[web:vars]ansible_user=deploy
# site.yml- hosts: web become: true tasks: - name: nginx installed ansible.builtin.package: name: nginx state: present
ansible-vault encrypt group_vars/all/vault.ymlansible-playbook site.yml --ask-vault-pass



