Exercise 1.2 - Adding nodes to F5 BIG-IP

Read this in other languages: uk English, japan 日本語.

Table of Contents

Objective

Demonstrate use of the BIG-IP node module to add two RHEL (Red Hat Enterprise Linux) web servers as nodes for the BIG-IP load balancer.

Guide

Step 1:

Using your text editor of choice create a new file called bigip-node.yml.

[student1@ansible ~]$ nano bigip-node.yml

vim and nano are available on the control node, as well as Visual Studio and Atom via RDP

Step 2:

Enter the following play definition into bigip-node.yml:

---
- name: BIG-IP SETUP
  hosts: lb
  connection: local
  gather_facts: false

Do not close the editor yet.

Step 3

Next, append the first task to above playbook. This task will use the bigip_node module configure the two RHEL web servers as nodes on the BIG-IP F5 load balancer.

  tasks:
    - name: CREATE NODES
      f5networks.f5_modules.bigip_node:
        provider:
          server: "{{private_ip}}"
          user: "{{ansible_user}}"
          password: "{{ansible_password}}"
          server_port: 8443
          validate_certs: false
        host: "{{hostvars[item].ansible_host}}"
        name: "{{hostvars[item].inventory_hostname}}"
      loop: "{{ groups['web'] }}"

A loop will repeat a task on a list provided to the task. In this case it will loop twice, once for each of the two web servers.

Save the file and exit out of editor.

Step 4

Run the playbook - exit back into the command line of the control host and execute the following:

[student1@ansible ~]$ ansible-playbook bigip-node.yml

Playbook Output

The output will look as follows.

[student1@ansible]$ ansible-playbook bigip-node.yml

PLAY [BIG-IP SETUP] ************************************************************

TASK [CREATE NODES] ************************************************************
changed: [f5] => (item=node1)
changed: [f5] => (item=node2)

PLAY RECAP *********************************************************************
f5                         : ok=1    changed=1    unreachable=0    failed=0

Solution

The finished Ansible Playbook is provided here for an Answer key. Click here: bigip-node.yml.

Verifying the Solution

Login to the F5 with your web browser to see what was configured. Grab the IP information for the F5 load balancer from the lab_inventory/hosts file, and type it in like so: https://X.X.X.X:8443/

Login information for the BIG-IP:

The list of nodes can be found by navigating the menu on the left. Click on Local Traffic-> then click on Nodes. f5web

You have finished this exercise. Click here to return to the lab guide