This section discusses the steps to configure Controller sites and then switching between them through the NSX Advanced Load Balancer UI.

Synchronize the list of sites across all participating Controller sites using a script, Ansible or Terraform, to create a primary list of Controller sites. Thereafter, this information is propagated to every Controller deployment using one of the automation methods.

For example, to define the trio of Controller sites mentioned in the subsequent Controller Site Selector Use section, you must have two JSON payloads to POST to each /api/controllersite. The two POSTs from any given Controller must point to the other two. Thus, in this example, there is a total of six POSTs.

Note:

Adding the local Controller as a Controller site entry is no longer required. If at least one record does not match the current site, then NSX Advanced Load Balancer automatically shows the current site’s hostname (if applicable) or IP address.

From the Earth site:

{

"name": "Mars",

"address": "192.0.2.20"

}, {

"name": "Venus",

"address": "192.0.2.30"

}

From the Mars site:

{

"name": "Earth",

"address": "192.0.2.10"

}, {

"name": "Venus",

"address": "192.0.2.30"

}

From the Venus site:

{

"name": "Earth",

"address": "192.0.2.10"

}, {

"name": "Mars",

"address": "192.0.2.20"

}

POST (all releases)



Note:
  • A Controller site maps to one Controller name and IP address. Thus, for the feature to work with any Controller in a cluster, three local Controller names and corresponding IP addresses must be configured as sites. In the above example, consider three POSTs as shown below:

    {

    "name": "Earth",

    "address": "192.0.2.10"

    }, {

    "name": "Earth2",

    "address": "192.0.2.11"

    }, {

    "name": "Earth3",

    "address": "192.0.2.12"

    }

  • The REST API call api/controllersite reveals the set to which the user has the PERMISSION_CONTROLLERSITE access right. Lack of PERMISSION_CONTROLLERSITE hides the Controller site name and drop-down icon from the main menu bar.

  • Controller sites can only be added/modified through the CRUD call at /api/controllersite with X-Avi-Version set in the header. Adding a Controller site to a list of sites requires that at least two fields be given in the payload, name and address.

  • Site configuration is locally significant, that is, adding site2 to site1’s list does not automatically result in site1 appearing in site2’s list.

Controller Site Selector Use

  1. When there is but one Controller site record in the set, just the Controller’s name appears to the left of the ellipsis (three dots).



  2. On the other hand, if there are multiple records, a V-shaped drop-down icon appears to the left of the ellipsis (three dots).



  3. Clicking on the drop-down icon reveals the Controller sites within the set to which the user has access.



  4. Hovering over a particular Controller name causes it to be highlighted. Select the Controller to switch to that site.

  5. The selected Controller opens in a new tab, while the previous tab remains open in the background. The user can now communicate directly with the new Controller. Due to SSO being active, no login screen was presented by the first Controller. The login was performed automatically, behind the scenes.