Installing Avi Vantage on KVM

Overview

This guide explains the installation procedure for the Avi Controller and SEs on the KVM hypervisor.

Avi Networks Cloud Application Delivery Platform (CADP) is a software-based solution that provides real time analytics, application visibility, and elastic application delivery services, such as SSL termination, load balancing, and content acceleration.

Avi Networks CADP includes two components, the Avi Controller and the Avi Service Engines (SEs). The Controller stores and manages all policies related to application delivery services and acts as a single point of control while providing GUI, REST APIs, and real time analytics services. The SEs are micro load balancers, which handle network traffic and provide application delivery services.

Prerequisites

Before starting the installation, ensure the following minimum requirements are met:

  • Host — The host hardware requirement can vary widely depending on your needs:

    • Intel Xeon with 8 cores, 16GB RAM, 256GB HDD/ SSD

    • 2 x 1Gbps NICs

  • Host OS — The following are the supported operating system:

    • Oracle Enterprise Linux 6.1.2 or later

    • Ubuntu 12.04 or later

    • Red Hat Enterprise Linux 6.5 or later

  • Software Packages required on Host — The package names can be different depending on Linux distribution.

    • qemu-kvm

    • libvirt, libvirt-client, virt-top, and virt-viewer to manage VMs

    • virt-manager for GUI (optional)

  • Avi Networks CADP Software qcow2 Image — The raw images are also available via www.avinetworks.com.

    • Avi Controller image (controller.qcow2)
    • Avi SE image (se.qcow2)
  • Avi Networks CADP Resources — The VM resource requirement can vary widely depending on your needs. The following requirements are for a single instance. For redundancy, multiple instances will be required.

    • Avi Controller: 8GB DRAM, 4 vCPUs, 64GB HDD/SSD

    • Avi SE: 2GB DRAM, 2 vCPUs, 10GB HDD

  • DHCP Service — If DHCP service is not available, extra configuration steps are required on the Avi Controller.

  • VNC Viewer — VNC viewer is required to access the console of Controller and Service Engine VMs.

You can verify if the KVM is running on your host using the following command:


lsmod | grep kvm
kvm_intel             129746  14
kvm                   436463  1 kvm_intel

Installing CDAP

The following are the steps to install CDAP:

  1. Create Linux bridges.

  2. Deploy the Avi Controller image.

    a) Connect to the Avi Controller console via virt-viewer.

    b) Find the new Controller’s management IP address via bash.

  3. Deploy the Avi SE image.

    a) Run an Avi SE initialization script on bash and specify the Avi Controller IP address.

  4. Connect to Avi UI for initial configuration.

The following is the diagrammatic representation to show the steps to deploy one Avi Controller, one Avi SE, and two bridge networks. To enable fully redundant Controller and Service Engines, additional VMs for each will need to be created.

installing-avi-kvm

Creating Linux Bridges

Create two Linux bridges, br0 and br1. br0 connects to the management VLAN and br1 connects to the data VLAN.


root@host:~#
brctl addbr br0
brctl addif br0
ifconfig br0 up

brctl addbr br1
brctl addif br1
ifconfig br1 up 

The management VLAN is used for the communication between the Avi Controller and the Avi SE. In this deployment example, a load balancing virtual service IP and servers exist on the same VLAN. If the virtual service needs to exist on a different network from the server network, then follow the same procedures to create an additional Linux bridge and network.

Deploying Avi Controller

You can either use virsh or virt-manager GUI to create VMs. In this guide virsh is used.

The following are the steps to deploy Avi Controller:

  1. Create an Avi Controller using the qcow2 image and connect it to br0.

    
     root@host:~# virt-install --name "avi-controller" --virt-type kvm  --ram 8192 --vcpus 8  
     --os-type=linux   --graphicsvnc --disk 
     path=/tmp/controller.qcow2,device=disk,format=qcow2 --import --os-variant=ubuntuquantal  
     --noautoconsole --network bridge=br0
     

    Note: You need to replace avi-controller, controller.qcow2, br0 in the above code with the appropriate data for your installation.

  2. Attach the Avi Controller VM console, using virt-viewer.

    
     export DISPLAY=
     virt-viewer "avi-controller"    </code></pre>
    
    
  3. Verify the IP address of the Avi Controller obtained via DHCP.

Deploying Avi SE

  1. Create an Avi SE, using the Avi SE qcow2 image and connect it to br0 and br1.

    
     root@host:~#virt-install --name "avi-se" --virt-type kvm  --ram2048 --vcpus 2 --os-type=linux  --graphics vnc --disk path=/tmp/se.qcow2,device=disk,format=qcow2 --import --os-variant=ubuntuquantal  --noautoconsole --network bridge=br0--network bridge=br1 
  2. Attach the Avi SE VM console, using virt-viewer. Run an initialization init_system.py script.

    
     root@Avi-Service-Engine:~#/opt/avi/scripts/init_system.py
     Is Management interface DHCP? (yes/no) : yes
     Management IP address of the controller: 10.10.10.11
     

Configuring Avi Controller

The following are the steps for initial configuration of Avi Controller:

  1. Connect to the Avi UI via a web browser. Follow the instructions of the initial setup wizard.

    a) Specify the user name, password and email ID.

    avi-vantage-settings

    b) Create an administrator account by specifying DNS Address, DNS Search Domain and NTP Address.

    system-settings

    c) Skip the infrastructure choice menu.

    import-infrastructure

The system confirms if the installation is complete by displaying the confirmation message.