End of Sale Notice:
F5 NGINX is announcing the End of Sale (EoS) for NGINX Controller API Management Module, effective January 1, 2024.
F5 maintains generous lifecycle policies that allow customers to continue support and receive product updates. Existing NGINX Controller API- Management customers can continue to use the product past the EoS date. License renewals are not available after September 30, 2024.
See our End of Sale announcement for more details.
End of Sale Notice:
F5 NGINX is announcing the End of Sale (EoS) for NGINX Controller Application Delivery Module, effective January 1, 2024.
F5 maintains generous lifecycle policies that allow customers to continue support and receive product updates. Existing NGINX Controller Application Delivery customers can continue to use the product past the EoS date. License renewals are not available after September 30, 2024.
See our End of Sale announcement for more details.
Install NGINX Controller on RHEL 8 (experimental)
This guide explains how to prepare your RHEL 8 system to install F5 NGINX Controller and the NGINX Controller Agent.
This topic describes an early access feature. These features are provided for you to try before they are generally available. You shouldn't use early access features for production purposes.
Preparing the F5 NGINX Controller Host
To install NGINX Controller on RHEL 8, you must complete the following steps to allow iptables-based routing for Kubernetes. Failure to complete these steps may cause the installation to hang.
Update System Packages
-
Before completing any other steps, update the packages on your system:
sudo yum -y upgrade
Install and Configure Docker
Docker isn’t available on RedHat 8 by default, so you’ll need to add a Docker repository and install the required packages:
-
Add the Docker repo:
sudo yum config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
-
Install the Docker packages:
sudo yum install docker-ce-3:19.03.15-3.el8 docker-ce-cli-1:19.03.15-3.el8 containerd.io-1.3.9-3.1.el8
-
Set up the Docker daemon:
sudo mkdir -p /etc/docker sudo vi /etc/docker/daemon.json
Paste the following JSON snippet into
daemon.json
:{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "2" }, "storage-driver": "overlay2" }
-
Run the following commands to set up the Docker service:
sudo systemctl start docker.service sudo systemctl status docker.service sudo systemctl enable docker.service
Install Required Packages and Kernel Modules
Take the following steps to install the required packages and kernel modules.
-
Install the traffic control utility:
sudo yum install iproute-tc
-
Run the following commands to ensure the required kernel modules are loaded at startup:
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf overlay br_netfilter iptable_nat EOF
-
To load the required kernel modules immediately, run the following commands:
sudo modprobe overlay sudo modprobe br_netfilter sudo modprobe iptable_nat
-
Run the following commands exactly as shown to configure the network:
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF
-
Restart the system configuration:
sudo sysctl --system
Last Steps
Take the following steps to finish preparing the RHEL 8 control plane host for NGINX Controller:
-
When installing Docker on RHEL 8, the
FORWARD
rules in the iptables are reset and need to be corrected. To do this, run the following command:sudo iptables -P FORWARD ACCEPT
-
Finally, turn off swap:
sudo swapoff -a
-
Complete the steps in the NGINX Controller Installation guide to install NGINX Controller.
Preparing the Data Plane Host
-
For the NGINX Controller Agent to work on RHEL 8, you need to install the following package on each data plane host:
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install -y xerces-c
-
Complete the steps in the NGINX Controller Agent Installation guide to install the NGINX Controller Agent.
Troubleshooting
You may encounter the following error when installing or updating NGINX Controller on RHEL 8:
Status code: 403 for https://cdn.redhat.com/content/dist/rhel8/8/x86_64/appstream/os/repodata/repomd.xml
In this case, update your subscription manager on each RHEL 8 host as follows:
sudo subscription-manager refresh