Kubernetes:单个K8s POD主机可以有2个或更多的K8s服务

我是kubernetes新手,只是想知道我的问题是否有效。

我有一个问题,如果一个单一的POD可以承载2个或更多的服务。

如果能承载多种业务,又如何区分业务间的stream量呢?

它做一个PORT映射吗?

请告诉我。

您可以将多个容器添加到同一个容器中,但只有在服务紧密耦合时才推荐使用,例如需要进行通信。 例如,如果你有一个Web服务器和一个SQL数据库,你可能会希望他们在同一个窗格中。

如果这些服务是不同的,那么您可能希望将它们放在不同的容器中,但将它们部署到同一个节点集群中。 然后,您可以在集群上拥有一个LoadBalancer服务,该服务可以将不同的端口或path路由到正确的窗格。 通过这种方式,服务可以分别进行扩展和pipe理(而不用担心端口冲突),但是他们仍然从同一个资源池

单个POD可以承载2个或更多的服务?

我假设,通过服务你的意思是docker集装箱 。 如果情况并非如此,请告诉我。

是的 ,单个容器可以容纳多个容器。

如何区分服务之间的stream量?

这是抓住。 你需要使用端口来处理它。 在一个端口上展示一个服务,在另一个端口上展示另一个服务。 (如果您希望从同一个吊舱暴露多个服务/容器,请重新考虑您的devise,这可能是不同吊舱的理想select)

话虽如此,现在让我们看看最佳实践,

什么时候应该在一个容器中使用2个Docker容器

如果你的两个服务(docker集装箱)紧密耦合,当你扩展一个服务时,你需要扩展另一个服务。 (相信我,这是非常罕见的情况)。 通常这些被称为边车。

什么时候应该使用不同的吊舱

如果你想扩大每个人独立于其他。

例子

  • 微服务 – 数据库
  • 微服务 – Rediscaching
  • 边缘服务 – 微服务