13

在一个 pod 中拥有多个容器与拥有独立容器相比有什么好处?

4

3 回答 3

25

如果您在同一个 pod 中有多个容器,它们可以相互通信localhost并且可以共享已安装的卷。

如果每个容器有多个 pod,则可以重新启动一个,而无需重新启动另一个。假设它们由部署控制,您可以添加一个副本,而不必扩展另一个副本。如果其中一个的版本或其他特性发生变化,您不会被迫重新启动另一个。您需要设置一个服务以从一个到另一个进行通信,并且它们无法通过文件系统进行通信。

我一直看到的一般方法是在部署中始终为每个 pod 拥有一个容器,除非您有特定的理由需要额外的容器。通常这是某种特殊用途的“sidecar”,它与凭证服务对话,或管理日志记录,或运行网络代理,或者其他一些次要于 pod 所做的主要事情(并且不是单独的服务)自己的权利)。

于 2018-08-30T01:53:15.817 回答
9

除了指出的要点之外,CPU 和内存(在技术预览中)与 POD 相关联,因此如果我们在 POD 中有单个容器,则很容易理解和实现 POD 内部的应用程序资源需求,其中包含多个容器当我们想要进行水平缩放时,我们可能会面临问题/挑战的 POD

其次,部署(蓝/绿、金丝雀、A/B)也更符合单容器/POD 的方法

于 2018-08-30T19:02:04.873 回答
4

来自Kubernetes 文档

Pod 可能封装了一个应用程序,该应用程序由多个位于同一位置的容器组成,这些容器紧密耦合并需要共享资源。这些位于同一位置的容器可能形成一个单一的内聚服务单元——一个容器从共享卷向公众提供文件,而一个单独的“sidecar”容器刷新或更新这些文件。Pod 将这些容器和存储资源包装在一起作为一个可管理的实体。

于 2018-08-30T00:35:32.260 回答