What is the difference between a Kubernetes Ingress and a IngressRoute?
Feb 11
I am still learning kubernetes and I stumbled over the objects Ingress and IngressRoute. What is the different between these two objects? Did IngressRoute replace the old Ingress? I am running a Kubernetes Cluster V1.17 with Traefik 2.1. My IngressRoute works fine but I also found blogs explaining how to define an ingress.
1 answer
Accepted answer · original discussion
Feb 11
Ingress is a shared abstraction that can be implemented by many providers (Nginx, ALBs, Traefik, HAProxy, etc). It is specifically an abstraction over a fairly simple HTTP reverse proxy that can do routing based on hostnames and path prefixes. Because it has to be a shared thing, that means it's been awkward to handle configuration of provider-specific settings. Some teams on the provider side have decided the benefits of a shared abstraction are not worth the complexities of implementation and have made their own things, so far Contour and Traefik have both named them IngressRoute but there is no connection other than similar naming.
Contour handled this fairly well and allowed the two systems to coexist, the Traefik team disregarded our warnings and basically nerfed Ingress to vanilla configs only because they don't see any benefit from supporting it. Can you tell I'm salty about this? Because I definitely am.
Basically Ingress is the official thing but it's imperfect, some people are trying to make a new, better thing but it's not going well.
0 question comments
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.