【发布时间】:2020-05-24 04:37:51
【问题描述】:
我已经阅读了很多 kubernetes 文档,但无法得到答案。在 Kubernetes 架构中,基本组件是 pod。为什么它在容器之上做了一个抽象层来创建一个 Pod 并对其进行管理,而不是直接管理容器。 Kubernetes 通过管理 pod 而不是容器获得的主要优势是什么。
容器上的包装器的任务是什么?
【问题讨论】:
标签: kubernetes containers
我已经阅读了很多 kubernetes 文档,但无法得到答案。在 Kubernetes 架构中,基本组件是 pod。为什么它在容器之上做了一个抽象层来创建一个 Pod 并对其进行管理,而不是直接管理容器。 Kubernetes 通过管理 pod 而不是容器获得的主要优势是什么。
容器上的包装器的任务是什么?
【问题讨论】:
标签: kubernetes containers
我认为在官方文档Understanding pod 中有一个很好的描述
Kubernetes 集群中的 Pod 主要有两种使用方式:
运行单个容器的 Pod。 “每个 Pod 一个容器”模型是最常见的 Kubernetes 用例;在这种情况下,您可以将 Pod 视为单个容器的包装器,Kubernetes 管理 Pod 而不是直接管理容器。
运行多个需要协同工作的容器的 Pods。 Pod 可能封装了一个应用程序,该应用程序由多个位于同一位置的容器组成,这些容器紧密耦合并需要共享资源。这些位于同一位置的容器可能形成一个单一的内聚服务单元——一个容器从共享卷向公众提供文件,而一个单独的“sidecar”容器刷新或更新这些文件。 Pod 将这些容器和存储资源包装在一起,作为一个可管理的实体。
如果您想到 运行单个容器的 Pods,那么您可能会认为维护容器更合理,但在第二种情况下,运行多个需要协同工作的容器的 Pods 可能会面临更多的复杂性
【讨论】:
一个 pod 的容器总是在一起的,它们可以使用 loopback 接口进行通信。 Pod 允许您将紧密耦合的组件作为单独的容器部署在一起。例如,您可以捆绑应用程序和该应用程序的代理,将加密层添加到一起,以便加密流量进出应用程序,而无需修改应用程序容器。
【讨论】: