Now that a controller cluster exists, it’s time to prepare the hosts and clusters for NSX. This will provide the necessary user space tools and kernel modules in a non-invasive fashion. I’ll walk through the steps for both a GUI and API based installation.
Contents
Cluster Installation
In order to install the NSX bits on a host, you must select an entire cluster for the installer. I would imagine this requirement exists to ensure all hosts inside of a cluster are able to provide the NSX services to the virtual machines. There would be some serious consequences if your VM moved to a host without, say, the firewall functionality and was suddenly exposed.
I’ve chosen to prepare my Lab cluster below, which consists of three ESXi 5.5 hosts. Navigate to the Web Client > Networking & Security > Installation > Host Preparation. Choose your cluster and click the Install link.

You can watch the install tasks from the web or legacy client – for flavor, I mixed it up and watched the tasks kick off in the legacy client.
Note: The ESXi hosts are never put into maintenance mode. I’m running active workloads on the host during this process.

It’s normal to see a status of Installing with a Firewall status of Unknown during the install. It took my hosts a few minutes to install and report back.

Verification
Once completed, the status will change to the version of code running in the cluster. In my case, that’s version 6.0.3. There should also be a Ready checkmark next to each host with a Firewall status of Enabled. I’ve expanded the cluster objects below so that you can see what it looks like.

API Calls
As with the NSX Controllers, you can also make an API request to the NSX Manager to complete this task. To install the software, create a POST request, or use a PUT request to upgrade the software. Note that you’ll need the cluster’s ID as shown below:
POST https://nsx-mgr-ip/api/2.0/nwfabric/configure <nwFabricFeatureConfig> <resourceConfig> <resourceId>domain-c9</resourceId> </resourceConfig> </nwFabricFeatureConfig>
Here it is in my handy Advanced REST Client for Chrome:

Next Steps
The hosts are now running all of the required NSX code. In the next post, we’ll focus on Configuring VXLAN and VTEPs so that we can start building logical switches.