Set Up Your KVM Virtual Machine for a Single On-premises Server
Follow these steps to setup and configure your VM on a single server in an on-premises deployment:
Verify that your system meets the VM requirements.
Resource Minimum Requirement Processor Sixteen (16) virtual CPUs Memory 64 GB RAM Local disk storage 500 GB SSD with minimum disk IOPS of 1000 for a standard 4kb block size
(Note: This must be an SSD; use of other storage options can lead to system instability and are not supported.)
Network interface speed 1 Gb NIC Hypervisor KVM/QCOW (QEMU Copy on Write) image for servers running CentOS, Ubuntu and RedHat operating systems
Confirm that the needed ports are open for communications.You must open the following ports on your NetQ Platform:
Port or Protocol Number Protocol Component Access 4 IP Protocol Calico networking (IP-in-IP Protocol) 22 TCP SSH 179 TCP Calico networking (BGP) 443 TCP NetQ UI 2379 TCP etcd datastore 4789 UDP Calico networking (VxLAN) 6443 TCP kube-apiserver 8443 TCP Admin UI 31980 TCP NetQ Agent communication 31982 TCP NetQ Agent SSL communication 32708 TCP API Gateway
Port 32666 is no longer used for the NetQ UI.
Download the NetQ Platform image.
- On the NVIDIA Application Hub, log in to your account.
- Select NVIDIA Licensing Portal.
- Select Software Downloads from the menu.
- Click Product Family and select NetQ.
- Locate the NetQ SW 4.2 KVM image and select Download.
- If prompted, agree to the license agreement and proceed with the download.
For enterprise customers, if you do not see a link to the NVIDIA Licensing Portal on the NVIDIA Application Hub, contact NVIDIA support.
For NVIDIA employees, download NetQ directly from the NVIDIA Licensing Portal.
- On the NVIDIA Application Hub, log in to your account.
Setup and configure your VM.
Open your hypervisor and set up your VM. You can use this example for reference or use your own hypervisor instructions.
KVM Example Configuration
This example shows the VM setup process for a system with Libvirt and KVM/QEMU installed.
Confirm that the SHA256 checksum matches the one posted on the Cumulus Downloads website to ensure the image download has not been corrupted.
$ sha256sum ./Downloads/netq-4.2.0-ubuntu-18.04-ts-qemu.qcow2
$ 0A00383666376471A8190E2367B27068B81D6EE00FDE885C68F4E3B3025A00B6 ./Downloads/netq-4.0.0-ubuntu-18.04-ts-qemu.qcow2
- Copy the QCOW2 image to a directory where you want to run it.
Tip: Copy, instead of moving, the original QCOW2 image that was downloaded to avoid re-downloading it again later should you need to perform this process again.
$ sudo mkdir /vms
$ sudo cp ./Downloads/netq-4.2.0-ubuntu-18.04-ts-qemu.qcow2 /vms/ts.qcow2
- Create the VM.
For a Direct VM, where the VM uses a MACVLAN interface to sit on the host interface for its connectivity:
$ virt-install --name=netq_ts --vcpus=16 --memory=65536 --os-type=linux --os-variant=generic --disk path=/vms/ts.qcow2,format=qcow2,bus=virtio,cache=none --network=type=direct,source=eth0,model=virtio --import --noautoconsole
Replace the disk path value with the location where the QCOW2 image is to reside. Replace network model value (eth0 in the above example) with the name of the interface where the VM is connected to the external network.
Or, for a Bridged VM, where the VM attaches to a bridge which has already been setup to allow for external access:
$ virt-install --name=netq_ts --vcpus=16 --memory=65536 --os-type=linux --os-variant=generic \ --disk path=/vms/ts.qcow2,format=qcow2,bus=virtio,cache=none --network=bridge=br0,model=virtio --import --noautoconsole
Replace network bridge value (br0 in the above example) with the name of the (pre-existing) bridge interface where the VM is connected to the external network.
Make note of the name used during install as this is needed in a later step.
- Watch the boot process in another terminal window.
$ virsh console netq_ts
Log in to the VM and change the password.
Use the default credentials to log in the first time:
- Username: cumulus
- Password: cumulus
$ ssh cumulus@<ipaddr> Warning: Permanently added '<ipaddr>' (ECDSA) to the list of known hosts. Ubuntu 18.04.5 LTS cumulus@<ipaddr>'s password: You are required to change your password immediately (root enforced) System information as of Thu Dec 3 21:35:42 UTC 2020 System load: 0.09 Processes: 120 Usage of /: 8.1% of 61.86GB Users logged in: 0 Memory usage: 5% IP address for eth0: <ipaddr> Swap usage: 0% WARNING: Your password has expired. You must change your password now and login again! Changing password for cumulus. (current) UNIX password: cumulus Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Connection to <ipaddr> closed.
Log in again with your new password.
$ ssh cumulus@<ipaddr> Warning: Permanently added '<ipaddr>' (ECDSA) to the list of known hosts. Ubuntu 18.04.5 LTS cumulus@<ipaddr>'s password: System information as of Thu Dec 3 21:35:59 UTC 2020 System load: 0.07 Processes: 121 Usage of /: 8.1% of 61.86GB Users logged in: 0 Memory usage: 5% IP address for eth0: <ipaddr> Swap usage: 0% Last login: Thu Dec 3 21:35:43 2020 from <local-ipaddr> cumulus@ubuntu:~$
Verify the platform is ready for installation. Fix any errors indicated before installing the NetQ software.
cumulus@hostname:~$ sudo opta-check
Change the hostname for the VM from the default value.
The default hostname for the NetQ Virtual Machines is ubuntu. Change the hostname to fit your naming conventions while meeting Internet and Kubernetes naming standards.
Kubernetes requires that hostnames are composed of a sequence of labels concatenated with dots. For example, “en.wikipedia.org” is a hostname. Each label must be from 1 to 63 characters long. The entire hostname, including the delimiting dots, has a maximum of 253 ASCII characters.
The Internet standards (RFCs) for protocols specify that labels may contain only the ASCII letters a through z (in lower case), the digits 0 through 9, and the hyphen-minus character ('-').
Use the following command:
cumulus@hostname:~$ sudo hostnamectl set-hostname NEW_HOSTNAME
Add the same NEW_HOSTNAME value to /etc/hosts on your VM for the localhost entry. Example:
127.0.0.1 localhost NEW_HOSTNAME
The final step is to install and activate the NetQ software using the CLI: