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