The recommendation of VMware is that controllers should be deployed in a management cluster.
Although controllers can be scaled down after deployment, they are quite resource hungry, so be sure you have enough available cpu and memory.
So far we have the manager with 4 cpus and 16GB of memory (including a 16 GB memory reservation)
Initial controller size is 4 vcps and 4 GB of memory – which we will later reduce for the lab
Before starting know where you will deploy to; cluster, datastore and folder, choosing the dvportgroup, and creating the ip pool are a little more tricky, the diagram below make it a little clearer
Deploy Controller 1
From Networking and Security, Installation, click on the + for NSX Controller nodes
connect to the management portgroup and create another ip pool for the controllers
Note: The password required is longer and more complex than for hosts or the manager
If a controller doesn’t deploy, then you are going to have to troubleshoot
If it does deploy, go get yourself a coffee to celebrate
Should look like this… (if you are redeploying the id will increase on each deploy)
Deploy two more controllers, and wait for them all to show as normal.
(If you have issues with resource limitation – scale down controller-1 before deploying other controllers)
If you haven’t done so scale down controllers x2 cpus and 2 GB of memory should be enough for a lab
Once you have downsized and all controllers are up and running, connect to all three and run a couple of commands;
If you want a bit of test practice, work out who is the majority leader and who is the master controller?
# show control-cluster status
Check the join and majority status
Identify the cluster ID – should be same as first successfully deployed node
# show control-cluster startup-nodes
Check that all three controller ips are present
# show control-cluster roles
Identify the cluster master
# show control-cluster connections
Identify the persistence_server – this is the majority leader
Take note of the open conn[ection]s column in the majority leader, you should see persistence_server = 2 and client =2
If you are not seeing this check out Roie Ben Haim’s excellent post on Troubleshooting the NSX-V Controller