修改集群

接口

updateCluster

参数

ClusterDescription 实例。修改集群(只能修改某些配置)。详情请看API文档

返回值

成功后返回一个 UpdateClusterResponse 实例。如果失败,抛出异常: ClientException

例子

Java 源码:

import com.aliyuncs.batchcompute.main.v20151111.*;
import com.aliyuncs.batchcompute.model.v20151111.*;
import com.aliyuncs.batchcompute.pojo.v20151111.*;
import com.aliyuncs.exceptions.ClientException;

public class UpdateCluster {
    static String ACCESS_KEY_ID = "xxx";  //这里填写您的 AccessKeyId
    static String ACCESS_KEY_SECRET = "xxx"; //这里填写您的 AccessKeySecret
    static String REGION_ID = "cn-xxx";   //这里填写 region
    static String ClusterId = "cls-xxx";

    public static void main(String[] args) {
        BatchCompute client = new BatchComputeClient(REGION_ID, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
        try{
            ClusterDescription desc = new ClusterDescription();

            GroupDescription groupDesc = new GroupDescription();
            //可以修改期望VM数量:0到n
            groupDesc.setDesiredVMCount(2);

            //ResourceType为spot时可以修改竞价策略
            //groupDesc.setSpotStrategy("SpotWithPriceLimit");
            //groupDesc.setSpotPriceLimit(10.0f);

            //可以修改实例类型
            groupDesc.setInstanceType("ecs.sn2ne.large");

            desc.addGroup("group1", groupDesc);

            UpdateClusterResponse response = client.updateCluster(ClusterId, desc);

            //扩展接口
            ChangeClusterDesiredVMCountResponse rsp = client.changeClusterDesiredVMCount(ClusterId, "group1", 3);
            //成功

        }catch(ClientException e){
            e.printStackTrace();
            //失败
        }
    }
}

执行结果:通过获取集群信息接口获取集群最新状态如下

{
  Name: cluster_test
  State: Active
    GroupInstanceType:ecs. sn2ne.large
    GroupVmNumber: 3
}
  • 注意:这个是个异步接口,不会立即生效。

扩展接口

另外我们还提供了直接修改 Group 内实例个数的接口您可以根据业务需要进行接口调用。参考 SDK 代码。

String ClusterId = "cls-6kie8e833lnov8gg50k00j";
client.changeClusterDesiredVMCount(ClusterId, "group1", 3);