Kubernetes 在Kuberenets的同一节点上扩展部署的POD有什么好处

Kubernetes 在Kuberenets的同一节点上扩展部署的POD有什么好处,kubernetes,Kubernetes,考虑一个运行1个Pod的部署,其中包含一个没有指定资源限制的NodeJS容器。我的Kubernetes群集由3个节点组成,正在运行不同的应用程序,其中2个正在运行NodeJ以外的其他应用程序的节点正在经历稳定的高负载,即CPU利用率>80%,认为将新POD调度到这些节点是无效的 | Pod:A | | Pod:A | | Pod:NodeJS | | Pod:B | | Pod:B | | | |--------| |--------|

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

|  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应用程序经历高负载的情况下,如果考虑到没有定义资源限制,我扩展部署,在Node 3上也会运行一个额外的Pod,会有什么好处

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

正如你们所知,豆荚在库伯内特斯是一个短暂的实体。他们在没有事先通知的情况下被杀。 在您的示例中,您的nodeJS应用程序只有一个pod,因此,如果您的pod由于任何原因被重新调度,您的服务最终都会停机。 出于这个原因,为了让多个pod实例同时运行,IMHO应该扩大pod的规模。
显然,如果所有实例都在同一个节点上运行,那么该节点中的故障仍然会导致停机,但这种情况发生的频率应该比pod重新调度的频率低得多。

这是我没有考虑过的一个很好的问题。事实上,我已经做了一些评估,以便更好地理解Kuberenets的行为。在这种情况下,在分享结果之前,我还需要做更多的测试。然而,简言之,与在不同节点上调度相同部署的两个NodeJS吊舱相比,在单个节点上放置两个NodeJS吊舱并不能显著提高性能响应时间。似乎对于网络密集型应用程序,每个节点都有一个上限。