Parameters to Mark a Virtual Service or Pool Up

Overview

Starting with Avi Vantage release 18.2.1, you can specify the minimum threshold parameters for a virtual service or a pool to make it serviceable.

This article explains the virtual service and pool configurations to define the parameters.

Note: These parameters can be defined only via the CLI currently.

Virtual Service Configuration

Use min_pools_up to specify the minimum number of pools out of a single pool group in a virtual service, that have to be up to mark the virtual service as up.

min_pools_up for a virtual service is configured as shown below.


[admin:abc-ctrl]: virtualservice> min_pools_up 3
[admin:abc-ctrl]: virtualservice> save
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
| uuid                               |virtualservice-9c5eee94-fd57-      | 
|                                    |4ef6-b912-fadbb10ae464             |
|name                                |vs-1                               |
|----------------------truncated output----------------------------------|
|min_pools_up                        |3                                  |
+------------------------------------+-----------------------------------+

Verify the configuration as shown below.


[admin:abc-test-ctrl]: > show  virtualservice vs_1
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
| uuid                               |virtualservice-9c5eee94-fd57-      | 
|                                    |4ef6-b912-fadbb10ae464             |
|name                                |vs-1                               |
|----------------------truncated output----------------------------------|
|use_vip_as_snat                     |false                              |
|traffic_enabled                     |true                               |
|min_pools_up                        |3                                  |
+------------------------------------+-----------------------------------+

Pool Configurations

  • Use min_servers_up to specify the minimum number of servers required to be up for the pool’s health to be marked as available. If this parameter is not defined, the pool is marked as available as long at least one server is up.

  • Use min_health_monitors_up to specify the minimum number of health monitors required to succeed, to decide whether to mark the corresponding server as up.If this parameter is not defined, the server is marked as up only if all the health monitors are successful.

min_servers_up and min_health_monitors_up are configured in a pool as shown below.


[admin:abc-ctrl]: pool> min_servers_up 2
[admin:abc-ctrl]: pool> min_health_monitors_up
INTEGER     Minimum number of health monitors in UP state to mark server UP.
[admin:abc-ctrl]: pool> min_health_monitors_up 1
[admin:abc-ctrl]: pool> save
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
|uuid                                |pool-6fb04b70-5547-4232-b7b7-      |
|                                    |33e72ee33d64                       |
|--------------------------truncated output------------------------------|
|min_servers_up                      |3                                  |
|min_health_monitors_up              |1                                  |
+------------------------------------+-----------------------------------+

Verify the configuration as shown below.


[admin:abc-test-ctrl]: > show pool vs_1-pool
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
|uuid                                |pool-6fb04b70-5547-4232-b7b7-      |
|                                    |33e72ee33d64                       |
|--------------------------truncated output------------------------------|
|min_servers_up                      |3                                  |
|min_health_monitors_up              |1                                  |
+------------------------------------+-----------------------------------+

In the following image, note that two servers are marked down. This does not meet the minimum threshold (three servers in up state). Therefore, the pool is marked down and is not available for any virtual service referencing it.

server-state-down

Note: If the minimum threshold parameters are not defined, Avi Vantage retains the default behavior.

Use Cases

Minimum Health Monitors

Avi Vantage designates a server as up only when all the monitors bound to it are up. If one of the health monitors mark it down, Avi Vantage considers the server as down.

In scenarios where multiple services are monitored on a backend server using separate monitors. If either one is available, Avi Vantage will mark tha server as up. For example, GET for /foo.html and GET for /bar.html. If either is available, Avi Vantage marks the server up.

In a similar use case, to specify the minimum number of health monitors required to succeed, and to decide whether to mark the corresponding server as up, define the parameter min_health_monitors_up. If this parameter is not defined, the server is marked as up only if all the health monitors are successful.

Minimum Servers

Avi Vantage marks a pool as up when one of the servers present in that pool is up. In a scenario where atleast two servers are required to be marked as up to mark the pool as up, the option min_servers_up can be used to specify the numbers of servers that should be up to mark the pool as up. If this parameter is not defined, the pool is marked as available as long at least one server is up.