创建组件实例
功能介绍
此API用来创建应用组件实例。
URI
POST /v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
project_id |
String |
是 |
租户项目ID |
application_id |
String |
是 |
应用ID |
component_id |
String |
是 |
组件ID |
请求消息
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
name |
String |
是 |
应用组件实例名称。 由小写英文字母、数字、中划线(-)组成,并以小写英文字母开头,小写英文字母或者数字结尾,长度为2~63个字符。 |
environment_id |
String |
是 |
环境ID。 |
replica |
Integer |
是 |
实例副本数。 |
flavor_id |
String |
是 |
资源规格,可查询获取所有支持的应用资源规格接口获取系统预定义好的资源规格。 如需自定义资源规格,格式为:CUSTOM-xxG:xxC-xxC:xxGi-xxGi。其中:
例如,CUSTOM-10G:0.5C-0.25C:1.6Gi-0.8Gi,表示给组件实例分配的CPU核数最大为0.5核,最小为0.25核,分配的最大内存为1.6Gi,最小为0.8Gi。 |
artifacts |
Map<String, Object> |
是 |
组件部署件。key为组件名,对于Docker多容器场景,key为容器名称。请参考表19。 |
version |
String |
是 |
应用组件版本号,满足版本语义,如1.0.0。 |
configuration |
Object |
否 |
配置参数,如设置环境变量,部署配置, 运维监控等, 默认空。请参考表3。 |
description |
String |
否 |
描述。 最大长度为128个字符。 |
external_accesses |
Array of objects |
否 |
外网访问,参考表20。 |
refer_resources |
Array of objects |
是 |
部署资源,参考表21。 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
env |
Array of objects |
否 |
环境变量,参考表4 |
storage |
Array of objects |
否 |
数据存储配置,参考表5 |
strategy |
Object |
否 |
升级策略,参考表6 |
lifecycle |
Object |
否 |
生命周期,参考表7 |
scheduler |
Object |
否 |
调度策略,参考表8 |
probes |
Object |
否 |
健康检查,参考表9 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
name |
String |
是 |
环境变量名。 由字母、数字、下划线、中划线或者点号组成,不能以数字开头,且长度为1~64个字符。 |
value |
String |
是 |
环境变量值。 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
type |
String |
是 |
存储类型,取值为:
|
parameters |
Object |
是 |
存储的参数,参考表18 |
mounts |
Array of objects |
是 |
挂载到容器的目录,参考表17 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
upgrade |
String |
否 |
升级策略,默认为RollingUpdate。取值为Recreate和RollingUpdate,分别为替换升级和滚动升级。 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
entrypoint |
Object |
否 |
启动命令,参考表15 |
post-start |
Object |
否 |
启动后处理,参考表15 |
pre-stop |
Object |
否 |
停止前处理,参考表15 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
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 |
是 |
启动后处理或者停止前处理参数。参考表17。 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
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的存储类型 |
claimName |
String |
否 |
PVC的名字,适用于PersistentVolumeClaim的存储类型 |
参数 |
参数类型 |
必选 |
描述 |
---|---|---|---|
storage |
String |
是 |
存储方式,支持swr、obs。 |
type |
String |
是 |
类别,虚机部署为package,容器部署为image。 |
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。 可选资源:dcs、elb等其他类型。 |
refer_alias |
String |
否 |
应用别名,dcs时才提供,支持“distributed_session”、“distributed_cache”、“distributed_session, distributed_cache”, 默认值是“distributed_session, distributed_cache”。 |
parameters |
Map<String,Object> |
否 |
引用资源参数。
须知:
|
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
job_id |
String |
Job ID,用于查询创建任务信息 |
instance_id |
String |
应用组件实例ID |
示例
请求示例
{ "name": "component-instance-name", "environment_id": "6e763000-9128-4a9d-adea-34c42cc5344d", "flavor_id": "MICRO-5G:0.5C:1G", "replica": 1, "artifacts": { "container-name": { "storage": "swr", "type": "image", "url": "{IP}:20202/xxxxxxxx/junit-platformstest:1.0", "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。错误码说明请参考应用管理API错误码。