在Google容器引擎中自动缩放

时间:2014-11-13 01:23:58

标签: kubernetes google-kubernetes-engine

我知道Container Engine目前处于alpha状态,尚未完成。

从文档中我假设没有pod的自动缩放(例如,取决于CPU负载),对吗?我希望能够配置复制控制器,以便在平均CPU负载达到定义的阈值时自动添加pod(和VM实例)。

这是在不久的将来的路线图吗?

或者可以使用Compute Engine Autoscaler吗? (如果是这样,怎么样?)

3 个答案:

答案 0 :(得分:7)

在我们努力推出测试版时,我们肯定会考虑集成Google Compute Engine AutoScaler。

实际上有两种不同的缩放:

  1. 根据群集中的容器数量,向上/向下扩展群集中的工作节点数
  2. 上下缩放播客。
  3. 由于Kubernetes也是一个OSS项目,我们还想添加一个可以扩展复制控制器的Kubernetes本机自动缩放器。这绝对是路线图上的事情。我希望我们实际上会有多个自动缩放器实现,因为它可能非常特定于应用程序...

答案 1 :(得分:3)

Kubernetes autoscaling:http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/

kubectl命令:http://kubernetes.io/docs/user-guide/kubectl/kubectl_autoscale/

实施例: kubectl autoscale deployment foo --min=2 --max=5 --cpu-percent=80

答案 2 :(得分:1)

您可以使用kubectl自动缩放来自动缩放部署。

实际上,自动缩放是在您希望根据需要自动修改窗格数时使用的。

kubectl autoscale deployment task2deploy1 –cpu-percent=50 –min=1 –max=10

kubectl get deployment task2deploy1

所需的最新可用年龄

task2deploy1 1 1 1 1 49s

随着资源消耗的增加,窗格的数量将增加,并且将超过您在deployment.yaml文件中指定的窗格的数量,但始终小于kubectl autoscale命令中指定的窗格的最大数量。

kubectl get deployment task2deploy1

所需的最新可用年龄

task2deploy1 7 7 7 3 4m

类似地,随着资源消耗的减少,豆荚的数量将减少,但绝不会少于kubectl autoscale命令中指定的最小豆荚的数量。