A service mesh is another layer of management that's running in your cluster. We will look into service meshes and Istio in particular in Chapter 13, Service Mesh – Working with Istio. At this point, I just want to mention that a service mesh often takes the role of the ingress controller too.
One of the primary reasons to use a service mesh for ingress is that the built-in ingress resource, being very generic, is limited and suffers from multiple issues, such as the following:
- No good way to validate the rules
- Ingress resources can conflict with one other
- Working with specific ingress controllers is often complicated and requires custom annotations