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 …….