通过在Kuberenets中的同一节点上扩展部署的Pod,可以获得任何好处

时间:2017-11-22 10:02:39

标签: kubernetes

考虑运行1 Pod的部署,其中包含没有指定资源限制的NodeJS容器。我的Kubernetes群集由3个节点组成,运行不同的应用程序,运行除NodeJS之外的其他应用程序的2个节点正在经历稳定的高负载(即CPU利用率> 80%),因此认为将新Pod安排到这些节点无效。 / p>

|  Pod:A |   |  Pod:A |  |  Pod:NodeJS   |
|  Pod:B |   |  Pod:B |  |               |
|--------|   |--------|  |---------------|
|CPU 85% |   |CPU 85% |  |    CPU 60%    |
|Mem:80% |   |Mem:85% |  |    Mem:70%    |
  Node 1       Node 2          Node 3

在NodeJS应用程序遇到高负载的情况下,如果我扩展部署,那么在节点3上运行额外Pod会不会有任何好处,考虑到没有定义资源限制?

|  Pod:NodeJS   |
|  Pod:NodeJS   |
|---------------|
|    CPU 60%    |
|    Mem:70%    |
     Node 3

1 个答案:

答案 0 :(得分:1)

如你所知,Pods是kubernetes中的一个短暂实体。他们在不事先通知的情况下被杀 在您的示例中,您有一个用于nodeJS应用程序的pod,因此如果您因任何原因重新安排pod,则最终会导致服务停机。 出于这个原因,恕我直言,你可以放大你的pod,以便让它的多个实例同时运行。 显然,如果所有实例都在同一节点上运行,那么该节点中的故障仍然会导致停机,但这种情况发生的频率应远低于pod重新安排。