创建应用模板版本 - CreateAppVersions
功能介绍
创建一个应用模板版本
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v2/{project_id}/edgemgr/apps/{app_id}/versions
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID |
app_id | 是 | String | 应用模板ID |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Content-Type | 是 | String | 消息体的类型(格式),默认取值为“application/json”。 |
X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
ief-instance-id | 否 | String | 企业版实例ID,专业版实例为空值。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
version | 是 | VersionDetail object | 应用模板版本配置 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
version | 是 | String | 应用版本号 |
image_url | 是 | String | 镜像存储地址 |
envs | 否 | Array of Env objects | 环境变量 |
volumes | 否 | Array of Volumes objects | 卷配置 |
configs | 否 | AppConfigs object | 容器特殊参数 |
resources | 否 | Resources object | 资源配额 |
arch | 否 | String | 架构 |
command | 否 | Array of strings | 启动命令 |
args | 否 | Array of strings | 参数 |
liveness_probe | 否 | ProbeDetail object | 工作负载存活探针 |
readiness_probe | 否 | ProbeDetail object | 工作负载业务探针 |
npu_type | 否 | String | NPU类型,支持D310、D310B,支持填写:
|
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 环境变量的key,由大小写字母或下划线开头,由数字、大小写字母、下划线组成,最大长度2048个字符,不允许重复 |
value | 否 | String | 环境变量的value,最大长度20480个字符。value、value_from和field_path必须三选一使用。 |
value_from | 否 | ValueFrom object | 环境变量可使用配置项和密钥导入 |
field_path | 否 | String | 该参数目前只支持赋值"status.hostIP",即引用边缘节点的IP地址作为环境变量。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
secret | 否 | Secrets object | 环境变量引用密钥时使用。使用ValueFrom时,secret与configmap必须二选一。 |
configmap | 否 | ConfigsMap object | 环境变量引用配置项时使用。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 卷名称,小写字母或数字,最长63个字符 |
type | 是 | String | 卷的类型,支持configMap,secret,emptyDir,hostPath |
source | 是 | String | 卷来源,type为hostPath时输入路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字; secret时输入secret名称,configMap时输入configMap名称,emptyDir时输入disk或memory |
destination | 是 | String | 卷挂载路径,必须是合法的路径 |
read_only | 否 | Boolean | 读写权限,configMap和secret类型只支持读权限 |
default_mode | 否 | Integer | 挂载的文件权限,仅configMap和secret类型生效,填写值为十进制表示的linux文件权限,默认为420(对应权限644) |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
privileged | 否 | Boolean | 默认为false,表示是否开启特权模式 |
run_as_user | 否 | Integer | 容器运行用户ID,输入范围为0~65534的整数 |
host_network | 否 | Boolean | 默认为true,其中true表示主机网络,而false表示端口映射 |
restart_policy | 否 | String | 应用实例重启模式:
|
ports | 否 | Array of Ports objects | 容器端口映射值 |
host_pid | 否 | Boolean | 应用实例是否与主机共PID命名空间,默认值false |
dns_policy | 否 | String | 应用实例DNS策略,可选值Default、ClusterFirst、ClusterFirstWithHostNet,默认为Default。应用实例启用主机网络时只能选填Default、ClusterFirstWithHostNet,不启用主机网络时只能选填Default、ClusterFirst |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
container_port | 否 | Integer | 构成一对映射的容器端口 |
host_port | 否 | Integer | 构成一对映射的物理机对应网卡端口 |
host_ip | 否 | String | 对应网卡地址 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
limits | 否 | LimitsRequests object | 允许容器使用的最大资源 |
requests | 否 | LimitsRequests object | 容器需要使用的最小资源 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
cpu | 否 | Float | cpu核数,大于等于0.01,最大1000;请求不需要带单位 |
memory | 否 | Float | 内存大小,单位兆,大于等于0.01,最大1024000。注意:内存的limits值最小为4;请求不需要带单位 |
gpu | 否 | Float | Gpu显存大小,单位兆,大于等于0.01,最大1024000;请求不需要带单位 |
npu | 否 | Integer | Npu个数,大于0,最大1000;请求不需要带单位 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
exec_command | 否 | String | 执行探测的命令行命令,长度1-10240内的字符串 |
http_get | 否 | HttpGetDetail object | 执行http探测 |
initial_delay_seconds | 否 | Integer | 表示从工作负载启动后从多久开始探测,大于0且不大于3600的整数,默认为10 |
timeout_seconds | 否 | Integer | 表示探测超时时间,大于0且不大于3600的整数,默认为1 |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
version | AppVersionDetail object | app详情 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 应用版本ID |
version | String | 应用版本号 |
created_at | String | 创建时间 |
updated_at | String | 更新时间 只有更新后才会出现该字段 |
project_id | String | 项目ID |
image_url | String | 镜像存储地址 |
envs | Array of Env objects | 环境变量 |
volumes | Array of Volumes objects | 卷配置 |
configs | AppConfigs object | 容器特殊参数 |
resources | Resources object | 容器使用的资源 |
arch | String | 架构 |
command | Array of strings | 启动命令 |
args | Array of strings | 参数 |
liveness_probe | ProbeDetail object | 工作负载存活探针 |
readiness_probe | ProbeDetail object | 工作负载业务探针 |
npu_type | String | NPU类型,支持D310、D310B,支持填写:
|
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 环境变量的key,由大小写字母或下划线开头,由数字、大小写字母、下划线组成,最大长度2048个字符,不允许重复 |
value | String | 环境变量的value,最大长度20480个字符。value、value_from和field_path必须三选一使用。 |
value_from | ValueFrom object | 环境变量可使用配置项和密钥导入 |
field_path | String | 该参数目前只支持赋值"status.hostIP",即引用边缘节点的IP地址作为环境变量。 |
参数 | 参数类型 | 描述 |
|---|---|---|
secret | Secrets object | 环境变量引用密钥时使用。使用ValueFrom时,secret与configmap必须二选一。 |
configmap | ConfigsMap object | 环境变量引用配置项时使用。 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 卷名称,小写字母或数字,最长63个字符 |
type | String | 卷的类型,支持configMap,secret,emptyDir,hostPath |
source | String | 卷来源,type为hostPath时输入路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字; secret时输入secret名称,configMap时输入configMap名称,emptyDir时输入disk或memory |
destination | String | 卷挂载路径,必须是合法的路径 |
read_only | Boolean | 读写权限,configMap和secret类型只支持读权限 |
default_mode | Integer | 挂载的文件权限,仅configMap和secret类型生效,填写值为十进制表示的linux文件权限,默认为420(对应权限644) |
参数 | 参数类型 | 描述 |
|---|---|---|
privileged | Boolean | 默认为false,表示是否开启特权模式 |
run_as_user | Integer | 容器运行用户ID,输入范围为0~65534的整数 |
host_network | Boolean | 默认为true,其中true表示主机网络,而false表示端口映射 |
restart_policy | String | 应用实例重启模式:
|
ports | Array of Ports objects | 容器端口映射值 |
host_pid | Boolean | 应用实例是否与主机共PID命名空间,默认值false |
dns_policy | String | 应用实例DNS策略,可选值Default、ClusterFirst、ClusterFirstWithHostNet,默认为Default。应用实例启用主机网络时只能选填Default、ClusterFirstWithHostNet,不启用主机网络时只能选填Default、ClusterFirst |
参数 | 参数类型 | 描述 |
|---|---|---|
container_port | Integer | 构成一对映射的容器端口 |
host_port | Integer | 构成一对映射的物理机对应网卡端口 |
host_ip | String | 对应网卡地址 |
参数 | 参数类型 | 描述 |
|---|---|---|
limits | LimitsRequests object | 允许容器使用的最大资源 |
requests | LimitsRequests object | 容器需要使用的最小资源 |
参数 | 参数类型 | 描述 |
|---|---|---|
cpu | Float | cpu核数,大于等于0.01,最大1000;请求不需要带单位 |
memory | Float | 内存大小,单位兆,大于等于0.01,最大1024000。注意:内存的limits值最小为4;请求不需要带单位 |
gpu | Float | Gpu显存大小,单位兆,大于等于0.01,最大1024000;请求不需要带单位 |
npu | Integer | Npu个数,大于0,最大1000;请求不需要带单位 |
参数 | 参数类型 | 描述 |
|---|---|---|
exec_command | String | 执行探测的命令行命令,长度1-10240内的字符串 |
http_get | HttpGetDetail object | 执行http探测 |
initial_delay_seconds | Integer | 表示从工作负载启动后从多久开始探测,大于0且不大于3600的整数,默认为10 |
timeout_seconds | Integer | 表示探测超时时间,大于0且不大于3600的整数,默认为1 |
请求示例
创建一个应用模板版本,版本号为v2,镜像地址为“edge-demo-app:latest”,存储卷类型为hostPath,容器网络为主机网络。
{
"version" : {
"version" : "v2",
"image_url" : "edge-demo-app:latest",
"resources" : {
"limits" : {
"cpu" : 0.1,
"memory" : 1024,
"gpu" : 3.9
},
"requests" : {
"cpu" : 0.1,
"memory" : 1024,
"gpu" : 3.9
}
},
"envs" : [ {
"name" : "key",
"value" : "name"
} ],
"volumes" : [ {
"name" : "test",
"type" : "hostPath",
"source" : "/tmp",
"destination" : "/tmp0",
"read_only" : true
} ],
"configs" : {
"privileged" : true,
"host_network" : true,
"restart_policy" : "Always"
}
}
} 响应示例
状态码:201
ok
{
"version" : {
"envs" : [ {
"name" : "key",
"value" : "name"
} ],
"created_at" : "2018-07-16T14:16:28",
"updated_at" : null,
"version" : "v2",
"image_url" : "edge-demo-app:latest",
"npu_type" : "",
"volumes" : [ {
"read_only" : true,
"source" : "/tmp",
"destination" : "/tmp0",
"type" : "hostPath",
"name" : "test"
} ],
"configs" : {
"host_network" : true,
"restart_policy" : "Always",
"privileged" : true
},
"project_id" : "{project_id}",
"id" : "9537b861-f4e0-40e5-8b79-da842e0d3ea2",
"resources" : {
"requests" : {
"gpu" : 3.9,
"cpu" : 0.1,
"memory" : 1024
},
"limits" : {
"gpu" : 3.9,
"cpu" : 0.1,
"memory" : 1024
}
}
}
} 状态码
状态码 | 描述 |
|---|---|
201 | ok |
错误码
请参见错误码。

