Going towards microservice architecture, you should be aware of complexity that it brings. Multiplication of replicas causes your infrastructure harder to monitor and maintain. You are simply not capable of keep an eye of each service by yourself. Additionally Kubernetes (k8s) infrastructure by itself must be monitored.
While working with Kubernetes, sooner or later you will need to call one application from the another. It’s obvious that we need a part of infrastructure which act as a Load Balancer and for the outside call we need also reverse proxy component. And this is where k8s Service and Ingress Controller come into play.