当您创建Google容器引擎(GKE)群集时,您可以指定要在群集中使用哪些机器的数量和类型。弹性Google容器引擎群集?
- 是否可以基于(例如)CPU负载自动缩放群集计算机的数量?
- 如果这不被支持,是否有一个原因或是谷歌未来的工作?
当您创建Google容器引擎(GKE)群集时,您可以指定要在群集中使用哪些机器的数量和类型。弹性Google容器引擎群集?
是的。要将自动配置器连接到现有GKE集群:
查找群集的实例组的名称:
$ gcloud compute instance-groups managed list
NAME ZONE BASE_INSTANCE_NAME SIZE TARGET_SIZE INSTANCE_TEMPLATE AUTOSCALED
gke-buildlets-69898e2d-group us-central1-f gke-buildlets-69898e2d-node 1 1 gke-buildlets-69898e2d-1-1-3 yes
这里我buildlets,其实例组名为GKE集群被命名为gke-buildlets-6989e2d-group
启用自动缩放。这个特殊的例子将规模上的70%的目标CPU使用率:
gcloud compute instance-groups managed set-autoscaling YOUR_INSTANCE_GROUP_NAME \
--zone=YOUR_INSTANCE_GROUP_ZONE \
--min-num-replicas=1 \
--max-num-replicas=8 \
--scale-based-on-cpu \
--target-cpu-utilization=.7
您还可以使用Google Cloud Deployment manager来创建GKE集群,并创建/附加一个自动配置器的权利与它一起:
resources:
- name: buildlets
type: container.v1.cluster
properties:
zone: us-central1-f
cluster:
initial_node_count: 1
network: "default"
logging_service: "logging.googleapis.com"
monitoring_service: "monitoring.googleapis.com"
node_config:
machine_type: n1-standard-1
oauth_scopes:
- "https://www.googleapis.com/auth/cloud-platform"
master_auth:
username: admin
password: password123
- name: autoscaler
type: compute.v1.autoscaler
properties:
zone: us-central1-f
name: buildlets
target: "$(ref.buildlets.instanceGroupUrls[0])"
autoscalingPolicy:
minNumReplicas: 2
maxNumReplicas: 8
coolDownPeriodSec: 600
cpuUtilization:
utilizationTarget: .7`
可以手动resize a GKE cluster,是的。 AFAIK你需要自己完成'弹性'零件,例如基于Heapster输出。
您绝对可以创建自动调整程序,以便自动选择并设置在kubernetes群集中运行的pod数量。因此,autoscaler将被创建并将使用复制控制器作为参考,以根据需要自动增加或减少窗格数量。您可以在此Help Center article中获得更多信息。
我指的是“自动缩放”,很抱歉没有明确说明(我现在已经更新了这个问题)。感谢指向Heapster的指针。 – Johan
不用担心,我明白这一点。这就是为什么我说汽车衡(或'弹性')是ATM不支持;) 欣赏upvote,如果你认为它帮助... –
...并澄清(重新手动) –