Extensibility with NGINX Plus
This document explains how F5 NGINX Plus can extend the functionality of the F5 NGINX Ingress Controller.
The NGINX Ingress Controller works with NGINX as well as NGINX Plus, a commercial closed source version of NGINX which has additional features and support from NGINX Inc. The NGINX Ingress Controller can leverage functionality from NGINX Plus to extend its base capabilities.
- Real-time metrics: Metrics for NGINX Plus and application performance are available through the API or the NGINX Status Page. These metrics can also be exported to Prometheus.
- Additional load balancing methods: The
random two least_timemethods and their derivatives become available. The NGINX
ngx_http_upstream_moduledocumentation has the complete list of load balancing methods.
- Session persistence: The sticky cookie method becomes available. See the Ingress Resource and Custom Resource examples.
- Active health checks: See the Ingress Resource and Custom Resource examples.
- JWT validation: See the Ingress Resource and Custom Resource examples.
NGINX Plus features are configured for Ingress resources using Annotations that start with
The NGINX Ingress Controller updates the configuration of the load balancer to reflect changes every time the number of pods exposed through an Ingress resource changes. When using NGINX, the configuration file must be changed then reloaded.
For NGINX Plus, its dynamic reconfiguration is utilized, updating NGINX Plus without reloading. This avoids the increase of memory usage caused by reloads (Particularly with large volumes of client requests) and when load balancing applications with long-lived connections (Such as those using WebSockets or handling file uploads, downloads or streaming).