Skip to content
WorldTech IT home

NGINX Ingress Controller

The NGINX Ingress Controller pairs NGINX OSE & Plus software load balancers with automated configs for reliable & secure Kubernetes apps.

Kubernetes makes it easy to deploy container‑based applications. Production applications running on Kubernetes, however, need a proven, production‑grade application delivery solution. The NGINX Ingress Controller combines the trusted NGINX Open Source and NGINX Plus software load balancers with automated configuration to ensure that applications in your Kubernetes cluster are delivered reliably, securely, and at high velocity.

Production-Grade Control of Ingress-Egress Traffic

Secure, Strengthen, and Scale Your Kubernetes Apps

Kubernetes is the de-facto standard for managing containerized apps, as evidenced by the Cloud Native Computing Foundation (CNCF)’s 2020 survey, which found that 91% of respondents are using Kubernetes, 83% of them in production.

However, running Kubernetes in production is fraught with business-critical issues, the most serious of which are culture, complexity, and security. The first step to solving these issues is a production-grade Ingress controller.

The Ingress controller can be far more than a specialized load balancer. To be production-grade, it needs features that:

  • Streamline security
  • Increase resiliency
  • Enable rapid scalability

NGINX Ingress Controller combines trusted NGINX software load balancing with simplified configuration based on standard Kubernetes Ingress resources or custom NGINX Ingress resources, to ensure that applications in your Kubernetes cluster are delivered reliably, securely, and at high velocity.

Why Use NGINX Ingress Controller?

Feel confident with a stable, reliable Ingress Controller tested by NGINX and covered by 24×7 support for commercial customers.

Production-Grade Features

Strengthen and scale your apps with advanced app-centric configuration, visibility, and performance monitoring

Secure Containerized Apps

Shift security left with authentication, authorization, and a fully integrated WAF

Total Traffic Management

Easily and intelligently manage ingress and egress app traffic in one fell swoop

Reduce Complexity

Configure using standard Kubernetes Ingress resources or leverage NGINX Ingress resources. With NGINX Ingress resources, you get a native, type-safe, and indented configuration style to simplify capabilities like circuit breaking, sophisticated routing, header manipulation, mTLS authentication, and WAF. Plus if you’re already using NGINX, NGINX Ingress resources make it easy to adapt existing configurations from your other environments.

Improve Resiliency

Support blue-green deployments, canary releases, A/B testing, and circuit breakers via the advanced load balancing and request routing features available in NGINX Ingress resources. Perform basic and out-of-band application health checks (also known as synthetic transactions), with a slow-start feature to gracefully add new and recovered servers into the load-balanced group. Add the always-free NGINX Service Mesh to seamlessly and intelligently manage your ingress and egress application traffic in one fell swoop.

Provide Self-Service and Multi-Tenancy

Use role-based access control (RBAC) and self-service to set up security guardrails (not gates), so your teams can manage their apps securely and with agility. Enable multi-tenancy, reusability, simpler configs, and more

Get Traffic Insights

Improve visibility in Kubernetes with real-time statistics about application traffic flow (for NGINX Plus) and historical views enabled by detailed logging capabilities, plus native Prometheus integration and Grafana dashboards.

Secure Containerized Apps

Optimize SSL/TLS termination performance with configurable encryption (including wildcard certificates) and secure your applications using JWT authentication and single sign-on (SSO). Deploy WAF at the point of ingress or elsewhere in your clusters with NGINX App Protect.

Wondering which NGINX Ingress Controller version is right for your organization? Compare the options.

NGINX Ingress Controller Sizing Guides

Bare Metal Servers

The table below outlines the performance levels you can achieve with the NGINX Ingress Controller running on specific server sizes. Each row details the specifications of the hardware you need to achieve each level of performance, along with the typical cost for that hardware.

To derive the performance numbers, we install Kubernetes version 1.13.1 on a cluster of two bare-metal servers (primary node and secondary node). The primary node under test is running the NGINX Ingress Controller image pulled from Docker Hub. No other containers are running on the primary node. Sizing was achieved by limiting the number of cores available to the dedicated NGINX Ingress Controller container. Flannel is used as the networking overlay stack for joining the primary node with the secondary node. The secondary node is dedicated to one web server pod. No other containers are running on the secondary node.

