Cluster Requirements¶
Overview¶
Prior to integrating Cloud-Native Network Functions (CNFs) into the Robin Cloud-Native Platform (CNP), review this document to ensure the required software components are installed and properly configured.
Software support¶
The CNFs and Robin software versions listed below are the tested versions. F5 recommends these versions for the best performance and installation experience.
CNFs | Robin CNP |
---|---|
1.1.0 | 5.3.11-217 |
1.0.4 - 1.0.5 | 5.3.11-104 |
1.0.0 | 5.3.5-207 |
CPU Allocation¶
Multiprocessor servers divide memory and CPUs into multiple NUMA nodes, each having a non-shared system bus. The CNF Controller requires that the CPUs and SR-IOV VFs allocated to the Traffic Management Microkernel (TMM) share the same NUMA node. To ensure the NUMA node alignment is handled properly, the Robin installation must include the following parameters and values:
- The
--cpu-manager-policy
must be set to static. - The
--topology-manager-policy
must be set to single-numa-node.
CPU Hyper-threading¶
To optimize 5G workload throughput and avoid container scheduling failures, F5 recommends disabling Simultaneous multithreading (SMT) hyper-threading (HT) on those worker nodes that CNF Pods will be scheduled.
SR-IOV Support¶
Supported NICs¶
The table below lists the currently supported NICs.
NIC | VF Driver | VF PCI ID |
---|---|---|
Intel Fortville 700 series* | net_i40evf | 8086:154c |
Intel Columbiaville 800 series** | net_iavf | 8086:1889 |
*Includes XXV710 and XL710.
**Includes Ethernet Connection E822-C, E822-L, E823-L, and E823-C.
Driver requirements¶
To ensure the BIG-IP Controller discovers and properly allocates Physical Functions (PF) to the TMM container, the following PF/VF driver requirements must be met:
Upgrade the E810 ice (SR-IOV PF) driver from version 0.7.1 to version 1.6.4 or later.
Enable SR-IOV support for E810 NICs.
Replace iavf with the vfio-pci VF driver in /etc/modprobe.d/vfio.conf:
blacklist iavf options vfio-pci ids=8086:1889
Enable both IOMMU and hugepages in /etc/default/grub file:
GRUB_CMDLINE_LINUX should include iommu=pt intel_iommu=on hugepagesz=2M hugepages=32768 default_hugepagesz=2M vfio-pci.ids=8086:1889
Generate GRUB configuration file. The commands may differ if you are using BIOS or UEFI:
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Load the VFIO modules at boot time by adding the below entries to the /etc/modules-load.d/vfio.conf file:
vfio vfio-pci
Configure VFs for SR-IOV capable NICs by adding the entries below to the /etc/rc.d/rc.local file:
Note: You may need to run chmod +x /etc/rc.d/rc.local.
echo 16 > /sys/class/net/p1p1/sriov_numvfs echo 16 > /sys/class/net/p1p2/sriov_numvfs
Reboot the worker node.
Confirm hugepages are enabled on the worker node:
grep HugePages_Total /proc/meminfo
HugePages_Total: 32768
Confirm the VFIO modules have loaded:
lsmod | grep -i vfio
vfio_pci 41993 0 irqbypass 13503 2 kvm,vfio_pci vfio_iommu_type1 22440 0 vfio 32657 2 vfio_iommu_type1,vfio_pci
If the VF resources are not discovered by Kubernetes, use the
robin host probe
command to rediscover the host configuration:robin host probe [<hostname>|--all] --rediscover
IP Pools¶
Configure the Robin IP Pools parameters with the following values:
- Set the
--spoofchk-disabled
parameter. - Set the
--trusted
parameter. - Do not set the
--vlan
parameter, use the F5BigNetVlan CRtag
parameter.
Example:
robin ip-pool add robin-pool-1095 --ranges 10.144.100.1-255 --prefix 16 --driver sriov \
--nictags name=p1p1 --vfdriver vfio-pci --trusted --spoofchk-disabled
Persistent storage¶
The required Fluentd logging collector, dSSM database and Traffic Management Microkernel (TMM) Debug Sidecar require an available Kubernetes persistent storage to bind to during installation.
Next step¶
Continue to the Getting Started guide to begin integrating CNFs.
Feedback¶
Provide feedback to improve this document by emailing cnfdocs@f5.com.