查询应用部署 - ShowDeployment
功能介绍
查询应用部署
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
GET /v3/{project_id}/edgemgr/deployments/{deployment_id}
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID |
| deployment_id | 是 | String | 应用部署ID |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 消息体的类型(格式),默认取值为“application/json”。 |
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
| ief-instance-id | 否 | String | 企业版实例ID,专业版实例为空值。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 应用部署uuid |
| name | String | 应用部署名称,只允许英文小写字母、数字、中划线,最大长度32, 英文小写字母或数字开头和结尾 |
| replicas | Integer | 应用部署总副本数 |
| ready_replicas | Integer | 应用部署正常副本数 |
| description | String | 应用部署描述,最大长度255,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \ |
| group_id | String | 应用部署到指定节点组,与node_ids二选一 |
| node_ids | Array of strings | 应用部署到指定节点,当前只支持一个边缘节点 |
| tags | Array of Attributes objects | 节点属性 |
| api_version | String | 应用部署版本 |
| source | String | 应用部署来源:边缘市场(iem)或自定义(userdefined) |
| project_id | String | 项目ID |
| created_at | String | 应用部署创建时间 |
| updated_at | String | 应用部署更新时间 |
| template | PodRequest object | 应用部署模板 |
| state | String | 应用状态,仅包括冻结(FREEZE)、删除中(PENDING_DELETE)、删除失败(DELETE_FAILED),保留字段 |
| source_id | String | 预留字段 |
| annotations | Annotations object | 应用扩展功能配置选项 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 节点属性的key值,长度取值范围为1~128, 仅允许大小写英文字母、数字、下划线、中划线 |
| value | String | 节点属性的value值,长度取值范围为1~256, 仅允许大小写英文字母、数字、下划线、中划线 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| configs | PodConfigs object | 应用实例配置 |
| affinity | Affinity object | 应用实例亲和性规则,仅企业版支持 |
| init_containers | Array of ContainerDef objects | 应用部署init业务容器 |
| containers | Array of ContainerDef objects | 应用部署业务容器 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| host_network | Boolean | 应用实例是否启用主机网络,不启用则使用端口映射,默认值false |
| host_pid | Boolean | 应用实例是否与主机共PID命名空间,默认值false |
| migration | Boolean | 应用实例故障是否迁移,指定节点组部署时必选,默认值false |
| restart_policy | String | 应用实例重启策略,可选值Always、OnFailure、Never |
| toleration_seconds | Integer | 应用实例故障容忍时间,容忍时间到达后迁移应用实例,只在指定节点组部署时生效 |
| dns_policy | String | 应用实例DNS策略,可选值Default、ClusterFirst、ClusterFirstWithHostNet,默认为Default。应用实例启用主机网络时只能选填Default、ClusterFirstWithHostNet,不启用主机网络时只能选填Default、ClusterFirst |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| nodeAffinity | nodeAffinity object | 节点亲和规则 |
| podAffinity | podAffinity object | Pod亲和规则 |
| podAntiAffinity | podAntiAffinity object | Pod反亲和规则 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| preferredDuringSchedulingIgnoredDuringExecution | Array of PreferredSchedulingTerm objects | 优先使用定义的规则调度,且不会影响已经在节点上运行的Pod。即优先选择调度到满足规则的节点,但也可能会调度到不满足规则的节点。 |
| requiredDuringSchedulingIgnoredDuringExecution | RequiredDuringScheduling object | 强制使用定义的规则调度,且不会影响已经在节点上运行的Pod。即强制选择调度到满足规则的节点,不会调度到不满足规则的节点。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| preference | preference object | 与相应权重关联的节点选择器项。 |
| weight | Integer | 权重,范围为1-100 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| preferredDuringSchedulingIgnoredDuringExecution | Array of WeightPodAffinityTerms objects | 优先使用定义的规则调度,且不会影响已经在节点上运行的Pod。即优先选择调度到满足规则的节点,但也可能会调度到不满足规则的节点。 |
| requiredDuringSchedulingIgnoredDuringExecution | Array of PodAffinityTerm objects | 强制使用定义的规则调度,且不会影响已经在节点上运行的Pod。即强制选择调度到满足规则的节点,不会调度到不满足规则的节点。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| preferredDuringSchedulingIgnoredDuringExecution | Array of WeightPodAffinityTerms objects | 优先使用定义的规则调度,且不会影响已经在节点上运行的Pod。即优先选择调度到满足规则的节点,但也可能会调度到不满足规则的节点。 |
| requiredDuringSchedulingIgnoredDuringExecution | Array of PodAffinityTerm objects | 强制使用定义的规则调度,且不会影响已经在节点上运行的Pod。即强制选择调度到满足规则的节点,不会调度到不满足规则的节点。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| podAffinityTerm | podAffinityTerm object | Pod亲和规则 |
| weight | Integer | 权重,范围为1-100 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| labelSelector | LabelSelector object | 标签选择器 |
| namespaces | Array of strings | 命名空间 |
| topologyKey | String | 拓扑标签。先圈定topologyKey指定的范围,然后再选择labelSelector定义的内容,即亲和调度只会在有topologyKey指定的标签节点上调度。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| matchExpressions | Array of MatchExpression objects | 匹配规则表达式 |
| matchLabels | Map<String,String> | 匹配的标签,格式为key:value键值对。 单个键值对相当于matchExpressions的一个元素,key字段为key,操作符为In,values数组中只有value。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| labelSelector | labelSelector object | 标签选择器 |
| namespaces | Array of strings | 命名空间 |
| topologyKey | String | 拓扑标签。先圈定topologyKey指定的范围,然后再选择labelSelector定义的内容,即亲和调度只会在有topologyKey指定的标签节点上调度。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| matchExpressions | Array of MatchExpression objects | 匹配规则表达式 |
| matchLabels | Map<String,String> | 匹配的标签,格式为key:value键值对。 单个键值对相当于matchExpressions的一个元素,key字段为key,操作符为In,values数组中只有value。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 规则的标签 |
| operator | String | 操作符,取值如下:
|
| values | Array of strings | 一组标签值。
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 容器名称,只允许英文小写字母、数字、中划线,最大长度32, 英文小写字母或数字开头和结尾 |
| image_url | String | 容器镜像URL |
| args | Array of strings | 容器启动参数,字符总长度最大为65536 |
| command | Array of strings | 容器启动命令,字符总长度最大为65536。 command支持使用数组定义多条命令,但在IEF控制台界面只会显示第一条命令。 |
| resources | DeploymentResources object | 创建容器时使用的资源 |
| envs | Array of Env objects | 环境变量 |
| ports | Array of HostContainerPortMapping objects | 容器端口映射值 |
| privileged | Boolean | 是否启用特权容器,默认值false |
| run_as_user | Integer | 容器运行用户ID,输入范围为0~65534的整数 |
| readiness_probe | Probe object | 探针配置 |
| liveness_probe | Probe object | 探针配置 |
| version | String | 容器镜像版本 |
| volumes | Array of Volumes objects | 卷配置 |
| npu_type | String | NPU类型,支持D310、D310B,支持填写:
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| limits | Map<String,String> |
|
| requests | Map<String,String> |
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 | 环境变量引用配置项时使用。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| container_port | Integer | 构成一对映射的容器端口 |
| host_port | Integer | 构成一对映射的物理机对应网卡端口 |
| host_ip | String | 对应网卡地址 |
| host_port_range | HostPortRange object | 主机端口范围,在范围内为应用实例自动分配主机端口;与主机端口参数二选一;仅企业版可用 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| min_port | Integer | 主机端口下限制,1到65535之间的整数 |
| max_port | Integer | 主机端口上限值,1到65535之间的整数;max_port需大于min_port |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| exec | Exec object | 执行命令检查,与http_get二选一 |
| http_get | HttpGetDetail object | 执行http探测 |
| initial_delay_seconds | Integer | 表示从工作负载启动后从多久开始探测,大于0且不大于3600的整数,默认为10 |
| timeout_seconds | Integer | 表示探测超时时间,大于0且不大于3600的整数,默认为1 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| path | String | 必须要以/开头,构造结果为:协议类型://主机地址:端口路径 |
| port | Integer | 探测的http端口,1到65535之间的整数 |
| host | String | 请求的主机地址,默认为容器IP |
| scheme | String | 协议类型,HTTP或HTTPS,默认HTTP |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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) |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| ring_controller | String | 生成ranktablefile。该参数目前只支持赋值"ascend-1980"。 |
| autonomy_edge_selector | String | 离线自愈功能配置字段,须填写调度的节点组id |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述信息 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述信息 |
请求示例
无
响应示例
状态码:200
ok
{
"id" : "3e64d98a-37c5-43a6-9bfe-052b9083e362",
"name" : "app-test",
"replicas" : 1,
"ready_replicas" : 1,
"description" : "this is a test app",
"group_id" : "",
"node_ids" : [ "29d20c18-c20c-4a45-a087-42c766fc5d97" ],
"tags" : [ {
"key" : "app",
"value" : "test"
} ],
"api_version" : "v3",
"source" : "userdefine",
"project_id" : "bcd83056c918480f8f190844bd425b23",
"created_at" : "2019-10-10T02:23:12.272Z",
"updated_at" : "2019-10-10T02:23:12.272Z",
"template" : {
"configs" : {
"host_network" : true,
"host_pid" : true,
"migration" : true,
"restart_policy" : "Always",
"toleration_seconds" : 300
},
"init_containers" : [ ],
"containers" : [ {
"name" : "container-0",
"image_url" : "nginx:latest",
"npu_type" : "",
"args" : [ "-c", "sleep 1000" ],
"command" : [ "/bin/bash" ],
"resources" : {
"limits" : {
"cpu" : "0.25",
"memory" : "500",
"gpu" : "500"
},
"requests" : {
"cpu" : "0.25",
"memory" : "500",
"gpu" : "500"
}
},
"envs" : [ {
"name" : "CERT_PATH",
"value" : "/opt/cert"
} ],
"ports" : [ {
"container_port" : 80,
"host_port" : 80
} ],
"privileged" : true,
"readiness_probe" : {
"http_get" : {
"path" : "/",
"port" : 80,
"scheme" : "http"
},
"initial_delay_seconds" : 10,
"timeout_seconds" : 10
},
"liveness_probe" : {
"http_get" : {
"path" : "/",
"port" : 80,
"scheme" : "http"
},
"initial_delay_seconds" : 10,
"timeout_seconds" : 10
},
"version" : "1.0",
"volumes" : [ {
"name" : "log-volume",
"type" : "hostPath",
"read_only" : false,
"source" : "/var/IEF",
"destination" : "/var/IEF"
} ]
} ]
}
} 状态码:400
响应Body参数
{
"error_code" : "IEF.100001",
"error_msg" : "PROJECT_ID not found"
} 状态码:500
响应Body参数
{
"error_code" : "IEF.100158",
"error_msg" : "Fail to extract gpu infomation"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | ok |
| 400 | 响应Body参数 |
| 500 | 响应Body参数 |
错误码
请参见错误码。