22

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 Answers3

33

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.

lephix
  • 1,144
  • 13
  • 23
  • Thanks for replying. That is what I found later. Briefly, Ingress is a recipe and Ingress Controller is a system based on Ingress, right? – Yoshihito Takashiba Mar 03 '18 at 02:38
  • See also Ingress = https://kubernetes.io/docs/concepts/services-networking/ingress/#what-is-ingress, AND Ingress Controllers https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/ – PatS Feb 15 '23 at 18:33
28

Ingress Resource: object with a set of routing rules.
Ingress controller: just another pod(usually run with Deployment) running in k8.

The ingress controller is responsible for reading the Ingress Resource information and processing that data accordingly.

Metaphorical explanation:

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

AATHITH RAJENDRAN
  • 4,689
  • 8
  • 34
  • 58
7

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.

Vaibhav Jain
  • 2,155
  • 5
  • 27
  • 41
  • Ingress controller is not exactly Ngnix, it is a controller in between k8s and Ngnix. ref: https://www.nginx.com/resources/glossary/kubernetes-ingress-controller/ – srth12 Apr 04 '21 at 11:28