0

我读到一个 pod 通常只有 1 个容器。

这是否意味着我应该有 2 个 pod:1 个 React 和 1 个 Node.js?

如果我有一个像 nginx 这样的 Web 服务器在 React 前端运行怎么办?那么 React + nginx = 2 个容器 = 1 个前端 pod 和 1 个 Node.js pod?

4

2 回答 2

1

“pod 通常只有 1 个容器”。不,这并不意味着您的应用程序应该有两个 Pod。您可以在一个 Pod 中使用两个容器。

每个 Pod 都分配有一个唯一的 IP 地址。Pod 中的每个容器共享网络命名空间,包括 IP 地址和网络端口。Pod 中的容器可以使用 localhost 相互通信。当 Pod 中的容器与 Pod 外的实体通信时,它们必须协调它们如何使用共享的网络资源(例如端口)。

如果您需要共享相同的 Network 命名空间,则需要将它们保存在 Pod 中。

此外,这取决于目的。如果它们实现相似的目的,您可以将多个进程组合​​在一起。如果一个应用程序需要在同一主机上运行多个进程,则可以使用多个容器。

这篇博文解释了一些用例:www.mirantis.com/blog

于 2018-01-28T18:48:26.780 回答
0

Kubernetes 最小的部署单元是 Pod。有一些情况像

  • 前端和 NodeJs 总是一起扩展,你想要 3 个前端 3 个 nodejs,稍后你想要 4 个 nodejs 4 个前端。不推荐,但您可以将它们放入一个 pod 定义中
  • 基本上是两个不同的容器,并且在扩展时彼此不依赖,那么您应该将它们放在不同的 pod 定义中并将它们作为服务公开。

想想传统的数据库和前端系统。您是否在扩展前端系统的同时扩展底层数据库系统。因此,当涉及到多个容器的相同 pod 定义或不同 pod 定义时,我们应该考虑扩展和安全性。

于 2018-01-28T21:13:50.757 回答