多容器Pod最佳做法

时间:2019-02-25 07:36:13

标签: kubernetes

我被要求创建一个具有5个容器的容器,这种情况下的最佳解决方案是什么?我应该创建一个具有5个Con的容器,还是将其拆分为多个容器,有什么建议?

4 个答案:

答案 0 :(得分:1)

根据经验,只有多个容器共享相同的生命周期,它们才应位于同一容器中。例如,假设您有一个应用程序,并且还有另一个帮助程序/桥服务,该服务充当通往外部世界的窗口,那么这两个容器一起放在一个容器中可能是有意义的。但是,我真的不确定哪种用例需要将5个容器放在一起放在一个容器中。

请理解,从资源的角度来看,无论您在1个Pod中有5个容器还是在5个Pod中,这都没有提供任何优势,cpu和内存之类的资源利用率仍将是所有容器的累加数量。 / p>

答案 1 :(得分:0)

在一个吊舱中运行5个容器不是一个好习惯。您的pod将会变得很笨重,并且pod中的应用程序将紧密耦合。

很难管理豆荚的生命周期。例如,一个已配置了就绪探测器的容器发生了故障,即使其他4个容器已启动并正在运行,该容器也会被视为不健康,并且该容器会重新启动。 调试问题将很困难。建议您使用多个吊舱,除非您有正当理由且无法拆分容器

答案 2 :(得分:0)

在单个容器中运行多个容器可能有不同的原因。当容器具有完全相同的生命周期,或者容器必须在同一节点上运行时。将容器组合到单个容器中的另一个原因是容器中容器之间的轻松通信。这些容器可以通过共享卷和进程间通信(信号或共享内存)进行通信。如果您确实需要在单个吊舱中运行多个容器,则可以使用不同的模式,例如边车,适配器,大使。

答案 3 :(得分:0)

假设您正在尝试优化负载平衡成本,则只有在POD中的容器写得很好(即没有内存泄漏等)并且有适当的自动缩放器来处理负载突发时,才执行此操作。 约书亚·布洛赫(Joshua Bloch):

像大多数其他学科一样,学习编程艺术的过程包括首先学习规则,然后学习何时打破规则。