Red Hat OpenShift is a container platform built on top of Kubernetes, the leading container orchestration and management system. OpenShift is available both as an open source project, OpenShift Origin, and a commercially supported product, OpenShift Container Platform.
OpenShift adds developer and operations-centric tools on top of Kubernetes and extends it with security and other integrated features. One of those features, called the Router, provides edge request routing and load balancing for applications deployed on OpenShift. We are happy to announce today that NGINX and NGINX Plus now fully integrate with the OpenShift platform, and both can be used as a Router.
Editor’s note: Visit NGINX at the Red Hat Summit in San Francisco on May 8-10. See the demo of NGINX/NGINX Plus Router in booth 443.
What is the Router?
The Router acts as the entry point for all external requests coming to applications running on OpenShift, which makes the Router one of the most critical parts of the platform. The Router’s job is to identify the appropriate application for a particular request and then route the request to an instance of that application. Thus, the Router provides edge load balancing for applications on OpenShift.
The Router load balances HTTP and WebSocket traffic, with support for TLS termination and TLS between the Router and application instances. Additionally, the Router can load balance TLS connections in a pass-through mode (without decrypting them). OpenShift includes a special resource named Route for configuring the Router.
If the Router goes down or isn’t able to operate properly, applications become unavailable to clients. This makes it crucial that the Router be built on top of a proven and reliable technology. The Router is a pluggable part of OpenShift, meaning that OpenShift users can choose a Router implementation that satisfies their requirements and preferences.
A note about Kubernetes Ingress: The built-in Kubernetes Ingress resource, also available in OpenShift, offers similar features for edge load balancing as the Router. Both NGINX and NGINX Plus support Ingress resources with our NGINX Ingress Controller for Kubernetes. That said, Red Hat’s current recommendation is to use their Route resource, because the Ingress resource is still a technology preview feature on OpenShift, and the standard Ingress features are limited compared with what the Route resource provides.
NGINX and NGINX Plus Routers
NGINX has a proven record of adoption on container platforms, with more than 10 million pulls from Docker Hub of its container image and more than a million pulls of the Ingress controller for Kubernetes. We are excited to extend our existing offerings to OpenShift users with Router implementations built on top of our technology.
Key features of our Router implementations include:
- Full support of the Route specification. NGINX Router fully supports the features defined by the Route resource.
- Customization options. Various customization options and extra features are available through environment variables and Route annotations – a common approach in other Router implementations.
- Familiar operational experience. NGINX Router is integrated in OpenShift through the Template Router software, the same software that underpins the default Router implementation. As a result, you get the familiar operational experience, which makes it easier to migrate from the default Router implementation.
- NGINX performance and stability. With NGINX Router you get the performance and reliability of NGINX software.
- Latest NGINX features. We are also excited to bring our new features, such as native support for gRPC load balancing, into the OpenShift Router. As new features are made available in NGINX and NGINX Plus, they can be incorporated into the Router’s capabilities.
- Open source. The implementation of the NGINX Router is fully open source, hosted in the OpenShift Origin repo.
- Advanced features and commercial support. With the NGINX Plus Router, you get the additional benefits of NGINX Plus, such as its monitoring API and dashboard, as well as available 24x7 support from NGINX, Inc.
How to Get Started
The NGINX Router is included in OpenShift 3.10 -- soon to be released, as of the publication of this post -- and is already available in the latest sources of the OpenShift Origin project. The NGINX Plus Router is hosted separately in our GitHub repo.
The NGINX and NGINX Plus Routers brings reliability, performance, and needed features into a core component of the OpenShift platform – the Router.
We’d like to thank our colleagues at Red Hat who helped us create this full-featured solution.