Installing BIG-IP Next on Nutanix Community Edition
Recently, I’ve had a few questions about installing F5 BIG-IP Next on Nutanix. I took some time to get it to work on Nutanix Community Edition and found some problems along the way.
BIG-IP Next can run on a KVM hypervisor like Nutanix AHV, but today it requires some customizations (or disabling of customizations) to get things to run properly.
About Nutanix
Nutanix providers a platform that can support either an ESXi or a Nutanix AHV (KVM) based hypervisor. The platform can run on various hardware platforms.
Nutanix Community Edition
The "Community Edition" of Nutanix provides a method to try a similar experience to the commercial version of Nutanix on lab equipment. I utilized the CE software in my home lab to test out deploying BIG-IP Next.
Loading the Software Into Prism
"Prism" is the management GUI that Nutanix uses to manage your virtual machines. The first step I took was to download the qcow images of BIG-IP Next and BIG-IP Next Central Manager and load them into the Prism image repository. This can be done via the GUI or the CLI. The following is an example of using the CLI to load the images in from a local host that is hosting the qcow images (make sure to expand the tar.gz file of the Next image to get the qcow image).
acli image.create BIG-IP-Next-CentralManager-20.2.1-0.3.25 source_url=http://192.168.1.2/BIG-IP-Next-CentralManager-20.2.1-0.3.25.qcow image_type=kDiskImage container=default-container-97327794862244
acli image.create BIG-IP-Next-20.2.1-2.430.2+0.0.48 source_url=http://192.168.1.2/BIG-IP-Next-20.2.1-2.430.2+0.0.48.qcow2 image_type=kDiskImage container=default-container-97327794862244
Booting with NoCloud
In my lab environment, I wanted to use static IP addresses for my virtual machines. Based on the KVM documentation for Next I would need to use the utility cloud-localds to create an ISO image of a NoCloud CDROM image that Next would use to configure a static IP.
For Central Manager I used the following network interface file
ethernets:
ens3:
dhcp4: false
addresses: [192.168.1.5/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
version: 2
and for my Next instance
ethernets:
ens3:
dhcp4: false
addresses: [192.168.1.7/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
version: 2
I then used cloud-localds to generate the ISO image (using /dev/null for an empty userdata file)
cloud-localds central-manager.iso -H my-central-manager -N central-manager.yaml -m local /dev/null
cloud-localds next-instance.iso -H my-next-instance -N next.yaml -m local /dev/null
With these ISO images created I uploaded them to Prism as ISO images into the image repository.
acli image.create central-manager-nocloud source_url=http://192.168.1.2/central-manager.iso image_type=kIsoImage container=[target container]
acli image.create next-nocloud source_url=http://192.168.1.2/next-instance.iso image_type=kIsoImage container=[target container]
If you are using DHCP you can omit the YAML file and just use the following:
cloud-localds central-manager.iso -H my-central-manager -m local /dev/null
cloud-localds next-instance.iso -H my-next-instance -m local /dev/null
Assembling Your Virtual Machine
After creating the necessary disk images, I could proceed with creating my Central Manager and Next instance.
The Central Manager instance was pretty straight-forward. 8 vCPU / 16 GB of RAM and a single interface. The CLI commands to create the instance and clone the Central Manager disk and CDROM images.
acli vm.create my-central-manager memory=16G num_cores_per_vcpu=1 num_vcpus=8
acli vm.disk_create my-central-manager clone_from_image="BIG-IP-Next-CentralManager-20.2.1-0.3.25"
acli vm.disk_create my-central-manager cdrom=true clone_from_image=central-manager-nocloud
acli vm.nic_create my-central-manager connected=true network=management
# Central Manager also requires specific CPU flags to support x86-64-v2, I found that adding the following allowed it to work OK
acli vm.update my-central-manager cpu_passthrough=true
The Next instance requires one important change. You need to disable branding! Normally Nutanix will report that the "vendor" is "Nutanix". This currently causes an issue that prevents the Next instance from starting properly. I have found that disabling branding will allow the Next instance to start properly. I am also specifying a separate data-plane interface for the Next instance.
acli vm.create my-next-instance memory=16G num_cores_per_vcpu=1 num_vcpus=8 disable_branding=True
acli vm.disk_create my-next-instance clone_from_image="BIG-IP-Next-20.2.1-2.430.2+0.0.48"
acli vm.disk_create my-next-instance cdrom=true clone_from_image=next-instance-nocloud
acli vm.nic_create my-next-instance connected=true network=management
acli vm.nic_create my-next-instance connected=true network=external
Onward
After completing these steps, I was able to successfully bring up a BIG-IP Next Central Manager and BIG-IP Next virtual machine in a Nutanix CE environment. Hopefully this helps you on your journey to BIG-IP Next.
Thx Eric for this article.