弹性Google容器引擎群集?

时间:2016-01-08 12:20:05

标签: kubernetes google-kubernetes-engine

创建Google容器引擎(GKE)群集时,您可以指定要在群集中使用的数量和类型的计算机。

  1. 是否可以根据(例如)CPU负载自动扩展群集计算机的数量?
  2. 如果不支持此功能,那么为什么或者谷歌将来会为此做些什么呢?

3 个答案:

答案 0 :(得分:6)

是的,确实如此。要将自动缩放器附加到现有GKE集群,请执行以下操作:

  1. 查找群集实例组的名称:

    $ 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

  2. 启用自动缩放。此特定示例将在目标CPU利用率为70%时进行扩展:

    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
    
  3. 您还可以使用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`
    

答案 1 :(得分:1)

可以手动resize a GKE cluster,是的。 AFAIK你需要做一个弹性的'例如,基于Heapster输出,自己使用ATM。

答案 2 :(得分:0)

您绝对可以创建一个自动调节器,自动选择和设置kubernetes集群中运行的pod数量。因此,将创建自动缩放器,并将使用复制控制器作为参考,根据需要自动增加或减少窗格数。您可以在此Help Center article中获得更多信息。