Rahulkant
3 min readMar 28, 2021

--

Create an Ansible Roles for Webserver and Haproxy…

Create an ansible role myapache to configure Httpd WebServer.

Create another ansible role myloadbalancer to configure HAProxy LB.

We need to combine both of these roles controlling webserver versions and solving challenge for host ip’s addition dynamically over each Managed Node in HAProxy.cfg file.

Inventory File :

[webserver]
192.168.1.108 ansible_user=root ansible_ssh_pass=password ansible_connection=ssh
192.168.1.106 ansible_user=root ansible_ssh_pass=password ansible_connection=ssh[loadbalancer]
192.168.1.107 ansible_user=root ansible_ssh_pass=password ansible_connection=ssh

Ansible Configuration File :

Create an ansible role “httpd” to configure httpd WebServer.

ansible-galaxy role init httpd

Create another ansible role “haproxy” to configure HAProxy LB.

ansible-galaxy role init haproxy

Here, we can see two roles created using command :

ansible-galaxy role list --roles-path /root/roles

Now start writing roles :

In httpd role,

  1. In tasks ;

2. In vars ;

3. In handlers ;

4. In files ;

In haproxy role,

  1. In tasks ;

2. In vars ;

3. In handlers ;

4. In templates ;

Now run the playbook ,

In Haproxy Configuration File we can see that ip’s are added dynamically over managed nodes ;

Now we have to check on browser :

If we can see while we relod our web page then ip get automatically changed then our task is successful. Let’s check

Here we go our ip changed dynamically.

Thank You

--

--