Hey Hello World,
From your requirement, I think we can try this approach,
The requirement is that DNS queries direct to only a single node in a pool.
Initially, traffic should always go to node A.
If Node A fails by monitor down, then traffic will go to Node B.
When Node A comes back online, traffic should continue to go to Node B.
When Node B fails, then the traffic should go to Node A.
First you gotta create 2 gtm pools and inside each gtm pool have 1 member alone,
- gtm pool node-a-pool member - node A
- gtm pool node-b-pool member - node B
Modify the node-a-pool's fallback mode to none, by default its return-2-dns.
modify gtm pool node-a-pool fallback-mode none
Enable manual resume feature for the node-a-pool's, by default its disabled.
modify gtm pool node-a-pool manual-resume enabled
Now have the gtm wideip added with above created pools in
modify gtm wideip pools add { node-a-pool node-b-pool } pool-lb-mode global-availability
That's it. With this,
- Initially, traffic would always go to node-a-pool, which is node A.
- If Node A fails by monitor down, then traffic will go to node-b-pool, which is Node B.
- When (node-a-pool) Node A comes back online, traffic would continue to go to (node-b-pool) Node B, because node-a-pool member Node A will be marked disabled by manual resume feature.
- When (node-b-pool) Node B fails, then the traffic should go to Node A. This will work, because the fallback mode of node-b-pool is return2dns. And it would require to have entry of node-a-pool member, which is Node A.
If you think return2dns entry is gonna be an issue for 4th point, you can still go with last resort pool method.
Let me know how it goes...