Two sites were already far enough along that a global service had a reason to exist. Each site had a VCF stack and an Avi controller. What they did not have was a tested answer to “if this site is gone, does the name still resolve to the other one?” GSLB was the answer. The order of the build was the work.
The Gates
Nothing in GSLB is worth configuring until both controllers can see each other and DNS is a real service on each side, not a checkbox. The sequence we used:
- A GSLB account on both controllers. Not the day-to-day admin account reused because it was already open.
- A DNS application profile on both controllers.
- A DNS Service Engine group at each site.
- A DNS virtual service at each site.
- One site declared as the GSLB leader.
- The other site added as an active follower.
- A GSLB service for a test application, not for the first production name.
- Failover and failback proved against those DNS virtual services, from outside either controller UI.
Step 8 is the gate. If the test name does not move when the leader is failed, and move back when it returns, the production names stay where they are. Delegation and firewall rules for the real names come after that proof, not before. A name that the corporate resolvers cannot reach is not a completed GSLB service. It is a lab.
After the Proof
Two operating rules came out of the build and are cheaper to write down than to rediscover during an upgrade.
Upgrade order is fixed for every Avi upgrade from here on. The follower and the leader are not interchangeable during an upgrade window. Write the order next to the GSLB service, not in a chat log.
Loss of the leader site is a planned event, not a surprise. The follower has to be able to take leadership without a person who remembers which screen that lives on. If that procedure was not exercised in step 8, it is not a procedure.
What Stays Out of the Write-Up
The values sheet for a two-site GSLB build is site data: VIPs, SE group names, the application that goes on last. None of that belongs in a public note. The reusable part is the order. Prove the DNS virtual services fail over. Then, and only then, put a production name on the service.
NSX federation across the same two sites is a separate decision. Federation does not create GSLB, and GSLB does not require you to publish the federation uplink design to make the load-balancer story true. Keep those documents apart. The people who need the VLAN plan already have it.
The Results
The test name moved when the leader was failed, and moved back when it returned. That was the gate. Production names stayed where they were until that proof existed. Upgrade order and leader loss were written down next to the service, not left in a chat log.
Lessons Learned
A GSLB service that the corporate resolvers cannot reach is a lab. Delegation and firewall rules for the real names come after the DNS virtual services fail over, not before. The follower and the leader are not interchangeable during an upgrade. Federation does not create GSLB, and GSLB does not require the uplink design to be published for the load-balancer story to be true.
Getting Started
This post is the order. The commands that prove the move, without writing, are in the same repository.
python3 avi_migrate.py selftest
python3 avi_migrate.py status --config env.essential.yaml
python3 avi_migrate.py converge --config env.essential.yaml
Stand up the GSLB account, the DNS profile, the SE group, and the DNS virtual service on both controllers before you declare a leader. Prove failover and failback from outside either UI. Then, and only then, put a production name on the service. The tool that later moves the virtual services, and refuses to write back to the source, is avi-blue-green. Run its offline self-test before the first converge.
Conclusion
GSLB is an order, not a checkbox. Prove the name can move. Then move the names that matter.
This post is the order. The tool that moves the virtual services, and refuses to write back to the source, is the repository.
Repository: github.com/noahfarshad/avi-blue-green
Related Stories:
- Moving Avi from Blue to Green Without Ever Writing Back to Blue — the converge this design hands off to
