Pool Group Sharing Across Virtual Services

Overview

Starting with release 18.1.2, Avi Vantage supports the sharing of pool groups across multiple virtual services. The feature supports use cases wherein the same back-end servers are being used by different virtual services, each virtual service having its own purpose and properties. A pool group  is a list of member (server) pools, combined with logic to select a member from the list. Like a pool, a pool group can be shared by the same type of Layer 7 virtual service. This article explains the feature’s capabilities, the related CLI commands, and the present limitations.

Pool Group Sharing

A virtual service might refer to a given pool group through multiple techniques:

  • As the default pool group defined for a virtual service.
  • Through policy-based content-switching, a virtual service might choose one of its pool groups
  • Via DataScript, a virtual service might programmatically choose one of its pool groups

A pool group can be referenced by multiple virtual services. In accessing the shared pool group, each virtual service can independently use any one of the multiple techniques listed above. As before, a virtual service may access multiple pools, some of them shared and others not. Virtual services sharing a pool group need not be placed on the same SE group.

Note: This feature is supported for combinations of IPv4, IPv6 and IPv4v6 addresses.

Restrictions

These are some restrictions when sharing a pool group.

  1. Only similar virtual services can share a pool group
  2. Layer 4 virtual service cannot share a pool group as yet.
  3. A pool can be part of multiple pool groups either through the same virtual service or different virtual services.
  4. If pool or pool group is selected using a service_port_selector, then it can’t be shared.
  5. Pool groups cannot contain pool groups.
  6. A pool directly linked to a virtual service should not be part of a pool group.

Note: Some of these restrictions may be removed in the future releases.

Configuring Pool Group Sharing

While working with pools or pool groups continue to be the same, with pool group sharing,

  • There is an increased number of pool group choices when configuring a virtual service.
  • There are more ways to extract pool-related information when querying for statistics.

To assign a pool group to an existing virtual service,

  1. Navigate to Applications > Virtual Services. Virtual Services
  2. Click on the edit icon against the required virtual service.
  3. Select Pool Group in the Edit Virtual Service: screen. Edit Virtual Services
  4. Select the required pool groups from the list. The Edit Virtual Service: screen appears as shown in the following figure: More pool choices Note: You can create a pool group by clicking on Create Pool Group or navigating to Applications > Pool Groups > Create Pool Group. To know more, check the Configuration section in the Pool Groups KB.
  5. Click on Save.

The selected pool groups are now assigned to the required virtual services. With pool group sharing, you can see there is a broader set of pool groups available.

Reporting

To view the overall setup of the pool groups,

  1. Navigate to Applications > Dashboard.
  2. Click on the View VS Tree filter.
  3. Select the specific virtual service. Pool group sharing set up with the virtual service is represented as shown in the following image: Multiple virtual services

Click on a virtual service to view the pool groups associated. The following image shows the Virtual Service screen for a selected virtual service, with the pool groups shared: Virtual Service display continues to show multiple pools

You can see the ability for a single virtual service to be associated with multiple pool groups.