An Ingress exposes Services in a Kubernetes cluster to external traffic and routes requests to backend pods based on rules you define. An Ingress is a Kubernetes resource object that controls to which Services HTTP or HTTPS traffic is routed, based on hostnames and URL paths.
Key concepts
| Component | Description |
|---|---|
| Service | An abstraction of an application running across a group of replicated pods |
| Ingress | A Kubernetes resource that defines reverse proxy rules for routing HTTP or HTTPS traffic to Services based on hostnames and URL paths |
| Ingress controller | A reverse proxy program that reads Ingress rules and forwards incoming requests to the appropriate Service. If changes are made to the Ingress rules, the Ingress controller updates the rules accordingly. |
How it works
When a request arrives at the Ingress controller, it matches the request against the configured Ingress rules and forwards it to the corresponding Service. The Service then routes the request to one of its backend pods for processing.
Changes to Ingresses in a Kubernetes cluster are propagated to Ingress controllers through the cluster API server. Server Load Balancer (SLB) instance configurations are dynamically generated based on these changes, and Ingress rules are updated accordingly.
NGINX Ingress controller in ACK Serverless
ACK Serverless clusters include the NGINX Ingress controller, optimized from the open source version. You can install it when creating an ACK Serverless cluster.