部署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": ""
}