在Kubernetes中, POD 被视为单个部署单元,可能具有一个或多个容器,因此,如果我们缩放 POD 中的所有容器,则将分别缩放。
如果 POD 只有一个容器,则更容易缩放特定的 POD ,那么将一个或多个容器包装在 POD ?
答案 0 :(得分:6)
Pods可用于托管垂直集成的应用程序堆栈(例如LAMP),但它们的主要动机是支持位于同一地点,受共同管理的帮助程序
最常见的示例是Sidecar容器,其中包含诸如日志传送实用程序之类的帮助程序。
可以找到更深层次的潜水here
答案 1 :(得分:2)
使用pod而不是直接使用容器的原因是kubernetes需要更多信息来编排restart policy
,liveness probe
,readiness probe
等容器。 liveness probe
定义了容器内的容器是否存在,restart policy
定义了容器失败时的处理方法。 readiness probe
定义容器已准备好开始投放。
因此,不是将这些属性添加到现有容器中,kubernetes决定将具有所有必要附加信息的包装器写入容器。
此外,Kubernetes支持多容器吊舱,这主要是对于边车集装箱(主要是日志或数据收集器)或主集装箱的代理而言是必需的。多容器容器的另一个优点是,它们可以具有非常紧密耦合的应用程序容器,它们一起共享相同的数据,相同的网络名称空间和相同的IPC名称空间,如果他们选择不使用任何包装的容器直接使用容器,则不可能。
以下是一篇非常不错的文章,为您简要介绍一下:
https://www.mirantis.com/blog/multi-container-pods-and-container-communication-in-kubernetes/