Using Ansible to deliver at speed and scale

Ansible provides an extremely powerful framework to provision and configure network and application resources quickly and consistently allowing exterprises and service providers to efficiently deploy, configure and scale their application delivery environment.

Kemp Ansible Modules

Kemp’s Ansible modules provide a native integration to simplify the configuration of LoadMaster resources. All automation is performed via Kemp 360 Central which offers a single point of authentication for all LoadMaster resources and abstraction of the LoadMaster API removing the need for in-depth knowledge of the LoadMaster architecture.

Get Started

Ansible automation is delivered via Kemp 360 Central V2.4 or later and requires a minimum LoadMaster version of 7.2.48.

Get the Kemp Ansible Modules, documentation and example playbooks.

Download

Example LoadMaster Ansible Playbook

This playbook (included in the module download) configures a virtual service named ‘Pathos’ with 10 application endpoints configured with port numbers from 8000 to 8010 on a single server. As Kemp 360 Central has access to all configured LoadMasters, only the Kemp 360 Central API key is required.

- name: Create a small configuration for LoadMaster
  hosts: localhost

  vars:
    central_address: ''
    central_username: ''
    central_api_key: ''
    lm_address: ''
    ip: ''
    port: 443
    prot: 'tcp'
    rs_ip: ''

  tasks:
    - name: Create Virtual Service Pathos on LM
      virtual_service:
        central_address: '{{ central_address }}'
        central_username: '{{ central_username }}'
        central_api_key: '{{ central_api_key }}'
        lm_address: '{{ lm_address }}'
        enable: 'Y'
        nickname: 'Pathos'
        ip: '{{ ip }}'
        port: '{{ port }}'
        protocol: '{{ prot }}'
        vs_type: 'http'
        ssl_acceleration: 1
        check_type: 'icmp'
        qos: 'Maximize-Reliability'
        transparent: 1
    - name: Create 10 real servers in sequence
      real_server:
        central_address: '{{ central_address }}'
        username: '{{ central_username  }}'
        lm_address: '{{ lm_address }}'
        api_key: '{{ central_api_key }}'
        vs_ip: '{{ ip }}'
        vs_port: '{{ port }}'
        vs_prot: '{{ prot }}'
        rs_ip: '{{ rs_ip }}'
        rs_port: '{{ item }}'
      with_sequence: start=8000 end=8010 format='%d'