在GKE群集创建上启用自动缩放

时间:2016-09-12 15:58:19

标签: google-compute-engine kubernetes google-cloud-platform autoscaling google-kubernetes-engine

我尝试在GKE上创建一个自动调整的容器集群。 当我使用" - enable-autoscaling"选项(如文档中所示:https://cloud.google.com/container-engine/docs/clusters/operations#create_a_cluster_with_autoscaling):

$ gcloud container clusters create mycluster --zone $GOOGLE_ZONE --num-nodes=3 --enable-autoscaling --min-nodes=2 --max-nodes=5

但MIG(托管实例组)未显示为'自动缩放'如Web界面和以下命令的结果所示:

$ gcloud compute instance-groups managed list
NAME             SIZE   TARGET_SIZE   AUTOSCALED
gke-mycluster... 3      3             no

为什么?

然后,我尝试了kubernetes docs(http://kubernetes.io/docs/admin/cluster-management/#cluster-autoscaling)中指示的其他方式,但是由于' = true'而导致错误。显然:

$ gcloud container clusters create mytestcluster --zone=$GOOGLE_ZONE --enable-autoscaling=true --min-nodes=2 --max-nodes=5 --num-nodes=3
usage: gcloud container clusters update  NAME [optional flags]
ERROR: (gcloud.container.clusters.update) argument --enable-autoscaling: ignored explicit argument 'true'

这个文件有错吗? 这是我的gcloud版本结果:

$ gcloud version
Google Cloud SDK 120.0.0
beta 2016.01.12
bq 2.0.24
bq-nix 2.0.24
core 2016.07.29
core-nix 2016.03.28
gcloud 
gsutil 4.20
gsutil-nix 4.18
kubectl 
kubectl-linux-x86_64 1.3.3

最后的精确度:自动定标器似乎在' on'在集群的描述中:

$ gcloud container clusters describe  mycluster | grep auto -A 3
- autoscaling:
    enabled: true
    maxNodeCount: 5
    minNodeCount: 2

有任何想法解释这种行为吗?

1 个答案:

答案 0 :(得分:2)

Kubernetes群集自动缩放不使用托管实例组自动缩放器。它在Kubernetes主服务器上运行perl -ne'push @a, $_; print @a if /^END$/; shift(@a) if @a>5;' file 控制器,该控制器使用特定于Kubernetes的信号来扩展节点。如果您想了解更多信息,则The code位于cluster-autoscaler个回购栏中。

我还发送了a PR来修复自动缩放文档中的无效标记用法。谢谢你抓住了!