Automation, Linux

How to Install & Configure Ansible on Ubuntu Server

If you ever wanted to manage multiple servers in your data center from a centralized location, ansible is the right choice when...

· >
ansible-install-configure-ubuntu

If you ever wanted to manage multiple servers in your data center from a centralized location, ansible is the right choice when it comes to automation and orchestration of network infrastructure. This is really core of NetDevOps. It quotes

Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.

In this lesson, we will learn to install & configure ansible on your ubuntu machine 18.04 LTS. So lets get started.

First of all login to your Ubuntu machine with sudo privilege users and update / upgrade the repositories.

sudo apt update && sudo apt upgrade -y

Dependencies

Ansible depends on Python in order to run its modules, so lets install python on our ubuntu server if not already installed.

sudo apt-get install python -y

Ansible Installation

Before proceeding for installation of ansible, add the following repositories to your ubuntu machine and update apt again to take affect & then install it.

$sudo apt install software-properties-common
$sudo apt-add-repository ppa:ansible/ansible
$sudo apt-get update
$sudo apt install ansible -y
Update apt repos & Install Ansible

Once installation is done, you can check its working by running the ping module against localhost

$ansible localhost -m ping
Check Installation of Ansible

Following response should appear if ansible is installed properly.

Setting-up Ansible Node & SSH Access

At this point Ansible is installed, now we need to configure it. Start by adding remote servers IP address which needs to be managed in our ansible server’s hosts file.

$sudo nano /etc/hosts
192.168.162.230 centos
192.168.162.254 ubuntu
/etc/hosts

Next, generate SSH keys on ansible server by issuing below command.

$ssh-keygen
Generate SSH Keys

Now transfer the keys to remote hosts which you want to manage but before executing below command, SSH server must be installed & enabled on remote hosts. Assuming that on remote server SSH service is enabled perform below task.

ssh-copy-id -i .ssh/id_rsa.pub ubuntu
ssh-copy-id -i .ssh/id_rsa.pub centos
Copy SSH keys to hosts

Now ansible server must have SSH access to these hosts, now we need to provide ansible user sudo access without any password. To do so, login to each server and perform following steps.

#ssh ubuntu
#sudo visudo
Edit the sudoers file

at the bottom of visudo fiel add following line with username of ansible server which is in my case “techacad”.

ANSIBLE_USERNAME ALL=(ALL) NOPASSWD: ALL
Paste at the bottom of sudo file

save and exit the file. Next Add these nodes to ansible inventory by editing /etc/ansible/hosts file with your favorite editor.

[Linux Hosts]
ubuntu
centos
/etc/ansible/hosts

Additionaly you can also specify username to use, like so.

ubuntu ansible_user=administrator
/etc/ansible/hosts

save & close the file, now to check wheter ansible is able to reach nodes in its inventory, execute:

ansible -m ping all

That’s it, Congratulations, Ansible is now installed and communicating with nodes in its inventory. In this lesson we learnt how to install & configure ansible on ubuntu server. Now You’re now ready to start creating playbooks.

close

Sign up to receive awesome content in your inbox, every month.

We don’t spam! Read our privacy policy for more info.

Leave a Reply

Your email address will not be published. Required fields are marked *