Do we need External Endpoints for orchestration micro services

7/2/2018

I have a question about following architecture, I could not find a clear cut answer in the Kubernetes documentation may be you can help me.

I have a service called 'OrchestrationService' this service is dependant to 3 other services 'ServiceA', 'ServiceB', 'ServiceC' to be able to do its job.

All these services have their Docker Images and deployed to Kubernetes.

Now, the 'OrchestrationService' will be the only one that is going to have a contact with outside world so it would definitely have an external endpoint, my question is does 'ServiceA', 'ServiceB', 'ServiceC' would need one or Kubernetes would make those services available for 'OrchestrationService' via KubeProxy/LoadBalancer?

Thx for answers

-- posthumecaver
kubernetes

3 Answers

7/2/2018

Not as external services like loadbalancer but your services A/B/C need to publish themselves as services inside cluster so that other services like OrchestrationService can use them.

-- Prateek Jain
Source: StackOverflow

7/2/2018

No you dont need external end points for ServiceA,ServiceB and ServiceC.

If these pods are running successfully depending upon your labels you can access this in OrchestrationService you can refer those by saying http://servicea/context_path

servicea in the url is the label in the defined service for ServiceA

-- Dinesh
Source: StackOverflow

7/3/2018

No, you only expose OrchestrationService to public and other service A/B/C need to be cluster services. You create selector services for A/B/C so OrchestrationService can connect to A/B/C services. OrchestrationService can be defined as NodePort with fixed port or you can use ingress to route traffic to OrchestrationService.

-- Akash Sharma
Source: StackOverflow