9
votes

I'm using k8s on GCP. It is required to set ingress to setup TLS connection so I set ingress for my application, it works !!!
BTW what is Ingress controller like as Nginx Ingress Controller?

I'm sure that ingress create new load balancer and serve application services through http request. but what is the point to set nginx controllers you can use annotation to set up small configuration for nginx.

3

3 Answers

17
votes

You may have some misunderstandings about Ingress. Ingress should be the rules for the traffic, which indicate the destination of a request will go through in the cluster. Ingress Controller is the implementation for the Ingress. GCE and Nginx are both supported by k8s. They will take care of L4 or L7 proxy.

8
votes

Ingress Resource- object with a set of routing rules.
Ingress controller- just another pod(usually run with Deployment) running in k8. Ingress controller is responsible for reading the Ingress Resource information and processing that data accordingly.

Metaphorical explanation:
A gun(Ingress), Ingress Controller(soldier with a Gun) and Ingress rules(Person who commands the soldier to where to shoot).

4
votes

Just like other objects in K8s ingress is also a type of object K8s which is mainly referred as set of redirection rules.

Where as ingress controller is like other deployment objects(could be demon set as well) which listen and configure those ingress rules.

If I talk in terms of Nginx, Ingress controller is Nginx software itself where as ingress(ingress rules) are nginx configurations.