可以在kubernetes容器中托管两个Web服务吗?

在kubernetes的单个pod中可能有两个Web服务。如果是,负载均衡器将如何处理?还有一个问题,负载均衡器是否直接与podpod内部的容器通信?如果它与pod的对话没有像第一个那样增加路由,则LB-> podpod-> container。由于吊舱位于两者之间。我是Kubernetes的新手,对此有疑问。

toby_liao 回答:可以在kubernetes容器中托管两个Web服务吗?

可以在单个Pod中运行多个容器,但是使用该容器托管两个单独的服务可能不是预期的用途。

在同一吊舱内运行多个容器的示例案例是一个容器,即所谓的“边车”,它正在运行某种形式的应用程序以生成文件(例如某些同步工具),而主要服务以某种方式使用了这些文件。这可能是一台提供静态文件的Web服务器,该同步文件是从同步工具中提取的。

回到您的问题,因为一个Pod只有一个IP,所以每个端口只能使用一次。容器上的端口直接对应于容器上的端口。因此,尽管您可以从理论上使用Web服务运行两个容器,但是您将需要使用两个不同的端口。因此,负载均衡器需要分别访问这两个端口。

如果要运行同一服务的多个副本以实现负载平衡,则应使用多个Pod(最好由部署来管理),并使用服务(内部使用群集IP或外部使用load balancer)交通。

,

以下是一些可以帮助您的答案。

 -容器是容器的运行实例。尽管可以在POD下运行一个容器,但是您可以在Pod上运行两个容器/两个Web服务。

 -启动容器时,将创建到服务的入口/ LoadBalancer路由。

-因此,当您的pod中有两个Web服务运行时,每个Web服务将在两个不同的服务入口处发布其服务。

-理想情况下,POD内部有两条路由用于这些服务,并且有一个小的服务发现可在其中识别它们。  -这是我们更愿意为每个POD运行一个容器的原因之一。
-请您阅读《 Kubernetes in Action》一书,以更深入地了解它。

,

如果服务紧密耦合,则可以在同一容器上运行多个容器。例如,如果您有一个Web服务器和一个SQL数据库。

如果Web服务没有紧密耦合,则可能需要将它们放在不同的Pod中。

然后,您需要部署service并将其公开以使您可以从群集内部还是外部访问Web服务,具体取决于service type

要在服务之间进行负载平衡,您需要使用ingress controller

本文链接:https://www.f2er.com/3110376.html

大家都在问