This section focuses on the following upgrade scenarios using the NSX Advanced Load Balancer UI.

  • Upgrading a global app on specific servers — The Member Disable-Enable Option

  • Upgrading a global app pervasively — The Global Service Disable-Enable Option

  • Upgrading all global apps at a specific site — The Site Disable-Enable Option

The same operations are possible from the CLI and REST API.

Caveat: Upgrade actions described below are GSLB operation actions, not GSLB-configuration-changing options. In-flight connections to a VIP/virtual service at a site are not affected. This could be potentially addressed by changing the DNS TTL, but some intermediate DNS cache may not honor the TTL; traffic may continue to arrive at the erstwhile VIP.

Upgrade a Global App on Specific Servers — The Member Disable-Enable Option

When it is time to upgrade a generally sound global application to fix bugs and/or add features, we use this option. It is graceful and non-disruptive. The fact that multiple sites are already delivering the service suggests that one site’s service can be turned off and upgraded while traditional service from N-1 remaining sites continues. This is the classical rolling upgrade scenario.

On the GSLB leader, on a site-by-site basis, use the GSLB pool editor to uncheck the Enabled option of the relevant pool member (gs11 in the case of below screenshot).

Note:

We prefer that a member virtual service be upgraded after it has reached an inactive state.

Next, make required changes to the application on the servers within that virtual service’s server pool(s), re-launch the application, and then check Enabled option.



Disabling the GSLB pool member causes NSX Advanced Load Balancer to change the global DNS (the member’s IP address is withdrawn) such that traffic to the member virtual service (gs11 in this case) ceases. Traffic remains distributed across the remaining sites that host the application.

Upgrade a Global App Pervasively — The Global Service Disable-Enable Option

In some cases, a global application needs to be suspended immediately and pervasively, for example, until some bug or security breach has been addressed at all participating sites. In this case, rather than disable a member at a time as described above, we want all members to stop as a set. The global-service-disable is the option.

On the GSLB leader, navigate to Applications > GSLB Services. Click the box at the left of the application’s row. Then click the Disable button. Do not click Delete, as that would permanently remove the global service from the system configuration.

NSX Advanced Load Balancer changes the global DNS such that the FQDN is withdrawn.

Upgrade All Global Apps at a Specific Site — The Site Disable-Enable Option

Imagine a bank of servers housing all of the enterprise’s virtualized global applications. If data center space is tight, upgrading them to next-generation servers demands a fork-lift upgrade. Running these global apps simultaneously on the old bank while also launching them on the new bank is not feasible. Downtime at the site is unavoidable, and during it, client load must be served by the remaining GSLB sites.

On the GSLB leader, navigate to Infrastructure > GSLB > Site Configuration. Check the site(s) on which you want all GSLB apps disabled. Then click the Disable button. Do not click Delete, as doing so would permanently remove the identified site(s) from the GSLB configuration.

NSX Advanced Load Balancer changes the global DNS such that the IP addresses of all virtual services at the identified site(s) participating in all global applications are withdrawn. Local applications are not affected. Responses to requests for the FQDN of global applications will contain the IP addresses of virtual services running on N-1 remaining GSLB sites.

Note:
  1. We do not allow the leader site to be disabled. To overcome this limitation, leadership should be passed over to a site that has already been upgraded. From its vantage point, the former leader can then be disabled.

  2. Once a site is re-enabled, NSX Advanced Load Balancer resynchronizes all relevant information to the newly enabled site.