Avi Networks Load Balancer


Important

Starting from TKU August 2024 we model Avi Controller nodes as Network Devices.

For more information, see (DRDC1-23301).

Product description

The Avi Vantage Platform is built on software-defined architectural principles to create a centrally managed pool of distributed load balancers to deliver application services close to the applications.

Avi Vantage brings public-cloud-like simplicity and flexibility to application services such as load balancing, application visibility and analytics, autoscaling, and complete REST API-driven automation. Avi Vantage runs on any x86 servers (VMs, bare metal, or containers) and scales up and scales down automatically, and on-demand, in response to application traffic.

REST API

All necessary information to deep model of Avi Load Balancer (Load Balancer configuration, Controller and SE version) pattern gets by REST API requests (after discover Avi Controller host by SNMP).

Requests can be send to Controller only.

Pattern uses commands:

/api/cluster – get Avi Controller cluster information

/api/cluster/runtime – get Avi Controller cluster state

/api/cluster/version – get Avi Controller version info

/api/virtualservice – get load balancer services

/api/pool – get load balancer pool and member

/api/poolgroup – match poolgroup to pool (virtualservice can refer to pool or poolgroup)

/api/vsvip - get load balancer services IP addresses

Avi Controller REST API supports 'basic authentication' or 'Avi Vantage Web API':

image2020-5-4_10-22-31.png

Triggers


Pattern

Trigger Node

Attribute

Condition

Argument

AviController

DiscoveredProcess

cmd

matches

unix_cmd 'controller'



args

matches

regex '-node_uuid=\S'

AviCluster

SoftwareInstance

type

=

Avi Controller

AviLoadBalancer

SoftwareCluster

type

=

Avi Controller Cluster

Load Balancer Model

Untitled Diagram_2.png

Modeled Components

Load Balancer Instance

The pattern creates a Load Balancer Instance with the following attributes:

Attributes

Value

key

"Avi Networks LB Instance/%avi_cluster.name%/%avi_cluster.cluster_id%"

type

'Avi Networks LB Instance'

name

A "%lb_instance_name% on %avi_cluster.vip%"

version

A version of the Avi Load Blanacer.

The pattern models a network service relationship between the Software Cluster and the Load Balancer Instance.

Load Balancer Service

The pattern creates a Load Balancer Service with the following attributes:

Attributes

Value

key

"%lb_instance_key%/%lb_service_name%/%lb_service_port%".

name

A service name.

ip_addr

A listen node IP address.

port

A listen node port.

type

Normal, Parent or Child

The pattern models a containment relationship between the Load Balancer Instance and a Load Balancer Service.

The pattern also models a containment relationship between the Load Balancer Service and a Load Balancer Pool.

Load Balancer Pool

The pattern creates a Load Balancer Pool with the following attributes:

Attributes

Value

key

"%lb_instance_key%/%lb_pool_name%"

name

A pool name.

algorithm

A algorithm used.

uuid

A UUID of the pool

The pattern models a containment relationship between the Load Balancer Instance and a Load Balancer Pool.

Load Balancer Member

The pattern creates a Load Balancer Member  for every server and populates the following attributes:

Attributes

Value

key

"%lb_instance_key%/%lb_member_ip_addr%/%lb_member_port%"

ip_addr

A server IP address.

port

A server port.

name

A server name.

short_name

A short server name

state

A server state

The pattern models a containment relationship between the Load Balancer Pool and a Load Balancer Member.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*