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- 需要启动 horizontal auto-scale HorizontalPodAutoscaler 对象
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
我正在试用 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- 需要启动 horizontal auto-scale HorizontalPodAutoscaler 对象 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