The power of Ansible comes in being able to remotely manage a fleet of servers.
For that to happen though we need to first configure our managed nodes. In this lab we’ll practice configuring these nodes.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Set up the Ansible Inventory
We need to make sure Ansible has the new servers in its inventory.
Edit/etc/ansible/hosts
and add lines similar to the following:[webservers] WebServer1 [dbservers] DBServer1 [admins] AdminServer1
- Set up Passwordless SSH Between Nodes
Note that we already have a SSH key in root’s .ssh directory. We don’t have to
create a new one though. Let’s just re-use what we have.Copy that key to one of the new servers:
ssh-copy-id ansible@WebServer1
Put in the password and the key will be copied over. Repeat this with the other
two servers.- Configure Passwordless Privilege Escalation
Connect to
WebServer1
ascloud_user
. From there, usesudo
to escalate and haveroot
privileges.As
root
, runvisudo
. Addansible ALL=(ALL) NOPASSWD: ALL
to the end of the file.Repeat this on the other two servers.
- Ensure Correct Configuration
Make sure that everything was done correctly by running
ansible all -m ping --become
to
have Ansible attempt to connect to all the other servers and escalate privileges.