为什么要在云平台上的节点内水平缩放Pod?

时间:2019-11-25 18:30:56

标签: kubernetes google-kubernetes-engine azure-aks

我是K8的新手。我正在研究在GKE / AKS上使用k8优于我们系统中使用的Azure VM Scaleset。

对于k8,假设我们将工作程序应用程序部署到5个节点集群中,每个节点可以运行10个pod。每个节点都是16核64G内存VM。

我的问题是,由于我们要按节点而不是Pod向云服务提供商付款,为什么我们要在节点上按比例缩小Pod?

在每个节点上具有最大Pod的情况下,仅水平扩展节点和缩小节点是否更有意义?

10个吊舱,20个吊舱,30个吊舱,40个吊舱,50个吊舱是否更有意义,同时11个吊舱,21个吊舱,31个吊舱,41个吊舱等听起来浪费了我们支付的资源?

我必须错过进行豆荚缩放的关键点。 请指出。 谢谢。

2 个答案:

答案 0 :(得分:1)

如果所有吊舱都相同,则可以,仅按节点大小的等价物进行缩放可能很有意义(但在那种情况下,您可能要确保节点可以按对您有意义的增量进行缩放工作负载大小–例如,您是否真的真的需要每个应用程序另外32或64或96个内核?这是新的Google batch for Kubernetes产品试图解决的问题之一-包括对计算机进行权限调整。

但是请考虑一下,如果您有一组不同的工作负载(使用k8s的可能性更大!),那么k8s的优势之一就是可以将不同的工作负载打包到同一节点上。

想象一下,如果一个工作负载需要大量的RAM,但是并不需要太多的CPU,而另一个工作负载需要大量的CPU,而不是大量的RAM,那么您不希望它们都以一个节点的增量进行扩展,您希望Pod可以根据每个应用程序的需求进行扩展,而节点又可以在无法再打包到现有计算机上时进行扩展。

答案 1 :(得分:0)

  1. 因为更容易考虑一次针对单个部署的扩展策略。
  2. 因为您可以将系统设置为将低利用率节点折叠在一起,然后删除未使用的节点。
  3. 因为它可以为您提供更好的统计信息来跟踪您的利用率。