如何将React + Node.js应用程序拆分为Kubernetes的容器/ pod?

时间:2018-01-28 18:33:42

标签: kubernetes containers kubernetes-pod

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

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

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

2 个答案:

答案 0 :(得分:1)

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

  

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

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

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

此博客文章解释了一些用例:www.mirantis.com/blog

答案 1 :(得分:0)

Kubernetes最小的部署单位是Pod。有些情况如

  • Frontend和NodeJs总是一起缩放,你需要3个前置的3个nodejs,有时候你需要4个nodejs 4前端。不推荐使用,但您可以将它们放入一个pod定义
  • 基本上是两个不同的容器,在缩放时不相互依赖,然后你应该将它们放在不同的pod定义中,并将它们作为服务公开。

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