Ansible Playbook Cheat Sheet



Cmdref.net is command references/cheat sheets/examples for system engineers. Ansible-playbook test1.yml -list-hosts # Check target hosts ansible-playbook test1. Ansible-playbook playbooks/atmoplaybook.yml -e 'ATMOUSERNAME=atmouser' Limiting Playbook/Task Runs When writing Ansible, sometimes it is tedious to make a change in a playbook or task, then run the playbook It can sometimes be very helpful to run a module directly as shown above, but only against a single development host.

Linux

Packages:

  • git
  • python
  • python-devel
  • python-pip
  • openssl
  • ansible

Linux

Be sure to install epel-release first and then update your caches (if CentOS). On Ubuntu/Debian distributions, you may install from the default repositories. Assuming CentOS, as in our course, do the following:

Pdf

sudo yum install git python python-devel python-pip openssl ansible

User Accounts

Ansible Playbook Cheat Sheet

Create a user called ansible (example) on the server you intend to use Ansible to run playbooks from AND each of the Ansible nodes you intend to run playbooks on. Set the user as a sudo-capable user and include the NOPASSWD: ALLdirective in /etc/sudoers.

Create an SSH key with ssh-keygen on the Ansible server. Exchange that key using ssh-copy-id on each of the nodes you are running playbooks on. This allows the playbook to run with escalated privileges as needed.

Configuration Files

Ansible Playbook Cheat Sheet Excel

  • /etc/ansible/ansible.cfg
    • Primary Ansible configuration file (agentless, daemon-less configuration, read on each ansible command run)
    • Uncomment “inventory” field
    • Uncomment “become user” field
  • /etc/ansible/hosts
    • Copy original to /etc/ansible/hosts.original
    • Create one or more sections with group names, sample below

Ansible Playbook Cheat Sheet Printable

Ansible Playbook Cheat Sheet

Running a command that requires sudo privileges should not be run with the sudo command, but rather the sudo parameter in the ansible command itself, like so:ansible GROUPNAME -s -a “ls -al /var/log/messages” Free home accounting software for mac.

ansible GROUPNAME-s-a'ls -al /var/log/messages'

You can also execute a single module against one or more hosts at the command line by using the module parameter. As an example:ansible GROUPNAME -s -m yum -a “name=httpd state=latest”

ansible GROUPNAME-s-myum-a'name=httpd state=latest'

Test if all machines in your inventory respond to a ping request:

ansible all-mping

YAML Structure for Playbooks

Sample Playbook with Major Sections



Comments are closed.