Do I need an "K8s service" for each microservice in Kubernetes for internal service communication?

10/27/2020

I will end up having around 20 microservices on the Kubernetes cluster eventually. I am thinking "services meshes" like Istio are overkill. if I have to do just basic "service discovery and communication" within each of the 20 microservices with 1 external ingress/LB (for public traffic), do I need to create a K8's 'service' type for each of the 20 microservices so that they can call each other over http/grpc?

-- teeboy
istio
kubernetes
service-discovery

1 Answer

10/27/2020

Correct, you need a Service for everything you call. Service is a LoadBalancer, it spreads the load and hides the scale and placement of the underlying pods, plus it gives you a service discovery based on DNS.

-- Max Lobur
Source: StackOverflow