1

在玩了几个月的 docker Landscape 之后,我仍然发现使用 Kubernetes Pod 真的很反直觉。我没有遇到过 pod 比容器更自然的用例。当我被要求使用 Pod 时,我通常只使用单个容器 Pod。我正在尝试做一个演示来展示 pod 概念的优势,但我就是想不出一个重要的用例。

在我的演示中,我启动了一个服务器 pod,其中有两个服务容器在不同的端口上侦听,一个用于将字母转录为大写字母,一个用于将字母转录为小写字母。然后我有一个客户端 pod,其中有两个客户端容器与每个服务器容器通信......这个用例似乎真的很强迫,我不明白为什么我需要使用 Pod 概念。

我已经阅读了很多教程和文档,他们都只是谈到了什么是 pod,没有令人信服的用例说明为什么我们必须使用 pod……我错过了什么吗?使用 Pod 概念的可靠用例是什么?谢谢。

编辑:具体来说,假设有两个服务 A 和 B 需要协同定位和共享网络堆栈,这很适合 Pod 概念。使用 Pod(两个并置的容器运行服务 A 和服务 B)相比让服务 A 和 B 运行在同一个容器中,保证了并置和共享网络堆栈的优势是什么?粒度是否有经验法则?

我最初的问题是找出需要协同定位和共享网络堆栈的服务 A 和服务 B。感谢 Jared 和 Robert 的指点,我将深入研究这些用例。

4

1 回答 1

1

Jared 在上面的评论中指出了一些很好的例子。正如 Brian Grant 在链接的 github 问题中提到的,推送日志数据和加载数据是 Google 内部最常见的用途。

对于 Kubernetes 存储库中的具体示例,您可以查看DNS 集群附加组件的定义。它使用一个 pod 来共同定位一个 DNS 服务器(skyDNS),使用 etcd 的本地存储,以及一个简单的程序来下拉 Kubernetes API 对象,转换它们,并将它们放入本地存储。此 pod 没有构建新的自定义 DNS 服务器,而是利用现有的 DNS 服务器并为其添加一些自定义项以使其了解集群环境。由于所有容器都在一个 pod 中,它们可以依靠 localhost 网络进行通信,并且不需要任何形式的复杂服务发现。

于 2016-03-10T04:26:22.153 回答