What is a difference between Ingress and Ingress controller? What is a difference between Ingress and Ingress controller? kubernetes kubernetes

What is a difference between Ingress and Ingress controller?


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.


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).


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.