NGINX does not sell hardware; the costs presented here are typical costs you can expect to pay when purchasing from a retailer.

Hardware Cost1 Hardware Specs Expected Performance
$1,400 2 CPU cores2 8 GB RAM 2×10 Gbe NIC 1 TB HDD 74,000 RPS3 8,700 SSL TPS (RSA)4 9,100 SSL TPS (ECC)5 4 Gbps throughput
$2,500 4 CPU cores 8 GB RAM 2×10 Gbe NIC 1 TB HDD 150,000 RPS 17,400 SSL TPS (RSA) 17,600 SSL TPS (ECC) 8 Gbps throughput
$3,600 8 CPU cores 16 GB RAM 2×10 Gbe NIC 1.2 TB HDD 300,000 RPS 30,000 SSL TPS (RSA) 33,000 SSL TPS (ECC) 8 Gbps throughput
$5,600 16 CPU cores 32 GB RAM 2×10 Gbe NIC 480 GB SSD 340,000 RPS 55,000 SSL TPS (RSA) 57,000 SSL TPS (ECC) 8 Gbps throughput
$7,300 24 CPU cores 32 GB RAM 2×10 Gbe NIC 480 GB SSD 340,000 RPS 58,100 SSL TPS (RSA) 58,500 SSL TPS (ECC) 8 Gbps throughput

RKE Bare Metal

The table below outlines the performance levels you can achieve with NGINX Ingress Controller and Rancher Kubernetes Engine (RKE) – the managed Rancher Kubernetes service – on Dell PowerEdge R630 servers running CentOS 7, along with the typical cost for that hardware purchased from a retailer.

Cores1 RPS2 SSL TPS (RSA)3 SSL TPS RSA with HyperThreading Hardware Cost
1 24,000 900 1,000 $750
2 48,000 1,750 1,950 $750
4 95,000 3,500 3,870 $1,300
8 190,000 7,000 7,800 $2,200

Amazon EKS

The table below outlines the performance levels you can achieve with NGINX Ingress Controller and Amazon Elastic Kubernetes Service (EKS) – the AWS managed Kubernetes service – on specific AWS instance types, along with the estimated monthly total cost of ownership (TCO).

AWS Instance Type Cores RPS1 SSL TPS (RSA)2 Average Monthly TCO3
c5n.large 1 45,000 6,700 $100
c5n.large 2 80,000 12,600 $100
c5n.xlarge 4 135,000 23,000 $200
c5n.2xlarge 8 175,000 40,000 $400
c5n.4xlarge 16 237,000 68,5000 $795
c5n.9xlarge 32 290,000 88,800 $1,790
c5n.9xlarge 36 300,000 92,800 $1,790

About the Performance Metrics

Requests per second (RPS) – Measures the ability of NGINX Ingress Controller to process HTTP requests. The client sends requests over keepalive connections. NGINX Ingress Controller processes
each request and forwards it to a web server over a separate keepalive connection.

SSL transactions per second (SSL TPS) – Measures the ability of NGINX Ingress Controller to process new SSL/TLS connections. Clients send a series of HTTPS requests, each on a new connection. NGINX Ingress Controller parses the requests and forwards them onto a web server over an established keepalive connection. The web server sends back a 0-byte response for each request.

Throughput – Measures the volume in gigabits per second (Gbps) of traffic that NGINX Ingress Controller can sustain when serving large files over HTTP.

Memory Sizing

NGINX Ingress Controller memory usage grows slowly with the number of concurrently active connections. Though dependent on the configuration, it is typically less than 10–20 KB per connection. When caching is enabled, NGINX Ingress Controller might need more memory. Size the memory so that there is sufficient unused memory to store the hot cached content in the operating system page cache.

Perfect Forward Secrecy

The SSL TPS numbers presented above are for SSL/TLS with Perfect Forward Secrecy (PFS). PFS ensures that encrypted traffic captured now can’t be decrypted at a later time, even if the private key is compromised. PFS is recommended to provide maximum protection and user privacy in the current security climate.

PFS is more computationally expensive and as a result, gives lower overall TPS. Most other vendors do not specify whether they are using PFS (and so probably are not); keep this in mind when doing comparisons.

Contact us

Need Help? Contact WorldTech IT Today!

Tell us about your requirements and our team will assist you shortly.

Get Help Today