All Projects β†’ nginxinc β†’ Kubernetes Ingress

nginxinc / Kubernetes Ingress

Licence: apache-2.0
NGINX and NGINX Plus Ingress Controllers for Kubernetes

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
Makefile
30231 projects
Mustache
554 projects

Projects that are alternatives of or similar to Kubernetes Ingress

Kubernetes Ingress Controller
🦍 Kong for Kubernetes: the official Ingress Controller for Kubernetes.
Stars: ✭ 1,347 (-61.82%)
Mutual labels:  ingress, k8s, ingress-controller
Nghttpx Ingress Lb
nghttpx ingress controller for Kubernetes
Stars: ✭ 115 (-96.74%)
Mutual labels:  ingress, k8s, ingress-controller
Kubernetes Pfsense Controller
Integrate Kubernetes and pfSense
Stars: ✭ 100 (-97.17%)
Mutual labels:  ingress, k8s, ingress-controller
Citrix K8s Ingress Controller
Citrix ADC (NetScaler) Ingress Controller for Kubernetes:
Stars: ✭ 256 (-92.74%)
Mutual labels:  ingress, k8s, ingress-controller
trafficserver-ingress-controller
Apache Traffic Server Ingress Controller for Kubernetes
Stars: ✭ 29 (-99.18%)
Mutual labels:  ingress, k8s, ingress-controller
Ingress Merge
Merge Ingress Controller for Kubernetes
Stars: ✭ 124 (-96.49%)
Mutual labels:  ingress, k8s, ingress-controller
Ingressmonitorcontroller
A Kubernetes controller to watch ingresses and create liveness alerts for your apps/microservices in UptimeRobot, StatusCake, Pingdom, etc. – [✩Star] if you're using it!
Stars: ✭ 306 (-91.33%)
Mutual labels:  ingress, k8s
Kube Ingress Aws Controller
Configures AWS Application Load Balancers according to Kubernetes Ingress resources
Stars: ✭ 326 (-90.76%)
Mutual labels:  ingress, ingress-controller
Application Gateway Kubernetes Ingress
This is an ingress controller that can be run on Azure Kubernetes Service (AKS) to allow an Azure Application Gateway to act as the ingress for an AKS cluster.
Stars: ✭ 448 (-87.3%)
Mutual labels:  ingress, ingress-controller
Ingress Gce
Ingress controller for Google Cloud
Stars: ✭ 1,024 (-70.98%)
Mutual labels:  ingress, k8s
Kong Ingress
[DEPRECATED] A Kubernetes Ingress for Kong
Stars: ✭ 96 (-97.28%)
Mutual labels:  ingress, ingress-controller
Apisix Ingress Controller
ingress controller for K8s
Stars: ✭ 139 (-96.06%)
Mutual labels:  ingress, k8s
K8s Bigip Ctlr
Repository for F5 Container Ingress Services for Kubernetes & OpenShift.
Stars: ✭ 204 (-94.22%)
Mutual labels:  ingress, ingress-controller
katana-skipper
Simple and flexible ML workflow engine
Stars: ✭ 234 (-93.37%)
Mutual labels:  ingress, k8s
bilrost
Kubernetes controller/operator to set up OAUTH2/OIDC security on any ingress based service
Stars: ✭ 17 (-99.52%)
Mutual labels:  ingress, k8s
loadbalancer-controller
Kubernetes loadbalancer controller to provision ingress controller dynamically
Stars: ✭ 93 (-97.36%)
Mutual labels:  ingress, ingress-controller
Kubo Deployment
Contains manifests used to deploy Cloud Foundry Container Runtime
Stars: ✭ 283 (-91.98%)
Mutual labels:  k8s
Polyaxon
Machine Learning Platform for Kubernetes (MLOps tools for experimentation and automation)
Stars: ✭ 2,966 (-15.93%)
Mutual labels:  k8s
Csi S3
A Container Storage Interface for S3
Stars: ✭ 255 (-92.77%)
Mutual labels:  k8s
Openshift Acme
ACME Controller for OpenShift and Kubernetes Cluster. (Supports e.g. Let's Encrypt)
Stars: ✭ 287 (-91.87%)
Mutual labels:  k8s

Continuous Integration FOSSA Status License Go Report Card codecov

πŸš€ Help make the NGINX Ingress Controller better by participating in our survey! πŸš€

NGINX Ingress Controller

This repo provides an implementation of an Ingress controller for NGINX and NGINX Plus.

Note: this project is different from the NGINX Ingress controller in kubernetes/ingress-nginx repo. See this doc to find out about the key differences.

What is the Ingress?

The Ingress is a Kubernetes resource that lets you configure an HTTP load balancer for applications running on Kubernetes, represented by one or more Services. Such a load balancer is necessary to deliver those applications to clients outside of the Kubernetes cluster.

The Ingress resource supports the following features:

  • Content-based routing:
    • Host-based routing. For example, routing requests with the host header foo.example.com to one group of services and the host header bar.example.com to another group.
    • Path-based routing. For example, routing requests with the URI that starts with /serviceA to service A and requests with the URI that starts with /serviceB to service B.
  • TLS/SSL termination for each hostname, such as foo.example.com.

See the Ingress User Guide to learn more about the Ingress resource.

What is the Ingress Controller?

The Ingress controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources. The load balancer can be a software load balancer running in the cluster or a hardware or cloud load balancer running externally. Different load balancers require different Ingress controller implementations.

In the case of NGINX, the Ingress controller is deployed in a pod along with the load balancer.

NGINX Ingress Controller

NGINX Ingress controller works with both NGINX and NGINX Plus and supports the standard Ingress features - content-based routing and TLS/SSL termination.

Additionally, several NGINX and NGINX Plus features are available as extensions to the Ingress resource via annotations and the ConfigMap resource. In addition to HTTP, NGINX Ingress controller supports load balancing Websocket, gRPC, TCP and UDP applications. See ConfigMap and Annotations docs to learn more about the supported features and customization options.

As an alternative to the Ingress, NGINX Ingress controller supports the VirtualServer and VirtualServerRoute resources. They enable use cases not supported with the Ingress resource, such as traffic splitting and advanced content-based routing. See VirtualServer and VirtualServerRoute resources doc.

TCP, UDP and TLS Passthrough load balancing is also supported. See the TransportServer resource doc.

Read this doc to learn more about NGINX Ingress controller with NGINX Plus.

Getting Started

  1. Install the NGINX Ingress controller using the Kubernetes manifests or the helm chart.
  2. Configure load balancing for a simple web application:
  3. See additional configuration examples.
  4. Learn more about all available configuration and customization in the docs.

NGINX Ingress Controller Releases

We publish Ingress controller releases on GitHub. See our releases page.

The latest stable release is 2.0.3. For production use, we recommend that you choose the latest stable release. As an alternative, you can choose the edge version built from the latest commit from the master branch. The edge version is useful for experimenting with new features that are not yet published in a stable release.

To use the Ingress controller, you need to have access to:

  • An Ingress controller image.
  • Installation manifests or a Helm chart.
  • Documentation and examples.

It is important that the versions of those things above match.

The table below summarizes the options regarding the images, manifests, helm chart, documentation and examples and gives your links to the correct versions:

Version Description Image for NGINX Image for NGINX Plus Installation Manifests and Helm Chart Documentation and Examples
Latest stable release For production use nginx/nginx-ingress:2.0.3, nginx/nginx-ingress:2.0.3-alpine from DockerHub or build your own image. Use the 2.0.3 image from the F5 Container Registry or Build your own image. Manifests. Helm chart. Documentation. Examples.
Edge For testing and experimenting nginx/nginx-ingress:edge, nginx/nginx-ingress:edge-alpine from DockerHub or build your own image. Build your own image. Manifests. Helm chart. Documentation. Examples.

Contacts

We’d like to hear your feedback! If you have any suggestions or experience issues with our Ingress controller, please create an issue or send a pull request on Github. You can contact us directly via [email protected].

Contributing

If you'd like to contribute to the project, please read our Contributing guide.

Support

For NGINX Plus customers NGINX Ingress controller (when used with NGINX Plus) is covered by the support contract.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].