Avi Networks Load Balancer
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':
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
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.