In this blog post “Prepare KVM as a fabric Node“, I will explain what is a fabric node and then how to prepare the KVM as fabric node. Before we dive into prepare KVM as fabric nodes, lets see what is a fabric node.
Fabric Node:
A fabric node is nothing but a hypervisor host which has all the required NSX-T packages installed are called the fabric nodes. The hypervisor hosts can be ESXi or KVM hosts, the KVM can be installed on Ubuntu or the Red Hat Enterprise Linux Server. In my previous blog post, I have explained the how Prepare ESXi host as a fabric node. If you have missed these posts, click on the following links:
Related posts:
- NSX-T 2.1 Complete video series:
- Part 01: Introduction to NSX-T
- Part-02 NSX-T Architecture
- Part-03 Deploying NSX-T Manager Virtual Machine on ESXi host
- Part-04 Configuring NSX-T Control cluster
- Part 05 Deploying NSX-T Edge node on ESXi
- Part 06 Prepare ESXi host as fabric node
In this blog post, we will see how to prepare the KVM hosts as fabric nodes via the NSX-T Manager GUI
KVM Supported Versions:
- RHEL 7.4
- Ubuntu 16.04.2 LTS
For more information please refer to the Product Compatibility Matrix Guide: https://www.vmware.com/resources/compatibility/sim/interop_matrix.php
Required Packages:
Before proceeding with the prepare KVM host as fabric node step, make sure all the required packages are installed on the Ubuntu KVM hosts:
apt upgrade apt-get install libunwind8 libgflags2v5 libgoogle-perftools4 traceroute apt-get install python-mako python-simplejson python-unittest2 python-yaml python-netaddr apt-get install libboost-filesystem1.58.0 libboost-chrono1.58.0 libgoogle-glog0v5 apt-get install dkms apt-get install libboost-date-time1.58.0 python-protobuf python-gevent libsnappy1v5 libleveldb1v5 qemu-kvm libvirt-bin virtinst virt-manager virt-viewer ubuntu-vm-builder bridge-utils apt-get install libboost-program-options1.58.0
Prepare KVM as a fabric Node:
The ESXi and KVM hypervisor hosts can be configured as a fabric node in one of the following two ways:
- Download and install the packages (VIBs/Debian) on ESXi or KVM and then register it with the NSX-T Manager via CLI
- Register via the NSX-T Manager GUI, where the NSX-T Manager will push the packages on to the ESXi/KVM hosts
Register KVM as a fabric node via GUI:
So lets login to the NSX-T manager with the admin user credentials to install the packages on ESXi and Ubuntu KVM hosts.
Username: admin Password: <password>
- From the NSX-T Manager home page, expand Fabric, click Nodes and from the Hosts tab click + ADD
- On the Add Host page, type the following details and click SAVE
- Name: <Hypervisor host name>
- IP Addresses: <IP Address of the Hypervisor Hosts>
- Operating System: from the drop-down menu select ESXi, the possible options are ESXi | Ubuntu KVM | Red Hat KVM
- Username: Username of the administrator account [type root for ESXi]
- Password: administrator account password [type root account password for ESXi host]
- SHA-256 Thumbprint: The thumbprint is optional, however, it is recommended to enter the SHA-256 thumbprint in the production environment to avoid Man-in-the-middle [MITM] attacks
To get the SHA-256 Thumbprint, run the following command with the root Credentials:
awk '{print $2}' /etc/ssh/ssh_host_rsa_key.pub | base64 -d | sha256sum -b | sed 's/ .*$//' | xxd -r -p | base64
- Click Yes on Invalid Thumbprint
- The NSX-T Manager will now push the Debian Packages on to the Ubuntu KVM hosts and configures the Ubuntu KVM as a fabric node. Once the Packages are installed, you will see the Deployment status as NSX Installed as shown in the following screenshot.
NSX-T Debian Package on KVM:
The following list of Debian packages are installed on to the KVM hosts after the “Prepare KVM host as fabric Node” step, each Debian package provides a different functionality to the ESXi hosts.
To verify the list of packages installed, run the dpkg -l | grep nsx command. This command lists the installed Debian packages, nsx-t version, architecture, and a brief description of the package.
root@kvm-01a:~# dpkg -l | grep nsx
nsx-aggservice:
The nsx-aggservice is a host [ESXi/KVM] specific library for NSX-T aggregation service, and there is also an aggregation service runs on the NSX-T Manager. This service on the ESXi host fetches the runtime information from the NSX-T components and presents into the nsx-exporter service
nsx-da:
The nsx-da is an NSX Discovery Agent on ESXi/KVM, which collects the data about the hypervisor version, virtual machines, and network interfaces. This information will then be presented to the management plane and is used in the troubleshooting tools.
nsx-host:
The nsx-host installed on ESXi/KVM provides the metadata for the VIB bundle installed on the ESXi host.
nsx-lldp:
The nsx-lldp is a Link Layer Discovery Protocol (LLDP) installed on ESXi/KVM, used by the network devices for advertising the capabilities, identity and neighbors on a VLAN network
nsx-mpa:
The nsx-mpa is management plane agent installed on ESXi/KVM, which provides communication between the NSX Manager and hypervisor hosts. The NSX-Manager runs the RabbitMQ Server and the nsx-mpa acts as a rabbitMQ client to exchange information between the NSX-Manager and hypervisor host.
nsx-netcpa:
The nsx-netcpa installed on ESXi/KVM, is local control plane agent running on the hypervisor hosts to communicate with the NSX Controller nodes. The NSX Controller nodes runs the Central Control Plane (nsx-ccp) agent. The hosts nsx-netcpa communicates with the nsx-ccp. The netcpa receives the networking state/configuration from the Central Control Plane(nsx-ccp) and then programs this network state in the data plane.
nsx-sfhc:
The nsx-sfhc installed on ESXi/KVM, is a NSX Service Fabric Host Component(SFHC), which provides a host agent for managing the lifecycle of the hypervisor as a fabric host in the Management Planes inventory. This will also provide a channel for operations such as NSX-T upgrade and uninstall and monitoring of NSX-T modules on hypervisor hosts. While dealing with Upgrading the NSX-T environment using Upgrade Coordinator, check the status of this service on the ESXi/KVM hosts.
nsx-cli:
The nsx-cli is very useful command line (CLI) tool on the KVM hosts to run the NSX Specific commands and to interact with the hypervisor hosts. Very useful tool which is used extensively for the purposes of troubleshooting.
nsx-support-bundle-client
The nsx-support-bundle-client installed on ESXi/KVM, provides an ability to collect the support and log bundles on the ESXi/KVM hosts.
Conclusion:
So in this blog post, we have discussed the following:
- What is Fabric Node?
- How to configure the KVM host as a fabric node?
- What are the different Debian packages installed on KVM?
- What is the functionality of each Debian package?
Youtube Video:
I hope this is informative for you and thank you for reading. Please do subscribe to my blog and Youtube Channel.