kubernetes 在单节点集群中添加第二个pod示例如何帮助扩展?

qnzebej0  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(119)

在K8s中,我们可以有一个单节点集群。这个节点可以部署我们应用程序的一个示例,如果用户从我所读到的数据中增加,则在同一个节点中启动更多的示例,随着越来越多的用户被添加到集群中,更多的节点被添加到集群中以允许扩展。
我的问题特别是关于单节点的。如果我们有e.g.一个web应用程序作为一个映像部署在一个pod中,并且添加了更多的用户,那么在同一个节点中扩展部署另一个pod有什么用处呢?
在我看来,它不会提供任何好处,因为Web应用程序的第一个示例遇到的任何限制都只会来自主机本身。因此,添加第二个pod会有什么帮助?

pxyaymoc

pxyaymoc1#

在kubernetes中,有HPA、Inter pod affinity和anti affinity等概念。
清单中定义的资源值(如请求和限制)对HPA的工作起着关键作用。
例如:如果在pod级别存在定义为0.5vCPU的限制值,并且存在具有75% CPU使用率的HPA定义,则当第一个pod超过其容量的75%时,将基于该度量来调度新的pod。因此,现在应用程序将有两个0.5vCPU的Pod,每个Pod相当于1vCPU。
对于您的第一个问题-基于上面的例子,随着容量的增加,它将有更多的资源来满足更多的请求。
对于第二个问题-在将新的pod调度到节点上之前,它将计算资源的可用性,如果它是唯一可用的,那么只有pod将被调度到节点上。另外,如果你想部署策略,而不是在同一个节点上调度pod,如果一个pod已经在运行,那么你可以使用pod反亲合规则。
HPA和pod亲和性规则的更多细节在上面的链接中共享的k8s文档中解释。

相关问题