This section covers the configuration steps for topology policy to select the GSLB Service pool using NSX Advanced Load Balancer CLI.
To configure the topology policy to select the GSLB service pool:
Procedure
- Enable topology policy at GSLB Service level by setting the topology_policy_enabled knob to True.
[admin:ctrl]: > configure gslbservice GS-1
Updating an existing object. Currently, the object is:
+----------------------------------+--------------------------------------------------+
| Field | Value |
+----------------------------------+--------------------------------------------------+
| uuid | gslbservice-88ad049f-e188-40f3-90de-235c6cb676a2 |
| name | GS-1 |
| domain_names[1] | foo.avi.com |
| groups[1] | |
| name | GS-1-pool-1 |
| priority | 9 |
| algorithm | GSLB_ALGORITHM_CONSISTENT_HASH |
| members[1] | |
| ip | 10.10.10.1 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 2 |
| members[2] | |
| ip | 10.10.10.2 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 4 |
| enabled | True |
| groups[2] | |
| name | GS-1-pool-2 |
| priority | 10 |
| algorithm | GSLB_ALGORITHM_ROUND_ROBIN |
| members[1] | |
| ip | 10.10.10.3 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 1 |
| members[2] | |
| ip | 10.10.10.4 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 1 |
| enabled | True |
| down_response | |
| type | GSLB_SERVICE_DOWN_RESPONSE_NONE |
| controller_health_status_enabled | True |
| health_monitor_scope | GSLB_SERVICE_HEALTH_MONITOR_ALL_MEMBERS |
| enabled | True |
| use_edns_client_subnet | True |
| wildcard_match | False |
| site_persistence_enabled | False |
| pool_algorithm | GSLB_SERVICE_ALGORITHM_PRIORITY |
| min_members | 0 |
| resolve_cname | False |
| is_federated | True |
| tenant_ref | admin |
+----------------------------------+--------------------------------------------------+
[admin:ctrl]: gslbservice> topology_policy_enabled
[admin:ctrl]: gslbservice> save
The GSLB service is configured as shown below:
+----------------------------------+--------------------------------------------------+
| Field | Value |
+----------------------------------+--------------------------------------------------+
| uuid | gslbservice-88ad049f-e188-40f3-90de-235c6cb676a2 |
| name | GS-1 |
| domain_names[1] | foo.avi.com |
| groups[1] | |
| name | GS-1-pool-1 |
| priority | 9 |
| algorithm | GSLB_ALGORITHM_CONSISTENT_HASH |
| members[1] | |
| ip | 10.10.10.1 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 2 |
| members[2] | |
| ip | 10.10.10.2 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 4 |
| enabled | True |
| groups[2] | |
| name | GS-1-pool-2 |
| priority | 10 |
| algorithm | GSLB_ALGORITHM_ROUND_ROBIN |
| members[1] | |
| ip | 10.10.10.3 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 1 |
| members[2] | |
| ip | 10.10.10.4 |
| ratio | 1 |
| enabled | True |
| resolve_fqdn_to_v6 | False |
| preference_order | 1 |
| enabled | True |
| down_response | |
| type | GSLB_SERVICE_DOWN_RESPONSE_NONE |
| controller_health_status_enabled | True |
| health_monitor_scope | GSLB_SERVICE_HEALTH_MONITOR_ALL_MEMBERS |
| enabled | True |
| use_edns_client_subnet | True |
| wildcard_match | False |
| site_persistence_enabled | False |
| pool_algorithm | GSLB_SERVICE_ALGORITHM_PRIORITY |
| min_members | 0 |
| resolve_cname | False |
| is_federated | True |
| tenant_ref | admin |
| topology_policy_enabled | True |
+----------------------------------+--------------------------------------------------+
[admin:ctrl]: >
- Configure topology policy rule for GSLB service group selection.
- Use the gs_group_selection command to select a GSLB service pool or group for matching DNS query.
- Use the group_name command to add GSLB service group name.
[admin:ctrl]: > configure dnspolicy dns-vs-TopologyPolicy-0
Updating an existing object. Currently, the object is:
+------------+------------------------------------------------+
| Field | Value |
+------------+------------------------------------------------+
| uuid | dnspolicy-e3aae711-7617-439f-912a-dea3945d39e1 |
| name | dns-vs-TopologyPolicy-0 |
| tenant_ref | admin |
+------------+------------------------------------------------+
[admin:ctrl]: dnspolicy> rule
New object being created
[admin:ctrl]: dnspolicy:rule> name "Rule 1"
[admin:ctrl]: dnspolicy:rule> index 1
[admin:ctrl]: dnspolicy:rule> match
[admin:ctrl]: dnspolicy:rule:match> geo_location
[admin:ctrl]: dnspolicy:rule:match:geo_location> match_criteria IS_IN
[admin:ctrl]: dnspolicy:rule:match:geo_location> geolocation_tag "East Coast"
[admin:ctrl]: dnspolicy:rule:match:geo_location> save
[admin:ctrl]: dnspolicy:rule:match> save
[admin:ctrl]: dnspolicy:rule> action
[admin:ctrl]: dnspolicy:rule:action> gs_group_selection
[admin:ctrl]: dnspolicy:rule:action:gs_group_selection> group_name "GS-1-pool-2"
[admin:ctrl]: dnspolicy:rule:action:gs_group_selection> save
[admin:ctrl]: dnspolicy:rule:action> save
[admin:ctrl]: dnspolicy:rule> save
[admin:ctrl]: dnspolicy> save
Results
The topology policy is configured as shown below:
+---------------------------------+------------------------------------------------+
| Field | Value |
+---------------------------------+------------------------------------------------+
| uuid | dnspolicy-e3aae711-7617-439f-912a-dea3945d39e1 |
| name | dns-vs-TopologyPolicy-0 |
| rule[1] | |
| name | Rule 1 |
| index | 1 |
| enable | True |
| match | |
| geo_location | |
| match_criteria | IS_IN |
| use_edns_client_subnet_ip | True |
| geolocation_tag | East Coast |
| action | |
| gs_group_selection | |
| group_name | GS-1-pool-2 |
| tenant_ref | admin |
+---------------------------------+------------------------------------------------+
[admin:ctrl]: >