我们是否需要外部端点用于编排微服务

时间:2018-07-02 12:06:55

标签: kubernetes

我对以下架构有疑问,在Kubernetes文档中找不到明确的答案,也许是您可以帮助我。

我有一个名为“ OrchestrationService”的服务,该服务依赖于其他3个服务“ ServiceA”,“ ServiceB”,“ ServiceC”才能完成其工作。

所有这些服务都有其Docker映像并已部署到Kubernetes。

现在,“ OrchestrationService”将是唯一要与外界联系的人,因此肯定会有一个外部端点,我的问题是“ ServiceA”,“ ServiceB”,“ ServiceC”是否需要一个或Kubernetes是否可以通过KubeProxy / LoadBalancer将这些服务提供给“ OrchestrationService”使用?

寻求答案

3 个答案:

答案 0 :(得分:1)

否,您只能将OrchestrationService公开给公众,而其他服务A / B / C必须是集群服务。您为A / B / C创建selector服务,以便OrchestrationService可以连接到A / B / C服务。可以将OrchestrationService定义为具有固定端口的NodePort,也可以使用入口将流量路由到OrchestrationService。

答案 1 :(得分:0)

不,您不需要ServiceAServiceBServiceC的外部端点。

如果这些Pod成功运行,具体取决于您的标签,则可以在OrchestrationService中访问它,您可以通过说出它们来引用 http://servicea/context_path

网址中的

serviceaServiceA的已定义服务中的标签

答案 2 :(得分:0)

不是像负载均衡器这样的外部服务,而是您的服务A / B / C需要将自身发布为群集内的服务,以便OrchestrationService等其他服务可以使用它们。