Welcome to this NGINX Gateway Fabric (NGF) project where we explore and demonstrate different use cases.
The original lab guide and UDF are authored by the F5 NPI Team [email protected] and [email protected] and [email protected]
This lab guide is an updated, external disconnected fork and has minor fixes.
The main copy of this lab guide is stored on the F5 private Gitlab behind the F5 VPN and is linked to from the original UDF description.
This lab guide stored in this GitHub repo is the beginnings of a resource for building training for partners, SE's customers, and others where access to the F5 VPN may be difficult and where rapid updates can be made to this lab without using F5 Gitlab.
Note: NGINX Gateway Fabric is already installed; You will do an upgrade, but this is not an installation lab.
Installation instructions are here, but you will not need them for this lab
We will be providing labs based on published use cases supported by the NGINX Gateway Fabric stable release.
Features only found in the edge release are not included in this content.
The NGINX Gateway Fabric leverages the NGINX web server as a proxy for traffic into a Kubernetes cluster. The NGINX Gateway Fabric includes a standard Kubernetes controller container that consumes yaml and produces an NGINX.conf file that is pushed to the NGINX Gateway Fabric NGINX web server container.
The live environment you will be using will be based on SDE Lab - Brett - NGF Latam Blueprint. Create and start a deployment if you have not already done so.
Note Hostnames are already configured in /etc/hosts on the Bastion Host, no other DNS servers are needed.
cat /etc/hostsNote: Starting the lab can take approximately 5 minutes
- You can access these instances via SSH from your local computer. The UDF Accessing a component via SSH article describes configuration steps to allow that.
- The UDF lab leverages Metallb to provide the LoadBalancer Kubernetes Service.
- The UDF lab also includes a deployed recent version of NGINX Gateway Fabric is installed.
- When using the WebShell login option be sure to become the f5admin user using
su - f5admin. The dash "-" is important in this example as it ensure you have a clean login as the f5admin user and start in the f5admin users home directory and not the root home directory.
This lab guide is an external disconnected fork of the original, and has updates to the original, including minor fixes. The original lab guide authored by the F5 NPI Team [email protected] and [email protected] and [email protected] The main copy of this lab guide is stored on the F5 private Gitlab behind the F5 VPN and is linked to from the UDF description. This lab guide stored in this GitHub repo is the beginnings of a resource for building training for customers, partners, and others where access to the F5 VPN may be difficult and where rapid updates can be made to this lab without using F5 Gitlab.
In this lab, you will be completing the Use Cases aka Lab Modules. Each Use Case will consist of a Demo, Lab, and Fix it.
- Demo: Instructor will drive.
- Interactive Lab: You are expected configure and validate a use case.
- Fix It: You are given a broken configuration and you are expected to fix the issue.
- (Optional) Kubernetes Environment Exploration and Validation
- (Optional) Kubernetes Services, Deployments, and Networking Refresher
- Upgrade NGINX Gateway Fabric to latest stable version
- Basic Host and Path-based Routing
- Cross Namespace Routing
- Modify Request Headers
- HTTPS Termination
- Advanced Routing and Split Traffic Connections
- Observability
These first two use cases were merged into one use case. However, you may find some unique content here that is of interest.
This bonus lab provides an example of how to use one Gateway with two namespaces and one HTTPRoute.
Note: You do NOT need to install NGINX Gateway Fabric when using the SDE UDF lab designed for this Up Skilling session.
The installation of the NGINX Gateway Fabric is simple and straightforward. You can find the documentation for the process on the NGINX docs site.
You can install NGINX Gateway Fabric using manifest charts or using helm. Using either method you must install the CRDs for the NGINX Gateway Fabric first.
There are sample configurations available in the NGINX Gateway Fabric Github repository.
For more information on the Kubernetes Gateway API and the NGINX Gateway Fabric, consider the following resources:
- Kubernetes Gateway API
- Kubernetes HTTPRoute
- NGINX Gateway Fabric Documentation
- NGINX Gateway Fabric Technical Specifications: supported software versions
- NGINX Gateway Fabric API Reference
- Kubernetes.io overview of the Gateway API

