部署environment
功能介绍
部署基因测序所需的环境,开始基因测序之前,请先进行必要的资源配置。
URI
POST /v1/environments
请求消息
请求参数
请求参数如表1所示。
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 否 | String | 项目ID,获取方式详见获取项目ID。 |
source | 是 | String | 部署环境的方式,支持选项: |
cluster_id | 否 | String | 集群ID。当“source”填写的为“cce”,并且需要通过已有集群来部署环境时,此处需要填写已有集群的集群ID。否则此处不用填写。 |
cluster_name | 否 | String | 命名空间。当“source”填写的为“cci”,并且需要通过已有命名空间来部署环境时,此处需要填写已有命名空间名称。否则此处不用填写。 |
bucket_name | 否 | String | 对象存储桶名。当“source”填写的为“cce“,该字段必填,当“source”填写的为“cci“,若使用桶,必须为并行文件系统,若未使用桶可不填。 |
inputs_json | 否 | 当“source”填写的为“cce”,并且需要通过创建新的集群来部署环境时,此上需要填写新建集群需要的入参。 | |
default_env | 否 | String | 是否设置为默认环境,默认值false。支持选项:
|
env_name | 是 | String | 环境名称,输入字符最大长度为64,以小写字母开头,允许出现中划线(-)、小写字母和数字,且必须以小写字母或数字结尾。 |
ak | 否 | String | 用户AK。当“source ”为”cci”时,需要填写。获取方法请参见访问密钥。 |
sk | 否 | String | 用户SK。当“source ”为”cci”时,需要填写。获取方法请参见访问密钥。 |
enterprise_project_id | 否 | String | 环境的企业项目id,默认为“0”,default企业项目,注意企业项目id要与命名空间的企业项目对应 |
参数 | 是否必选 | 类型 | 描述 |
|---|---|---|---|
kind | 是 | String | 资源类型,必须设置为“cluster”。 |
apiVersion | 是 | String | API的版本,当前为固定值“v2”。 |
metadata | 是 | - | |
spec | 是 | - |
参数 | 是否必选 | 类型 | 描述 |
|---|---|---|---|
authentication | 是 | Map[String]String | 认证方式。 |
kubeProxyMode | 是 | String | KubeProxy代理模式。 |
description | 否 | String | 集群描述信息。 |
region | 否 | String | 集群所在的地域。 |
az | 是 | String | 集群所在的可用分区。 |
vpc | 是 | String | 集群所在的虚拟私有云。 |
vpcId | 是 | String | 集群所在虚拟私有云的ID。 |
subnet | 是 | String | 集群所在的子网。 |
subnetId | 是 | String | 集群子网的ID。 |
version | 否 | String | 集群版本号,一般类似v1.11.7。 |
networkMode | 否 | String | 集群容器网络的类型,类似overlay_l3,vpc_router等。 |
containerNetworkCIDR | 否 | String | 容器网络的CIDR,一般为172.16.0.0/16。 |
template | 否 | 节点模板,创建集群时若需要添加节点则填写。 | |
chargeMode | 否 | Integer | 计费模式:0为包周期计费,1为按需计费。 |
flavor | 否 | String | 集群规格,类似cce.s1.large等。 |
参数 | 是否必选 | 类型 | 描述 |
|---|---|---|---|
kind | 是 | String | 资源类型,必须设置为“host”。 |
apiVersion | 是 | String | API的版本,当前为固定值“v2”。 |
metadata | 是 | - | |
spec | 是 | - |
参数 | 是否必选 | 类型 | 描述 |
|---|---|---|---|
az | 否 | String | 节点所在的可用分区。如果没有指定az值,节点将创建在所属集群的可用分区内。 |
flavor | 是 | String | 虚拟机规格。 |
volume | 是 | 虚拟机磁盘信息。 | |
sshKey | 是 | String | 节点所使用的密钥对的名字。 |
num | 是 | Integer | 批量创建节点的个数。 |
enableEip | 否 | Boolean | 是否使用EIP。 |
os | 否 | String | 节点的操作系统 |
extendParam | 否 | Interface | 扩展参数,key/value对格式 |
参数 | 是否必选 | 类型 | 描述 |
|---|---|---|---|
diskType | 是 | String | 磁盘类型,区分是系统盘还是数据盘。 |
diskSize | 是 | Integer | 磁盘大小,单位为GB,不同磁盘类型对磁盘大小有不同的约束。
|
volumeType | 是 | String | 磁盘IO类型。类型枚举值如下:
|
deleteAble | 是 | Boolean | 是否可被删除。 |
editIoSize | 是 | Boolean | 是否可编辑IO大小。 |
editIoType | 是 | Boolean | 是否可编辑IO类型。 |
editShareType | 是 | Boolean | 是否可编辑租户共享类型。 |
maxSize | 是 | Integer | 最大规格。 |
minSize | 是 | Integer | 最小规格。 |
product | 是 | String | 产品名称。 |
product_id | 是 | String | 产品ID。 |
shareable | 是 | Boolean | 是否支持租户共享。 |
sysDiskIops | 否 | String | 系统盘IO速率。 |
volumnType | 是 | String | 卷类型。 |
请求示例
已有集群ID为3aaa7db4-3bfa-11e9-9e24-0255ac10576a的CCE集群资源部署名为gcs-env-cce环境,使用gene-container-bucket对象存储桶。
POST /v1/environments
Host:Host Server
Content-Type:application/json
{
"source":"cce",
"project_id":"c515675*********8a8a81ede51894ac",
"cluster_id":"3aaa7db4-3bfa-11e9-9e24-0255ac10576a",
"bucket_name":"gene-container-bucket",
"env_name":"gcs-env-cce",
"default_env":false,
"enterprise_project_id":"0"
} 新建入参为inputs_json的cce集群资源部署名为gcs-env-cce-new环境,使用gene-container-bucket对象存储桶。
{
"source": "cce",
"project_id": "c515675********8a8a81ede51894ac",
"inputs_json": {
"kind": "cluster",
"apiVersion": "v2",
"metadata": {
"name": "gene-container-new-cce",
"annotations": {
"installIstioVersion": "false",
"cluster.install.addons/install": "[{\"addonTemplateName\":\"storage-driver\",\"version\":\"\"}]"
}
},
"spec": {
"networkMode": "overlay_l2",
"region": "southchina",
"description": "",
"subnet": "CCI-dc1-486477335",
"subnetId": "959903d0-383d-47d4-8565-7ffdeab4d31b",
"vpcId": "005d2390-0cbc-4f8d-a0eb-4cd22b71f79b",
"vpc": "vpc-fcb-hl",
"containerNetworkCIDR": "172.16.0.0/16",
"version": "v1.11.7",
"flavor": "cce.s2.small",
"chargeMode": 0,
"az": "az1.dc1",
"kubeProxyMode": "iptables",
"template": {
"kind": "host",
"apiVersion": "v2",
"metadata": {
"name": "gcs-env-node"
},
"spec": {
"az": "az1.dc1",
"flavor": "c3.xlarge.2",
"os": "EulerOS 2.2",
"osVersion": true,
"volume": [{
"diskType": "root",
"diskSize": 40,
"volumeType": "SATA",
"product": "",
"shareable": false,
"editIoType": true,
"editShareType": false,
"editIoSize": false,
"deleteAble": false,
"minSize": 40,
"maxSize": 1024,
"diskSizeTip": "",
"sysDiskIops": "",
"productId": "00301-34090-0--0"
},
{
"diskType": "data",
"diskSize": 100,
"volumeType": "SATA",
"minDocker": 60,
"dockerChecked": false,
"product": "",
"shareable": false,
"editIoType": true,
"editShareType": false,
"editIoSize": true,
"deleteAble": true,
"minSize": 100,
"maxSize": 32678,
"maxAllocation": 100,
"dockerPercent": 90,
"kubeletPercent": 10,
"diskSizeTip": "100-32678",
"dataDiskSelectedId": "SATA",
"dataDiskIops": "100-1,000 IOPS",
"productId": "00301-34090-0--0"
}],
"enableEip": false,
"num": 1,
"personality": [],
"extendParam": {
},
"sshkey": "KeyPair-bc37"
}
},
"authentication": {
"mode": "rbac"
}
}
},
"bucket_name": "gene-container-bucket",
"env_name": "gcs-env-cce-new",
"default_env": false
} 已有CCI命名空间cci-namespace部署名为gcs-env-gcsenv-cci环境,使用gene-container-bucket对象存储桶。
POST /v1/environments
Host:Host Server
Content-Type:application/json
{
"source":"cci",
"project_id":"c515675********98a8a81ede51894ac",
"cluster_name":"cci-namespace",
"bucket_name":"gene-container-bucket",
"env_name":"gcs-env-gcsenv-cci",
"ak":"ZHV********RJQVFSCJQ",
"sk":"YVfTZqpgFOH********3XNTrAbhQmw7JhxaaadNf",
"default_env":false
} 响应消息
响应参数
请求成功的响应参数如表8所示。
响应示例
{
"id": "e19d3faf-9f04-9685-e5c0-fbe8d40b96cd"
} 请求失败的响应参数如表9所示。
参数 | 参数类型 | 描述 |
|---|---|---|
error_msg | String | 请求失败的详细原因。 |
error_code | String | 请求失败的错误码,错误码详细描述请参见错误码。 |
extend | String | 请求失败的扩展原因。 |
失败响应示例
{
"error_msg": "Server internal error, please contact the administrator.",
"error_code": "GENE.5008012",
"extend": ""
} 
