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
- 边缘服务 – 微服务