Skip to content

bwolmarans/SDE-NGINX-Gateway-Fabric

Repository files navigation

NGINX Gateway Fabric (NGF)

Welcome to this NGINX Gateway Fabric (NGF) project where we explore and demonstrate different use cases.

Credit

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.

NGINX Gateway Fabric

Environment

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/hosts

Note: 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.

su - f5admin

Credits:

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.

Lab Use Cases ( Lab Modules )

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.

Complete these Lab Modules/Use Cases, in order.

  1. (Optional) Kubernetes Environment Exploration and Validation
  2. (Optional) Kubernetes Services, Deployments, and Networking Refresher
  3. Upgrade NGINX Gateway Fabric to latest stable version
  4. Basic Host and Path-based Routing
  5. Cross Namespace Routing
  6. Modify Request Headers
  7. HTTPS Termination
  8. Advanced Routing and Split Traffic Connections
  9. Observability

---------------- end of main lab section ----------------------

Bonus Labs

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 on Installing NGINX Gateway Fabric

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.

Additional Resources

For more information on the Kubernetes Gateway API and the NGINX Gateway Fabric, consider the following resources:



About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors