Working with NSX – Preparing The Cluster and Hosts

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.

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.

Select a cluster and choose install
Select a cluster and choose install

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.

Various NSX related installation tasks
Various NSX related installation tasks

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.

Cluster status during the install
Cluster status during the install

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.

The install is complete
The install is complete

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:

Do my bidding, API!
Do my bidding, API!

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.