Openshift 3水平自动缩放

时间:2015-07-06 12:48:41

标签: scalability kubernetes openshift-origin

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

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

任何人都知道如何做到这一点?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

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

质量要求: 1-需要启动水平自动缩放Horizo​​ntalPodAutoscaler对象 2-通过Heapster启用指标

自动缩放当前使用CPU利用率来决定是否需要按比例放大或缩小窗格。要创建一个自动缩放对象,我们需要一个yaml文件,如下所示:

function Connect()
{
    server = new WebSocket('mysite:1234');

    server.onopen = (function()
    {
        return new Promise(function(resolve, reject) 
        {
            if (true)
            {
                resolve();
            }
            else
            {
                reject();
            }
        });
    }).then = (function()
    {
        alert('succeeed');
    }).catch = (function()
    {
        alert('failed');
    });
}

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

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

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