Openshift 3 横向自动缩放

Openshift 3 Horizontal Auto-Scaling

我正在试用 Openshift Origin 版本 3(使用 Docker 和 Kubernetes),但我找不到如何自动进行水平 pod 缩放。 我知道垂直缩放是自动的,水平缩放是可能的(例如:oc scale test frontend --replicas=3)

我想要的是在应用程序负载上升时创建额外的副本 (pod),并在负载下降时终止这些副本。

有人知道怎么做吗?

还没有-现在正在 Kubernetes 中完成初始工作 (https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/proposals/autoscaling.md and https://github.com/GoogleCloudPlatform/kubernetes/pull/9612)。

现在 OC v 3.1 支持水平自动缩放

要求: 1- 需要启动 horizo​​ntal auto-scale Horizo​​ntalPodAutoscaler 对象 2- 通过 Heapster 启用指标

auto-scale 当前使用 CPU 利用率来决定 pods 是否需要 scaled-up 或下降。要创建一个 auto-scale 对象,我们需要一个如下所示的 yaml 文件:

apiVersion: extensions/v1beta1
kind: HorizontalPodAutoscaler
metadata:
  name: frontend-scaler 
spec:
  scaleRef:
    kind: DeploymentConfig 
    name: welcome-php
    apiVersion: v1 
    subresource: scale
  minReplicas: 1 
  maxReplicas: 10 
  cpuUtilization:
    targetPercentage: 70

在上面的示例中,目标百分比设置为 70% CPU 利用率,如果 pod 达到此限制,则水平 auto-scale 将启动一个新的 pod。 下一步是创建对象:

$ oc create -f scaler.yaml 
horizontalpodautoscaler "frontend-scaler" created

https://docs.openshift.com/enterprise/3.1/install_config/cluster_metrics.html#install-config-cluster-metrics