2017-04-10 66 views
2

我已经将使用Kubernetes的应用程序部署到Google云容器引擎群集。Kubernetes vs Google容器引擎:如何使用自动缩放?

我进入自动缩放,我发现了以下选项:

Kubernetes水平波德自动缩放(HPA)

由于explained here,Kubernetes提供有关部署的HPA。具体根据docs

水平波德自动配置功能基于观察到的CPU使用率自动缩放在复制控制器,部署或副本集豆荚的数目

谷歌云容器丛集

现在我有一个使用3个实例的Google云容器群集,并启用了自动缩放。根据docs

集群Autoscaler使用户能够自动调整集群的大小,以便所有计划的集群都有一个运行位置。

这意味着我有两个地方来定义我的自动缩放。因此我的问题:

  • Pod是否与我的集群中的VM实例相同,或者可以在单个VM实例内运行多个Pod吗?
  • 这两个参数是否相同(即创建/删除群集中的VM实例)。如果不是,他们彼此之间的行为是什么?
  • 如果例如,我有一个介于310之间的pod数量,以及一个介于13之间的实例数量的集群以及自动缩放功能。何时以及如何进行缩放?

非常感谢!

回答

3

Pod与我的集群中的VM实例相同,还是可以多个 Pod在单个VM实例内运行?

多个Pod可以运行相同的实例(在kuberenetes中称为节点)。您可以为部署yaml中的POD定义最大资源消耗。请参阅docs。这是自动缩放的重要先决条件。

这两个参数是否相同(也就是在集群内创建/删除VM 实例)。如果不是,他们的行为与 相互比较是什么?

Kubernetes autoscaler会在现有节点中安排额外的POD。 Google autoscaler会将工作者节点(新实例)添加到您的群集中。 Google autoscaler会查看排队的POD,因为您的群集中没有空间,并且发现这些节点会添加节点,因此POD无法调度。

如果例如,我有3到10之间的豆荚数量和一个 簇,其中的实例数量在1到3之间,并且自动缩放比例为 英寸。何时以及如何进行缩放?

通过您为pod定义的最大资源使用量,google autoscaler将估计需要多少新节点才能运行所有排队的计划pod。

也读这个article

+0

非常感谢,这是很有价值的信息,而且还很难将您的头围绕。我会放手一搏! – Nicky

相关问题