The very first step to harnessing the power of Ansible is configuring your environment. This activity goes over installing Ansible on a control node and configuring two managed servers for use with Ansible. We will also create a simple inventory and run an Ansible command to verify our configuration is correct.
*This course is not approved or sponsored by Red Hat.*
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Install Ansible on the control node.
To install Ansible on the control node, run
sudo yum install ansible
.- Configure the `ansible` user on the control node for ssh shared key access to managed nodes. Do not use a passphrase for the key pair.
- To create a keypair for the ansible user on the control host, run the following:
sudo su - ansible
ssh-keygen
(accept all defaults: press enter for each prompt)- Copy the
public key
to bothnode1
andnode2
. - As the ansible user on the control host:
ssh-copy-id node1
(accept the host key if prompted, authenticate as ansible user)ssh-copy-id node2
(accept the host key if prompted, authenticate as ansible user)
- To create a keypair for the ansible user on the control host, run the following:
- Create a simple Ansible inventory on the control node in `/home/ansible/inventory` containing `node1` and `node2`.
- On the control host:
sudo su - ansible
(if not already ansible user)touch /home/ansible/inventory
echo "node1" >> /home/ansible/inventory
echo "node2" >> /home/ansible/inventory
- On the control host:
- Configure sudo access for Ansible on `node1` and `node2` such that Ansible may use sudo for any command with no password prompt.
- Log in to
node1
ascloud_user
and edit thesudoers
file to contain appropriate access for the ansible user:ssh cloud_user@node1
sudo visudo
- Add the following line to the file and save:
ansible ALL=(ALL) NOPASSWD: ALL
- Repeate these steps for
node2
.
- Log in to
- Verify each managed node is able to be accessed by Ansible from the control node using the `ping` module. Redirect the output of a successful command to `/home/ansible/output`.
- To verify each node, run the following as the
ansible
user from the control host:ansible -i /home/ansible/inventory node1 -m ping
ansible -i /home/ansible/inventory node2 -m ping
- To redirect output of a successful command to
/home/ansible/output
:ansible -i /home/ansible/inventory node1 -m ping > /home/ansible/output
- To verify each node, run the following as the