How to: Create a BIG-IP Next instance locally on KVM¶
Use these instructions to install a new BIG-IP Next Instance virtual machine on a KVM hypervisor, set the password, and apply a base configuration. After completing the steps, the BIG-IP Next Instance is ready to be discovered and managed by the BIG-IP Next Central Manager.
Prerequisites¶
KVM QEMU 6.2 on Ubuntu 22.04.
Supported machine types are i440fx and q35.
BIG-IP Next VE is compatible with most KVM-based hypervisor setups under the following conditions:
Utilization of the standard KVM qcow2 or ova image for BIG-IP Next VE from MyF5 Downloads.
Implementation of the virtio networking driver (Note: SR-IOV compatibility may vary).
Possession of a standard BIG-IP Next VE license.
Ensuring that neither you nor any third-party cloud/hypervisor vendor has altered the base image to accommodate environment-specific or hypervisor-specific customizations.
Deployment with either the i440FX or QEMU Q35 machine types when utilizing F5’s virtio synthetic driver.
CLI utilities to work with KVM images:
virtinst
,virt-inst
,virt-viewer
,virsh
,cloud-localds
Instance - sizes for deployment:
vCPUs | Memory |
---|---|
2 | 8 GB |
4 | 10 GB |
6 | 12 GB |
8 | 16 GB |
12 | 24 GB |
16 | 32 GB |
24 | 48 GB |
Disk resource: 80GB of disk per BIG-IP Next virtual machine (VM)
Access to MyF5 for downloads
Inputs for your network
Review the appropriate Release Notes
Procedures¶
Download a KVM Cloud Image (qcow2)¶
Log in to MyF5 Downloads.
Accept the EULA and click Next.
Under Group, select BIG-IP_Next.
Under Product Line, select Virtual Edition.
Under Select a product container, choose the appropriate version.
Under Select a download file select the qcow2 image file.
Under Download locations, select the appropriate location.
Click Download.
Repeat these steps to also download the appropriate checksum file.
Move the cloud image file to a desired location.
Create a disk image¶
Use the cloud image to create a new disk image for your instance.
Start a terminal and navigate to the path where you placed the cloud image.
Decompress the cloud image:
tar -xvf <downloaded qemu file>
.
Note the extracted filename.Copy the default cloud image to a new image:
cp <extracted filename> my-bigip-next.img
.Create a new instance (8 vCPU and 16 GB of RAM).
Allocate at least two network interfaces that use a Virtio network driver.
If you need to configure a static IP address for the primary network interface (management), proceed to Enable a static IP address.
Enable a DHCP IP address¶
If you plan on using DHCP you must download the kvm-boot.iso
to deploy your KVM instance. This will speed-up the boot time (and address a problem where DHCP may fail) and provide an experience similar to VMWare (it will enable you to login via the console using admin/admin)
Download the kvm-boot.iso for DHCP deployments you can also use this to configure a static IP address using the setup
script instead of using cloud-localds
to create a custom ISO image.
Enable a static IP address¶
Complete if you need to configure a static IP address; skip if using DHCP.
Create a file for your network configuration; it resembles a netplan format.
network: version: 2 ethernets: ens3: dhcp4: false addresses: - (Your Management IP)/(Network Mask for Management Network) routes: - to: default via: (IPv4 Gateway Address) nameservers: addresses: [(comma separated list of DNS servers)]
Example
network: version: 2 ethernets: ens3: addresses: - 192.168.122.245/24 routes: - to: default via: 192.168.122.1 nameservers: addresses: [192.168.122.1]
Use
cloud-localds
to create an ISO image.# you can also use "/dev/null" instead of "userdata" # if you do not want to allow console login cat userdata #cloud-config chpasswd: expire: false users: - name: admin password: admin type: text cloud-localds (name of file).iso -H (hostname of instance) -N (file with network config).yaml -m local userdata
Copy the ISO file to a location where it can be mounted on your instance as a CD-ROM device.
Create a virtual machine.
This example will create an instance that has 8 vCPU / 16 GB of RAM.
It will create two network interfaces. The first interface will be bridging a physical interface.
The second interface is using the “default” network (internal). Adjust to match your environment.
A minimum of two interfaces is required.
Note: If you require the q35 machine type, then in the following example use --machine pc-q35-jammy
.
virt-install \
--name bigip-next-abcd \
--virt-type kvm \
--machine pc \
--vcpus 8 \
--memory 16384 \
--network type=direct,source=[physical interface to bridge i.e. ens1f0],source_mode=bridge,model=virtio
--network model=virtio,network=external \
--disk path=/var/lib/libvirt/images/bigip-next-abcd.qcow2,device=disk \
--disk path=/var/lib/libvirt/images/bigip-next-abcd.iso,device=cdrom \
--os-variant ubuntu22.04 \
--cpuset=auto \
--noautoconsole \
--import
After the VM is deployed, verify it is running.
virsh list --all
Obtain the IP address of the device.
Thevirsh
utility allows you to retrieve the IP using thedomifaddr
command.# domifaddr my-bigip-next Name MAC address Protocol Address ------------------------------------------------------------------------------- vnet6 52:54:00:6c:5c:8c ipv4 192.168.122.245/24
Run the setup script¶
Use the setup script to configure management networking in a static IP address environment and also assist in creating data plane networking configuration.
This requires that you used the kvm-boot.iso previously when installing Next on KVM and that you have serial console access to your instance.
Help text for the script:
This setup script will help you initially configure the basic network settings for this instance.
Please answer the questions below. A default value for each parameter is indicated within the brackets. Example inputs are included within parentheses.
At the prompt, type
setup
.Type inputs.
Network with DHCP
Hostname:
Primary NTP server address (i.e. 0.pool.ntp.org) (optional):
Alternate NTP server address (i.e. 1.pool.ntp.org (optional):
Network with a management IP address (No DHCP)
Hostname:
Management IP Address & Network Mask [192.168.1.245/24]:
Management Network Default Gateway [192.168.1.1]:
Primary DNS nameserver (i.e. 192.168.1.2):
Alternate DNS nameserver (i.e. 192.168.1.3) (optional):
Primary NTP server address (i.e. 0.pool.ntp.org) (optional):
Alternate NTP server address (i.e. 1.pool.ntp.org (optional):
Configure Data Plane Networking
After configuring management networking, configure data plane networking.
Important: Use VLAN names with a maximum of only 15 characters; if longer, traffic originating from the debug sidecar will not work correctly and can cause issues when troubleshooting.
VLAN1 name (external) (optional)
VLAN1 interface [1.1]
VLAN1 self IPv4 [10.0.0.1/24]
VLAN2 name (internal) (optional)
VLAN2 interface [1.2]
VLAN2 self IPv4 [172.16.0.1/24]
Configure Static Route? (Y/n) [N]
Data-Plane Route [0.0.0.0/0]
Data-Plane Route Gateway [10.0.0.254]
Data-Plane Interface [1.1]
Admin Password
There is a prompt to set an admin password used by both the API and Linux console. SSH access to the admin account is blocked in the SSH server configuration.
Please enter a new password for the ‘admin’ user:
Please confirm the new password for the ‘admin’ user:
Note: The password must be a minimum of 15 characters and contain mixed-case letters, numbers, and special characters from the set !@#$%^&*()”””)
Summary
The Summary provides an opportunity to review the inputs. There is also the
setup
command with additional CLI arguments for running the setup script again or on another host (for example, set up a secondary instance).Sample output
Summary ------- Hostname: bigipnext1 Management Network Already Configured: False Management IP Address: 192.168.1.245/24 Management Gateway: 192.168.1.1 DNS Servers: 192.168.1.1 NTP Servers: 0.pool.ntp.org
Would you like to complete configuration with these parameters (Y/n) [N]: –> type
Y
.
The script runs. It may take several minutes to complete.
Sample output
... [info] Setting hostname to bigipnext1... [info] Waiting for BIG-IP Next API to be ready. This can take up to 5 minutes ... [info] Setting admin password [info] Getting login token [info] Waiting for all services to be ready [info] Sending initial onboarding request [info] Sending data plane route request [info] Setup completed successfully.
Onboard via Postman¶
Use this method to onboard the Next instance if you are unable to use the setup script.
Download the F5 Postman collection.
Modify the Postman variables.
Create an environment or modify the collection variables.bigip_next_1_name: (i.e. my-bigip-next) domain_name: (i.e. example.com) bigip_next_1_mgmt_ip: (i.e. value that you configured above 192.168.122.245) bigip_next_admin_password: (i.e. preferred password, minimum 15 characters)
Note: The password must be a minimum of 15 characters and contain mixed-case letters, numbers, and special characters from the set !@#$%^&*()”””)
Find the folder Virtual Edition Onboarding.
Execute the requests Reset Admin Password through Check Onboarding Job.
Add an instance to BIG-IP Next Central Manager¶
Installation is now complete. You can add the new instance to BIG-IP Next Central Manager. See: How to: Add a locally-onboarded BIG-IP Next instance to BIG-IP Next Central Manager