创建集群

最近更新时间:2018-07-23 15:33:24

接口描述

本接口(CreateCluster)用于创建集群。

接口请求域名:

ccs.api.qcloud.com
  • 创建集群时,需要指定集群中节点(云服务器)的数量与配置。
  • 集群中所有节点为普通云盘。
  • 一个账户默认只能创建 5 个集群,可以 提交工单 增加配额。
  • 一个集群限 20 个节点,可以 提交工单 增加配额,同时也要符合 CVM 实例购买限制 文档所描述的总体数量限制。
  • CPU 与内存具体的 配比限制 参见 CVM 实例配置
  • 如需更改带宽,请在节点创建成功后,使用接口 UpdateInstanceBandwidthHour 更改,公网带宽不指定时默认为 0
  • 支持的节点类型 ( 每个可用区购买的机型不相同 ),详情请参见 CVM 实例配置

输入参数

以下请求参数列表仅列出了接口请求参数,其它参数请参阅 公共请求参数

参数名称 描述 类型 必选
clusterName 集群名称 String
clusterDesc 集群描述 String
clusterCIDR 用于分配集群容器和服务 IP 的 CIDR,不得与 VPC CIDR 冲突,也不得与同 VPC 内其他集群 CIDR 冲突 String
ignoreClusterCIDRConflict 是否忽略 ClusterCIDR 冲突错误,默认为 0
0:不忽略冲突(并返回错误)
1:忽略冲突(继续创建)
Int
zoneId 可用区,请填写 查询可用区 接口中返回的 Zone 字段 String
goodsNum 购买节点数量,最大 100 Int
cpu CPU 核数,具体限制见上 Int
mem 内存大小 ( GB ),具体限制见上 Int
osName 系统名。centos7.2x86_64 或者 ubuntu16.04.1 LTSx86_64,集群下所有节点都使用此系统,扩展节点也会自动使用此系统 String
instanceType 详情参见 CVM 实例配置, 默认值:S1.SMALL1 String
cvmType 节点的类型,默认按量计费
PayByHour:按量计费
PayByMonth:包年包月
String
renewFlag 包年包月自动续费标识。取值范围:
  • NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
  • NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
  • DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费

    默认取值:NOTIFY_AND_AUTO_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。参见InstanceChargePrepaid
  • String
    bandwidthType 带宽的类型
    包年包月主机:PayByMonth:按带宽使用时长计费,PayByTraffic:按流量计费
    按量计费主机:PayByHour:按带宽使用时长计费,PayByTraffic:按流量计费
    网络计费模式的区别可参看 购买网络带宽
    String
    bandwidth 公网带宽 ( Mbps ),当按流量计费时为公网带宽峰值 Int
    wanIp 是否开通公网 IP
    0:不开通
    1:开通
    bandwidth 大于 0,可自选择开通与否,默认开通公网 IP;bandwidth 为 0,则不分配公网 IP
    Int
    vpcId 私有网络 ID,请填写 查询私有网络列表 接口中返回的 unVpcId ( 私有网络统一 ID )字段 String
    subnetId 子网 ID,请填写 查询子网列表 接口中返回的 unSubnetId ( 子网统一 ID )字段。 String
    isVpcGateway 是否是 公网网关,公网网关只有在拥有公网 IP 以及处于私有网络下时才能正常使用
    0:非公网网关
    1:公网网关
    Int
    rootSize 系统盘大小。Linux 系统调整范围为 20 - 50G,步长为 1 Int
    rootType 系统盘类型。系统盘类型限制详见 CVM实例配置。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值:CLOUD_BASIC。
  • String
    storageSize 数据盘大小( GB )。步长为 10,0 :不要数据盘。有关磁盘最大值请参考 硬盘产品简介 Int
    storageType 数据盘类型。数据盘类型限制详见CVM实例配置。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值:CLOUD_BASIC。
  • String
    password 节点密码。未设置则为随机产生,并通过站内信下发。节点密码必须 8 - 16 位,至少包括两项 [ a - z,A - Z ]、[ 0 - 9 ] 和 [ ( ) & # 96;~ ! @ # $ % ^ & * - + = & #124; { } [ ] : ; ' < > ,. ? / ]中的特殊符号 String
    keyId 密钥 ID。关联密钥后可使用密钥登录节点,keyId 可通过接口 查询密钥 获取,密钥与密码不能同时指定,同时 Windows 操作系统不支持指定密钥 String
    period 包年包月节点买时长,单位月。当 cvmType 为 PayByMonth 时,必填此参数 Int
    sgId 安全组 ID,默认不绑定任何安全组,请填写 查询安全组列表 接口中返回的 sgId 字段。 String
    masterSubnetId 集群 Master 会占用一个 VPC 子网的 IP,该参数指定 Master 占用的 IP 所在哪个子网。该子网必须与集群存在同一个 VP C内。 String
    userScript base64 编码的用户脚本, 此脚本会在 k8s 组件运行后执行, 需要用户保证脚本的可重入及重试逻辑, 脚本及其生成的日志文件可在节点的/data/ccs_userscript/路径查看 String

    输出参数

    参数名称 描述 类型
    code 公共错误码。0 表示成功,其他值表示失败。详见 错误返回结果 Int
    codeDesc 业务侧错误码。成功时返回 Success,错误时返回具体业务错误原因 String
    message 模块错误信息描述,与接口相关。详见 错误返回结果 String
    requestId 任务 ID Int
    clusterId 集群 ID Int

    示例

    输入

      https://domain/v2/index.php?Action=CreateCluster
      &cvmType=PayByHour
      &period=1
      &zoneId=xxxx
      &cpu=1
      &mem=2
      &osName=centos7.2x86_64
      &bandwidthType=PayByTraffic
      &bandwidth=1&wanIp=1
      &vpcId=vpc-xxxxx
      &subnetId=subnet-hadbzxag
      &isVpcGateway=0
      &storageType=CLOUD_PREMIUM
      &storageSize=50
      &rootType=CLOUD_PREMIUM
      &rootSize=50
      &mountTarget=/var/lib/docker
      &dockerGraphPath=/var/lib/docker
      &goodsNum=1
      &sgId=sg-fxdfnvua
      &securityService=0
      &monitorService=1
      &clusterDesc=tete
      &clusterCIDR=xxx.xxx.xxx.xxx/xx
      &ignoreClusterCIDRConflict=0
      &projectId=0
      &asEnabled=0
      &unschedulable=0
      &clusterName=xxxxx
      &clusterVersion=1.8.13
      &instanceType=S3.SMALL2
      &password=xxxxx
      &instanceName=xxxx
      &其它公共参数
    

    输出

    {
        "data":{
            "code":0,
            "message":"",
            "codeDesc":"Success",
            "data":{
                "requestId":xxxx,
                "clusterId":"cls-xxxxxx"
            }
        },
        "message":"",
        "code":0
    }