创建组件实例
功能介绍
此API用来创建组件实例。
URI
POST /v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式),默认取值为“application/json;charset=utf8”。 |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
应用组件实例名称。 由小写英文字母、数字、中划线(-)组成,并以小写英文字母开头,小写英文字母或者数字结尾,长度为2~63个字符。 |
environment_id |
是 |
String |
环境ID。 |
replica |
是 |
Integer |
实例副本数。 |
flavor_id |
是 |
String |
资源规格,可查询获取所有支持的应用资源规格接口获取系统预定义好的资源规格。 如需自定义资源规格,格式为:CUSTOM-xxG:xxm-xxm:xxGi-xxGi。其中:
例如,CUSTOM-10G:0.5m-0.25m:1.6Gi-0.8Gi,表示给组件实例分配的CPU核数最大为0.5核,最小为0.25核,分配的最大内存为1.6Gi,最小为0.8Gi。 |
artifacts |
是 |
Map<String, Object> |
组件部署件。key为组件名,对于Docker多容器场景,key为容器名称。请参考表21。 当组件的source参数指定软件包来源时,该参数可以不选,默认继承组件的软件包来源。否则,该参数是必选项。 |
version |
是 |
String |
应用组件版本号,满足版本语义,如1.0.0。 |
configuration |
否 |
Object |
配置参数,如设置环境变量,部署配置, 运维监控等, 默认空。请参考表4。 |
description |
否 |
String |
描述。 最大长度为128个字符。 |
external_accesses |
否 |
Array of objects |
外网访问,请参考表22。 |
refer_resources |
是 |
Array of objects |
部署资源,请参考表23。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
env |
否 |
Array of objects |
环境变量,请参考表5。 |
storage |
否 |
Array of objects |
数据存储配置,请参考表6。 |
strategy |
否 |
Object |
升级策略,请参考表7。 |
lifecycle |
否 |
Object |
生命周期,请参考表8。 |
scheduler |
否 |
Object |
调度策略,请参考表9。 |
probes |
否 |
Object |
健康检查,请参考表10。 |
container_spec |
否 |
Object |
容器信息,请看考表24。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
环境变量名。 由字母、数字、下划线、中划线或者点号组成,不能以数字开头,且长度为1~64个字符。 |
value |
是 |
String |
环境变量值。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
存储类型,取值为:
|
parameters |
是 |
Object |
存储的参数,请参考表19。 |
mounts |
是 |
Array of objects |
挂载到容器的目录,请参考表20。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
upgrade |
否 |
String |
升级策略,默认为RollingUpdate。取值为Recreate和RollingUpdate,分别为替换升级和滚动升级。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
entrypoint |
否 |
Object |
启动命令,请参考表16。 |
post-start |
否 |
Object |
启动后处理,请参考表17。 |
pre-stop |
否 |
Object |
停止前处理,请参考表17。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
livenessProbe |
否 |
Object |
组件存活探针,请参考表11。 |
readinessProbe |
否 |
Object |
组件业务探针,请参考表11。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
取值可以为http、tcp或command。对应的检查方式分别为HTTP请求检查,TCP端口检查和执行命令检查。 |
parameters |
是 |
Object |
检查参数。 |
delay |
否 |
integer |
表示启动后多久开始探测。 |
timeout |
否 |
integer |
表示探测超时时间。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
scheme |
否 |
String |
HTTP或者HTTPS。 |
host |
否 |
String |
默认为POD的IP。可以指定自定义的IP。 |
port |
否 |
integer |
端口。 |
path |
否 |
String |
请求路径。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
az |
否 |
Array of String |
az名称列表 |
node |
否 |
Array of String |
节点私有IP列表 |
application |
否 |
Array of String |
组件实例名列表 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
command |
否 |
Array of String |
可执行的命令。 |
args |
否 |
Array of String |
运行参数。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
否 |
String |
取值为command或者http。command为执行命令行,http为发送http请求。 |
parameters |
否 |
Object |
启动后处理或者停止前处理参数。请参考表18。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
command |
否 |
Array of String |
命令参数,比如["sleep", "1"]。适用于command类型。 |
host |
否 |
String |
默认为POD实例的IP地址。也可以自己指定。适用于http类型。 |
port |
否 |
integer |
端口号。适用于http类型。 |
path |
否 |
String |
请求url。适用于http类型。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
否 |
String |
主机路径, 适用于HostPath的存储类型。 |
name |
否 |
String |
配置项或者密钥的名字, 适用于ConfigMap和Secret的存储类型。 |
defaultMode |
否 |
Integer |
挂载的权限,十进制格式,如384。 |
medium |
否 |
String |
适用于EmptyDir类型的存储。不传参数为默认的磁盘介质,传参为memory则开启内存存储。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
是 |
String |
挂载路径,记录挂载的磁盘路径。 |
subPath |
否 |
String |
记录挂载磁盘的子路径。 |
readOnly |
是 |
boolean |
挂载的磁盘权限为只读或者读写。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
storage |
是 |
String |
存储方式,支持软件仓库swr、镜像仓库swr、对象存储obs、软件发布库codearts。 |
type |
是 |
String |
类别。
|
url |
是 |
String |
软件包/镜像地址。对于基于虚机部署的组件,值为软件包的地址。对于基于容器部署的组件,值为镜像的地址或者“组件名:v${index}”,后者表示使用组件来源中的源码或者软件包自动构建生成的镜像。 |
auth |
是 |
String |
认证方式,支持iam和none,默认为iam。 |
version |
否 |
String |
版本号。 |
properties |
否 |
Map<String, Object> |
属性。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
protocol |
是 |
String |
协议,支持http、https。 |
address |
是 |
String |
访问地址。 |
forward_port |
是 |
integer |
端口号。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
是 |
String |
资源ID。 如果type为ecs的时候,该字段的值固定为“Default”。 |
type |
是 |
String |
基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。 |
refer_alias |
否 |
String |
应用别名,dcs时才提供,支持“distributed_session”、“distributed_cache”、“distributed_session, distributed_cache”。默认值是“distributed_session, distributed_cache”。 |
parameters |
否 |
Map<String, Object> |
引用资源参数。
须知:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
containers |
否 |
Array of Objects |
容器信息,参考表25。 |
type |
否 |
String |
工作负载类型:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
容器名称。 |
size |
否 |
Object |
资源规格,请参考表26。 |
env |
否 |
Array of Object |
环境变量,请参考表5。 |
storage |
否 |
Array of objects |
数据存储配置,请参考表6。 |
lifecycle |
否 |
Object |
生命周期,请参考表8。 |
probes |
否 |
Object |
健康检查,请参考表10。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
否 |
String |
资源规格,可查询获取所有支持的应用资源规格接口获取系统预定义好的资源规格。 如需自定义资源规格,格式为:CUSTOM-xxG:xxm-xxm:xxGi-xxGi。其中:
例如,CUSTOM-10G:0.5m-0.25m:1.6Gi-0.8Gi,表示给组件实例分配的CPU核数最大为0.5核,最小为0.25核,分配的最大内存为1.6Gi,最小为0.8Gi。 |
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
job_id |
String |
Job ID,用于查询创建任务信息。 |
instance_id |
String |
应用组件实例ID。 |
请求示例
创建名称为component-instance-name的组件实例,组件实例运行环境选择ID为6e763000-9128-4a9d-adea-34c42cc5344d的环境,组件部署件选择存储在obs下myapp桶中的demo.jar包,部署资源选择id为b6862a62-d916-11e9-bdf1-0255ac101fd9的CCE和id为8c0a45cc-626f-4d65-8257-507ee059aa9a的ELB。
{ "name": "component-instance-name", "environment_id": "6e763000-9128-4a9d-adea-34c42cc5344d", "flavor_id": "MICRO-5G:0.5m:1G", "replica": 1, "artifacts": { "container-name": { "storage": "obs", "type": "package", "url": "obs://myapp/demo.jar", "properties": { "bucket": "myapp", "key": "demo.jar", "endpoint": "https://obs.region_id.external_domain_name.com" }, "auth": "iam" } }, "version": 1, "description": "instance desc", "configuration": { "env": [ { "name": "log-level", "value": "warn" } ] }, "refer_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce", "parameters": { "namespace": "default" } }, { "id": "8c0a45cc-626f-4d65-8257-507ee059aa9a", "type": "elb" } ] }
响应示例
{ "instance_id": "89f5baf5-efe4-4f12-9c0d-734d2af5a184", "job_id": "JOB66761060-f209-407c-a093-4df6f531b9dc" }
状态码
状态码 |
描述 |
---|---|
200 |
操作成功 |
400 |
错误的请求 |
404 |
请求对象不存在 |
500 |
内部错误 |
错误码
错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考ServiceStage错误码。