Cluster Requirements¶
Overview¶
Prior to integrating Cloud-Native Network Functions (CNFs) into the OpenShift cluster, review this document to ensure the required software components are installed and properly configured.
Software support¶
The CNFs and Red Hat software versions listed below are the tested versions. F5 recommends these versions for the best performance and installation experience.
CNFs | OpenShift |
---|---|
1.2.1 - 1.3.3 | 4.12 and 4.14 |
1.1.1 | 4.12 |
1.1.0 | 4.10.32 |
Pod Networking¶
To support low-latency 5G workloads, CNFs relies on Single Root I/O Virtualization (SR-IOV) and the Open Virtual Network with Kubernetes (OVN-Kubernetes) CNI. To ensure the cluster supports multi-homed Pods; the ability to select either the default (virtual) CNI or the SR-IOV / OVN-Kubernetes (physical) CNI, review the sections below.
Network Operator¶
To properly manage the cluster networks, the OpenShift Cluster Network Operator must be installed.
Important: OpenShift 4.8 requires configuring local gateway mode using the steps below:
Create the manifest files:
openshift-install --dir=<install dir> create cluster
Create a
ConfigMap
in new manifest directory, and add the following YAML code:apiVersion: v1 kind: ConfigMap metadata: name: gateway-mode-config namespace: openshift-network-operator data: mode: "local" immutable: true
Create the cluster:
openshift-install create cluster --dir=<install dir>
The Cluster Network Operator installation on Github.
SR-IOV¶
Supported NICs¶
The table below lists the currently supported NICs.
NICs | PF PCI IDs | VF PCI IDs | Firmware | Tested on software version |
---|---|---|---|---|
Mellanox ConnectX-5 | 15b3:1017 | 15b3:1018 | 16.32.1010 | 4.12 |
Mellanox ConnectX-6 Dx | 15b3:101d | 15b3:101e | 22.36.1010 | 4.14 |
E810-C | 8086:1592 | 8086:1889 | 2.15 0x800049c3 1.2789.0 | 4.14 |
VF Configuration¶
To define the SR-IOV Virtual Functions (VFs) used by the Service Proxy Traffic Management Microkernel (TMM), configure the following OpenShift network objects:
- An external and internal Network node policy.
- An external and internal Network attachment definition.
- Set the
spoofChk
parameter tooff
. - Set the
trust
parameter toon
. - Set the
capabilities
parameter to'{"mac": true, "ips": true}'
. - Do not set the
vlan
parameter, set the F5BigNetVlantag
parameter.
- Set the
Refer to the CNFs Config File Reference for examples.
CPU Allocation¶
Multiprocessor servers divide memory and CPUs into multiple NUMA nodes, each having a non-shared system bus. When installing the CNFs Controller, the CPUs and SR-IOV VFs allocated to the Service Proxy TMM container must share the same NUMA node. To ensure the CPU NUMA node alignment is handled properly by the cluster, install the Performance Addon Operator and ensure the following parameters are set:
- Set the Performance Profile’s Topology Manager Policy to
single-numa-node
. - Set the CPU Manager Policy to
static
in the Kubelet configuration.
Scheduler Limitations¶
The OpenShift Topology Manager dynamically allocates CPU resources, however, the version 4.7 Scheduler currently lacks two features required to support low-latency 5G applications:
- Simultaneous Multi-threading (SMT), or hyper-threading awareness.
- NUMA topology awareness.
Lacking these features, the scheduler can allocate CPUs to Numa core IDs that provide poor performance, or insufficient resources within a NUMA node to schedule Pods. To ensure the Service Proxy TMM Pods install with sufficient Numa resources:
- Disable SMT - To install Pods with Guaranteed QoS, each OpenShift worker node must have Simultaneous Multi-threading (SMT) disabled in the BIOS.
- Use Labels or Node Affinity - To assign Pods to worker nodes with sufficient resources, use Labels or Node Affinity. For a brief overview of using labels, refer to the Using Node Labels guide.
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 the CNFs software components.
Feedback¶
Provide feedback to improve this document by emailing cnfdocs@f5.com.
Supplemental¶
- The CNI project.
- CNFs Networking Overview.