You can specify the minimum threshold parameters for a virtual service or a pool to make it serviceable. This section explains the virtual service and pool configurations to define the parameters through the CLI.

Virtual Service Configuration

When a virtual service references multiple pools, either through the use of Pool Groups or Content Switching, the min_pools_up parameter may be used to specify the minimum number of those pools that must be in UP state in order for the virtual service itself to be marked 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 as 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                                  |
+------------------------------------+-----------------------------------+

For example, If 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.

Note:

If the minimum threshold parameters are not defined, Avi Load Balancer retains the default behavior.

Use Cases:Minimum Health Monitors

Avi Load Balancer designates a server as UP only when all the monitors bound to it are UP. If one of the health monitors marks it DOWN, Avi Load Balancer 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 Load Balancer will mark that server as UP. For example, GET for /foo.html and GET for /bar.html. If either is available, Avi Load Balancer 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 Load Balancer marks a pool as up when one of the servers present in that pool is UP. In a scenario where at least 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 as at least one server is UP.

See also,