弹性Google容器引擎群集?

Joh*_*han 1 kubernetes google-kubernetes-engine

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

  1. 是否可以根据(例如)CPU负载自动调整集群机器的数量?
  2. 如果不支持这种情况,那么为什么或者谷歌将来会为此做些什么呢?

小智 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
    
    Run Code Online (Sandbox Code Playgroud)

    这里我有一个名为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
    
    Run Code Online (Sandbox Code Playgroud)

您还可以使用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`
Run Code Online (Sandbox Code Playgroud)