调用createMicroserviceApplication接口新建微服务应用
接口URL:/v1/app/createMicroserviceApplication
Content-Type:application/json
请求方式:post
请求体参数说明:
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
branchOrTagName | String | String | 否 | 分支tag名称,当部署来源:源码时必填 |
buildEnvCode | String | String | 否 | 编译环境,当部署来源:源码时必填 |
category | String | String | 是 | 应用分类 |
clusterType | String | String | 是 | 部署集群类型,数据只能为:KUBERNETES |
codeReposAddress | String | String | 否 | 仓库地址,当部署来源:源码时必填 |
configMgtList | Array | Array | 否 | 配置管理 |
connectionId | String | String | 否 | 服务连接ID,当部署来源:源码时必填 |
deployEnvId | String | String | 是 | 环境ID |
deploySource | String | String | 是 | 部署来源,数据可为:CODE(源码), PACKAGE(制品), IMAGE(镜像) |
deployVer | String | String | 是 | 部署版本号 |
deploymentStrategy | Object | Object | 否 | 灰度部署策略 |
description | String | String | 否 | 应用描述 |
envVariableList | Array | Array | 否 | 环境变量 |
language | String | String | 是 | 应用语言,可填数据为JAVA |
lifeCycleMgt | Object | Object | 否 | 应用健康检查 |
logConfig | Object | Object | 否 | 日志收集 |
msManagement | Object | Object | 否 | 服务注册 |
name | String | String | 是 | 应用名称 |
officialDemoCode | String | String | 否 | 官方demo,当部署来源:制品且制品为官方DEMO时必填 |
origin | String | String | 是 | 来源, 支持源码来源GITEE、GITHUB,支持制品来源JAR、WAR |
packageId | String | String | 否 | 制品ID,当部署来源:制品时必填 |
packageName | String | String | 否 | 程序包名称,当部署来源:源码时必填 |
packagePath | String | String | 否 | 程序包路径,当部署来源:源码时必填 |
packageSource | String | String | 否 | 制品来源,当部署来源:制品时必填,数据可填为:USER_UPLOAD(用户上传),OFFICIAL_DEMO(官方DEMO),CODE_GENERATE(代码生成),EXISTED_PACKAGE(已存在制品) |
packageVer | String | String | 是 | 制品版本 |
podNum | Integer | Integer | 是 | K8s pod数量 |
podResourceSpec | Object | Object | 是 | 单Pod资源配额 |
projectId | String | String | 是 | 项目ID |
runtimeEnvCode | String | String | 是 | 运行环境 |
runtimeEnvVer | String | String | 是 | 运行环境版本号 |
startCommand | Object | Object | 否 | 启动命令 |
startCommand.args | Array | Array | 否 | 启动参数 |
startCommand.command | String | String | 否 | 启动命令 |
type | String | String | 是 | 应用类型,数据可为EXTERNAL_CODE(源码),PACKAGE(制品) |
表configMgtList
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
configType | String | String | 否 | 配置类型,目前默认只支持配置项CONFIG_MAP、保密字典SECRET |
fileMountType | String | String | 否 | 文件挂载方式,默认现在只有覆盖方式 |
mountConfigList | Array | Array | 否 | 指定配置项下各文件的挂载 |
mountMasterDir | String | String | 否 | 挂载主目录 |
mountSource | String | String | 否 | 挂载源,目前默认就是获取配置项名称 |
mountType | String | String | 否 | 挂载类型,目前默认只支持挂载到文件MOUNT_FILE |
表mountConfigList
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
mountPath | String | String | 否 | 配置项文件挂载路径 |
name | String | String | 否 | 配置项文件名称 |
表deploymentStrategy
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
batchList | Array | Array | 否 | 批次列表 |
batchWaitTime | Integer | Integer | 否 | 批次间隔时间,自动时才会填写 |
betweenBatchProcessingMode | String | String | 否 | 批次间处理方式,分为自动AUTO和手动MANUAL,目前只能为MANUAL |
grayRule | Object | Object | 否 | 灰度规则 |
grayUpdate | Boolean | Boolean | 否 | 是否灰度 |
表batchList
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
batchSeq | Integer | Integer | 否 | 批次序号 |
instNum | Integer | Integer | 否 | 批次实例数 |
表grayRule
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
content | Object | Object | 否 | 内容灰度 |
grayType | String | String | 否 | 灰度类型,数据只能为PERCENT和CONTENT |
percent | Array | Array | 否 | 流量灰度 |
表content
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
carryData | Boolean | Boolean | 否 | 是否链路传递 |
ruleName | String | String | 否 | 规则名 |
rules | Array | Array | 否 | 灰度内容规则 |
tag | String | String | 否 | 标签名 |
表rules
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
condition | String | String | 否 | 条件模式AND-同时满足OR-任一 |
conditions | Array | Array | 否 | 暂无描述 |
path | String | String | 否 | 请求路径serviceType=springCloud属性必填 |
serviceType | String | String | 否 | 框架类型springcloud和Dubbo |
表conditions
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
cond | String | String | 否 | =、!=、>、<、>=、<=、%、in、mod、regexp |
expr | String | String | 否 | serviceType=Dubbo属性必填 |
index | Integer | Integer | 否 | serviceType=Dubbo属性必填 |
operator | String | String | 否 | cond=mod必填,=、!=、>、<、>=、<= |
param | String | String | 否 | serviceType=springCloud属性必填 |
type | String | String | 否 | serviceType=springCloud属性必填,cookie、header、param、body |
value | String | String | 否 | cond=in时多个以逗号隔开 |
表percent
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
rate | Integer | Integer | 否 | 流量灰度比例 |
tag | String | String | 否 | 流量灰度标签 |
表envVariableList
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
name | String | String | 否 | 变量名 |
type | String | String | 否 | 变量类型,限自定义COMMON_ENV_VAR、配置项K8S_CONFIG_MAP_ENV_VAR、保密字典K8S_SECRET_ENV_VAR |
value | String | String | 否 | 变量值 |
referenceName | String | String | 否 | 当type为配置项K8S_CONFIG_MAP_ENV_VAR或者保密字典K8S_SECRET_ENV_VAR时,该参数必填;当type为自定义COMMON_ENV_VAR时,该参数非必填 |
表lifeCycleMgt
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
liveness | Object | Object | 否 | liveness配置 |
readiness | Object | Object | 否 | readiness配置 |
表liveness
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
enabled | Boolean | Boolean | 否 | 是否开启 |
exec | Object | Object | 否 | exec模式 |
exec.command | Array | Array | 否 | 启动命令 |
failureThreshold | Integer | Integer | 否 | 失败次数 |
httpGet | Object | Object | 否 | httpGet模式 |
httpGet.headerList | Array | Array | 否 | HttpHeaders |
httpGet.headerList.name | String | String | 否 | HttpHeaders名称 |
httpGet.headerList.value | String | String | 否 | HttpHeaders值 |
httpGet.host | String | String | 否 | 主机地址 |
httpGet.path | String | String | 否 | 路径 |
httpGet.port | Integer | Integer | 否 | 主机端口 |
httpGet.scheme | String | String | 否 | 请求协议,可为HTTP和HTTPS |
initialDelaySeconds | Integer | Integer | 否 | 初始化延迟时间 |
mode | String | String | 否 | 模式,数据可为EXEC,HTTP_GET,TCP_SOCKET |
periodSeconds | Integer | Integer | 否 | 间隔时间 |
successThreshold | Integer | Integer | 否 | 成功次数 |
tcpSocket | Object | Object | 否 | tcpSocket模式 |
tcpSocket.host | String | String | 否 | 主机地址 |
tcpSocket.port | Integer | Integer | 否 | 端口 |
timeoutSeconds | Integer | Integer | 否 | 超时时间 |
表readiness
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
enabled | Boolean | Boolean | 否 | 是否开启 |
exec | Object | Object | 否 | exec模式 |
exec.command | Array | Array | 否 | 启动命令 |
failureThreshold | Integer | Integer | 否 | 失败次数 |
httpGet | Object | Object | 否 | httpGet模式 |
httpGet.headerList | Array | Array | 否 | HttpHeaders |
httpGet.headerList.name | String | String | 否 | HttpHeaders名称 |
httpGet.headerList.value | String | String | 否 | HttpHeaders值 |
httpGet.host | String | String | 否 | 主机地址 |
httpGet.path | String | String | 否 | 路径 |
httpGet.port | Integer | Integer | 否 | 主机端口 |
httpGet.scheme | String | String | 否 | 请求协议,可为HTTP和HTTPS |
initialDelaySeconds | Integer | Integer | 否 | 初始化延迟时间 |
mode | String | String | 否 | 模式,数据可为EXEC,HTTP_GET,TCP_SOCKET |
periodSeconds | Integer | Integer | 否 | 间隔时间 |
successThreshold | Integer | Integer | 否 | 成功次数 |
tcpSocket | Object | Object | 否 | tcpSocket模式 |
tcpSocket.host | String | String | 否 | 主机地址 |
tcpSocket.port | Integer | Integer | 否 | 端口 |
timeoutSeconds | Integer | Integer | 否 | 超时时间 |
表logConfig
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
createTime | String | String | 否 | 创建时间 |
logDir | String | String | 否 | 日志路径 |
logProject | String | String | 否 | 暂无描述 |
logStore | String | String | 否 | 日志存储路径 |
logType | String | String | 否 | 采集日志类型,数据可为stdout:标准输出;applog:文件日志 |
表msManagement
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
aligned | Boolean | Boolean | 否 | 通过就绪检查前完成服务注册 |
delayTime | Integer | Integer | 否 | 延迟注册时间,单位为秒, 0-86400 |
enabled | Boolean | Boolean | 否 | 是否开启无损上下线 |
funcType | Integer | Integer | 否 | 预热曲线类型, 0-20 |
registerCenterInstId | String | String | 否 | 注册中心实例ID,不传代表使用自建注册中心 |
related | Boolean | Boolean | 否 | 通过就绪检查前完成服务预热 |
warmupTime | Integer | Integer | 否 | 预热时长,单位为秒, 0-86400 |
表podResourceSpec
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
cpuLimit | Integer | Integer | 否 | cpu下限 |
cpuRequest | Integer | Integer | 否 | cpu上限 |
memoryLimit | Integer | Integer | 否 | 内存下限 |
memoryRequest | Integer | Integer | 否 | 内存上限 |
请求示例:
{"packageVer":"1.0.0","codeReposAddress":"https://gitee.com/huangzy52/nacos-provider.git","origin":"GITEE","description":"micro service app","language":"JAVA","deployEnvId":"09011c3e-cf9d-4679-a964-79e46d2f9e3c","type":"EXTERNAL_CODE","runtimeEnvCode":"openjdk","packageSource":"CODE_GENERATE","envVariableList":[{"name":"XXX","type":"CUSTOMER","value":"YYY"}],"deployVer":"1.0.0.0","packageName":"spring-cloud-provider-nacos.jar","packagePath":"/target","clusterType":"KUBERNETES","msManagement":{"related":false,"registerCenterInstId":"142d376ecf4c42d9993e8a197daec0b6","warmupTime":0,"delayTime":120,"aligned":false,"useAppRegisterConfig":false,"enabled":false,"funcType":2},"podNum":1,"branchOrTagName":"master","deploySource":"CODE","schedulingRule":{"mode":"SCHEDULING","deployAcrossNodes":false,"deployAcrossZones":false},"buildEnvCode":"openjdk8-maven3","runtimeEnvVer":"8u362","podResourceSpec":{"cpuLimit":0,"memoryRequest":1024,"memoryLimit":0,"cpuRequest":1},"name":"test-app","connectionId":"d893aa41-ba0f-4b20-95ee-1f6f65eae5c1","category":"MICRO_SERVICE_APP","projectId":"3e8694b6-cc4d-4a7a-962e-5f61a07760e5"}
返回参数说明:
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
statusCode | Integer | Integer | 响应编码 2000 success |
message | String | String | 消息内容 |
returnObj | Object | Object | 返回数据 |
error | String | String | 调用错误时返回的错误编码 |
返回示例:成功
{"statusCode":2000,"message":"成功","returnObj":{"changeOrderId":"xxx","appId":"xxx"}}
返回示例:失败
{"statusCode":190400,"error":"MSAP_400","message":"应用分类不能为空."}