更新时间:2024-04-14 GMT+08:00
分享

创建应用模板

功能介绍

该API用于创建一个应用模板。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/edgemgr/apps

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

消息体的类型(格式),默认取值为“application/json”

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

ief-instance-id

String

铂金版实例ID,专业版实例为空值

表3 请求Body参数

参数

是否必选

参数类型

描述

app

AppDetail object

应用模板配置

表4 AppDetail

参数

是否必选

参数类型

描述

name

String

应用模板名称,只允许英文小写字母、数字、中划线,最大长度32, 英文小写字母或数字开头和结尾 Name为必填字段

alias

String

应用模板别名,中文英文字母、数字、中划线、下划线,最大64字符

description

String

应用模板描述,最大长度255,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \

icon_url

String

应用图标存储url地址,最大长度2083

tags

Array of NodeResTag objects

应用模板标签

表5 NodeResTag

参数

是否必选

参数类型

描述

key

String

键。最大长度36个unicode字符。 不能为空,只能包含大小写字母,数字,中划线“-”,下划线“_”。

value

String

值。每个值最大长度43个unicode字符,删除时如果value有值按照key/value删除,如果value没值,则按照key删除。 不能为空,只能包含大小写字母,数字,中划线“-”,下划线“_”。

响应参数

状态码: 201

表6 响应Body参数

参数

参数类型

描述

app

AppResponse object

应用模板配置

表7 AppResponse

参数

参数类型

描述

id

String

应用模板ID

name

String

应用模板名称,只允许英文小写字母、数字、中划线,最大长度32, 英文小写字母或数字开头和结尾 Name为必填字段,且本租户中唯一

alias

String

应用模板别名,中文英文字母、数字、中划线、下划线,最大64字符

description

String

应用模板描述,最大长度255,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \

icon_url

String

应用图标存储url地址,最大长度2083

created_at

String

创建时间

project_id

String

项目ID

visibility

String

模板类型

app_versions

Array of AppVersionDetail objects

app详情

表8 AppVersionDetail

参数

参数类型

描述

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,支持填写:

  • D310:D310类型

  • D310B:D310B类型

  • 不填表示为D310类型。

表9 Env

参数

参数类型

描述

name

String

环境变量的key,由大小写字母或下划线开头,由数字、大小写字母、下划线组成,最大长度2048个字符,不允许重复

value

String

环境变量的value,最大长度20480个字符。value、value_from和field_path必须三选一使用。

value_from

ValueFrom object

环境变量可使用配置项和密钥导入

field_path

String

该参数目前只支持赋值"status.hostIP",即引用边缘节点的IP地址作为环境变量。

表10 ValueFrom

参数

参数类型

描述

secret

Secrets object

环境变量引用密钥时使用。使用ValueFrom时,secret与configmap必须二选一。

configmap

ConfigsMap object

环境变量引用配置项时使用。

表11 Secrets

参数

参数类型

描述

name

String

密钥的名称

key

String

密钥的属性名

表12 ConfigsMap

参数

参数类型

描述

name

String

配置项的名称

key

String

配置项的属性名

表13 Volumes

参数

参数类型

描述

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类型生效,默认为0644,支持填写十进制和八进制参数

表14 AppConfigs

参数

参数类型

描述

privileged

Boolean

默认为false,表示是否开启特权模式

run_as_user

Integer

容器运行用户ID,输入范围为0~65534的整数

host_network

Boolean

默认为true,其中true表示主机网络,而false表示端口映射

restart_policy

String

应用实例重启模式:

  • Always:当容器终止退出后,总是重启容器

  • Onfailure:容器异常退出(退出码非0)时才重启容器

  • Never:容器终止退出后,不重启容器

ports

Array of Ports objects

容器端口映射值

host_pid

Boolean

应用实例是否与主机共PID命名空间,默认值false

dns_policy

String

应用实例DNS策略,可选值Default、ClusterFirst、ClusterFirstWithHostNet,默认为Default。应用实例启用主机网络时只能选填Default、ClusterFirstWithHostNet,不启用主机网络时只能选填Default、ClusterFirst

表15 Ports

参数

参数类型

描述

container_port

Integer

构成一堆映射的容器端口

host_port

Integer

构成一对映射的物理机对应网卡端口

host_ip

String

对应网卡地址

表16 Resources

参数

参数类型

描述

limits

LimitsRequests object

允许容器使用的最大资源

requests

LimitsRequests object

容器需要使用的最小资源

表17 LimitsRequests

参数

参数类型

描述

cpu

Float

cpu核数,大于等于0.01,最大1000;请求不需要带单位

memory

Float

内存大小,单位兆,大于等于0.01,最大1024000。注意:内存的limits值最小为4;请求不需要带单位

gpu

Float

Gpu显存大小,单位兆,大于等于0.01,最大1024000;请求不需要带单位

npu

Integer

Npu个数,大于0,最大1000;请求不需要带单位

表18 ProbeDetail

参数

参数类型

描述

exec_command

String

执行探测的命令行命令,长度1-10240内的字符串

http_get

HttpGetDetail object

执行http探测

initial_delay_seconds

Integer

表示从工作负载启动后从多久开始探测,大于0且不大于3600的整数,默认为10

timeout_seconds

Integer

表示探测超时时间,大于0且不大于3600的整数,默认为1

表19 HttpGetDetail

参数

参数类型

描述

path

String

必须要以/开头,构造结果为:协议类型://主机地址:端口路径

port

Integer

探测的http端口,1到65535之间的整数

host

String

请求的主机地址,默认为容器IP

scheme

String

协议类型,HTTP或HTTPS,默认HTTP

请求示例

创建一个应用模板,应用图标存储地址为空,添加应用模板标签,key为“ief-application-type”,value为“test”。

{
  "app" : {
    "name" : "ief-application-test",
    "alias" : "test",
    "description" : "This is an application test",
    "icon_url" : null,
    "tags" : [ {
      "key" : "ief-application-type",
      "value" : "test"
    } ]
  }
}

响应示例

状态码: 201

ok

{
  "app" : {
    "name" : "test-app-1",
    "icon_url" : null,
    "created_at" : "2018-05-26T08:41:33",
    "visibility" : null,
    "alias" : null,
    "project_id" : "{project_id}",
    "id" : "6c2c5f97-5c1d-408e-a0ee-c35c287afefe",
    "description" : "test",
    "app_versions" : [ ]
  }
}

状态码

状态码

描述

201

ok

错误码

请参见错误码

相关文档