更新时间:2023-04-24 GMT+08:00
分享

查询应用实例列表

功能介绍

获取用户实例列表。

URI

GET /v3/{project_id}/ai-mgr/pods

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参见获取项目ID

表2 Query参数

参数

是否必选

参数类型

描述

cluster_id

String

集群ID,查询部署在该节点组的应用列表,和node_id不可同时请求

node_id

String

节点ID,查询部署在该节点下的应用列表,和cluster_id不可同时请求

provider

String

平台提供者,分别为hilens及ief。当为hilens时,请求部署在hilens平台的相关数据

deployment_id

String

应用部署ID

workspace_id

String

工作空间ID,默认为注册账号/子账号的default工作空间。主账号默认ID为0,子账号默认空间id为该子账号user_id

offset

Integer

查询的起始位置,取值范围为非负整数,默认为0

limit

Integer

每页显示的条目数量,取值范围1~100,默认为100

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。获取方法请参见获取Token

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

count

Integer

pod总个数

pods

Array of Pod objects

pod 列表

表5 Pod

参数

参数类型

描述

configs

PodConfig object

应用实例配置

reason

String

部署失败的原因

host_ip

String

对应网卡地址

created_at

String

创建时间

cluster_id

String

集群ID

updated_at

String

更新时间

project_id

String

项目ID

name

String

实例名字

id

String

实例ID

deployment_id

String

部署ID

affinity

PodAffinity object

亲和规则

apps

Array of AppDef objects

应用部署信息

node_id

String

节点ID

status

String

状态,状态包括,Pending,表示挂起,Running表示pod已经被调到到某节点,Succeeded表示Pod已经被成功终止,Failed表示左右容器都已终止,Unkonwn表示无法取得Pod状态

表6 PodConfig

参数

参数类型

描述

host_network

Boolean

应用实例是否启用主机网络,不启用则使用端口映射,默认值false

host_pid

Boolean

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

migration

Boolean

应用实例故障是否迁移,指定节点组部署时必选,默认值false

restart_policy

String

应用实例重启策略,可选值Always、OnFailure、Never

toleration_seconds

Integer

应用实例故障容忍时间,容忍时间到达后迁移应用实例,只在指定节点组部署时生效

表7 PodAffinity

参数

参数类型

描述

node_affinity

Array of MatchExpression objects

节点亲和规则

pod_affinity

Array of MatchExpression objects

Pod亲和规则

表8 MatchExpression

参数

参数类型

描述

key

String

规则的标签

operator

String

操作符,取值如下: In:标签值需要在values的列表中 NotIn:标签的值不在某个列表中 Exists:某个标签存在 DoesNotExist:某个标签不存在 Gt:标签的值大于某个值(字符串比较) Lt:标签的值小于某个值(字符串比较)

values

Array of strings

一组标签值。 如果运算符为In或NotIn,则值数组必须非空。 如果运算符为Exists 或DoesNotExist,则值数组必须为空。 如果运算符是Gt或Lt,则值数组必须具有单个元素,该元素将被解释为整数

表9 AppDef

参数

参数类型

描述

app_order_id

String

app应用的订单ID,技能来源是市场时,如果不填,则自动选择默认订单。

app_url

String

app应用的地址,可以是镜像地址或者OBS地址

channel_limit

Integer

路数限制,添加作业的时候,摄像头和VCN的最大路数不超过该值,范围是0到1000

channel_upper_limit

Integer

用户可以指定的路数限制上限,范围是0到1000

args

Array of strings

容器启动参数,字符总长度最大为65536,不允许^#~^$|%&*<>()'"[]{}]等特殊字符

command

Array of strings

容器启动命令,字符总长度最大为65536。 command支持使用数组定义多条命令,但在IEF控制台界面只会显示第一条命令。不允许^#~^$|%&*<>()'"[]{}]等特殊字符

envs

Array of Env objects

环境变量

is_modelbox

Boolean

是否是modelbox镜像

liveness_probe

Probe object

探针配置

msgs

Array of Env objects

消息变量

name

String

应用名字,只允许英文小写字母、数字、中划线,最大长度32, 英文小写字母或数字开头和结尾。该名称同时对应技能名称,当不传订单id的时候,默认通过该名称和版本号version字段,选择指定技能版本,进行部署,并选择可用的订单(默认订单优先)扣除份额。

npu_type

String

npu类型,支持D310类型和D910类型。D310表示D310类型。

D910表示D910类型。不填表示为D310类型

ports

Array of HostContainerPortMapping objects

容器端口映射值

privileged

Boolean

是否启用特权容器,默认值false

readiness_probe

Probe object

探针配置

resources

ResQuest object

创建应用时使用的资源

version

String

版本号,长度不操作128,支持大小写数字,下划线,点,中划线

volumes

Array of Volume objects

卷配置

start_resources

ResQuest object

创建部署所需要的起始资源

channel_resources

ResQuest object

每增加一路所需要资源

skill_project_id

String

技能管理ID,技能来源source是skill的时候,需要传入该ID

表10 Env

参数

参数类型

描述

name

String

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

value

String

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

value_from

ValueFrom object

环境变量可使用配置项和密钥导入。value、value_from和field_path必须三选一使用

field_path

String

该参数目前只支持赋值"status.hostIP",即引用边缘节点的IP地址作为环境变量。value、value_from和field_path必须三选一使用

表11 ValueFrom

参数

参数类型

描述

configmap

ConfigsMap object

环境变量引用配置项时使用。使用ValueFrom时,secret与configmap必须二选一

secret

DeploymentSecrets object

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

表12 ConfigsMap

参数

参数类型

描述

key

String

配置项的名称,以英文字母或中划线开头,由英文字母、数字、点号、中划线和下划线组成,长度1到63个字符。

name

String

配置项的属性名,以英文小写字母开头,由中文字符,英文字母,数字,下划线和中划线组成,不能以中划线结尾,长度4-64位。

表13 DeploymentSecrets

参数

参数类型

描述

name

String

密钥的名称,以英文小写字母开头,由中文字符,英文字母,数字,下划线和中划线组成,不能以中划线结尾,长度4-64位

key

String

密钥的属性名,以英文字母和中划线开头,由英文字母、数字、点号、中划线和下划线组成,长度1-63位

表14 HostContainerPortMapping

参数

参数类型

描述

container_port

Long

容器端口,1到65535之间的整数

host_ip

String

对应主机网卡地址,形如192.168.0.1

host_port

Long

主机端口,1到65535之间的整数,与主机端口范围二选一

host_port_range

HostPortRange object

主机端口范围,在范围内为应用实例自动分配主机端口;与主机端口参数二选一

表15 HostPortRange

参数

参数类型

描述

max_port

Long

主机端口上限值,1到65535之间的整数;max_port需大于min_port

min_port

Long

主机端口下限制,1到65535之间的整数

表16 Probe

参数

参数类型

描述

exec

Exec object

执行命令检查,与http_get二选一

http_get

HttpGet object

执行http探测

initial_delay_seconds

Long

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

timeout_seconds

Long

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

表17 Exec

参数

参数类型

描述

command

String

探针执行命令,最大长度10240个字符。不允许^#~^$|%&*<>()'"[]{}这些特殊字符

表18 HttpGet

参数

参数类型

描述

host

String

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

path

String

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

port

Integer

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

scheme

String

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

表19 Volume

参数

参数类型

描述

destination

String

卷挂载路径,必须是合法的路径

key

String

卷的类型,支持configMap,secret,emptyDir,hostPath

name

String

卷名称,小写字母或数字,最长63个字符

read_only

Boolean

读写权限,configMap和secret类型只支持读权限

source

String

卷来源,type为hostPath时输入路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字; secret时输入secret名称,configMap时输入configMap名称,emptyDir时输入disk或memory

type

String

卷的类型,支持configMap,secret,emptyDir,hostPath

表20 ResQuest

参数

参数类型

描述

limits

Res object

允许容器使用的最大资源

requests

Res object

容器需要使用的最小资源

表21 Res

参数

参数类型

描述

cpu

String

cpu数量,字符串所对应的数值在0.01到1000之间

gpu

String

gpu数量,值在0到1000

memory

String

内存数量,如果是资源限制,其值范围在4到1024000之间,否则在0.01到1024000之间

npu

String

npu数量,字符串所对应的数值在0.到1000之间

请求示例

获取用户实例列表

GET https://{endpoint}/v3/{project_id}/ai-mgr/pods

Request Header:  Content-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...

响应示例

状态码: 200

请求成功

{
  "count" : 1,
  "pods" : [ {
    "configs" : {
      "migration" : false,
      "host_network" : false,
      "host_pid" : false,
      "restart_policy" : "Always",
      "toleration_seconds" : 0
    },
    "reason" : "open /home/hilens/apps/test-rpm-hilens-41f6382c44b94d8abaea5129a54121b0/packages/base64_decoder.toml: no such file or directory",
    "host_ip" : "192.168.2.111",
    "created_at" : "2021-12-08 19:09:27 GMT+08:00",
    "cluster_id" : null,
    "updated_at" : "2021-12-08 20:26:20 GMT+08:00",
    "project_id" : "fff47e1722f94c4e98531bae56821372",
    "name" : "12312312313_test-rpm_0",
    "id" : "hilens-12312312313_test-rpm_0",
    "deployment_id" : "hilens-413a558214814d249d43988cc1f788b6",
    "affinity" : null,
    "apps" : [ {
      "name" : "test-rpm",
      "args" : [ ],
      "command" : [ ],
      "resources" : {
        "limits" : {
          "cpu" : "0.25",
          "memory" : "128"
        },
        "requests" : { }
      },
      "envs" : [ ],
      "msgs" : [ ],
      "ports" : [ ],
      "privileged" : false,
      "version" : "1.0.0",
      "volumes" : [ ],
      "app_url" : "xxx",
      "app_order_id" : "702786922fc74954818e549383306d30",
      "is_modelbox" : false
    } ],
    "node_id" : "hilens-8977fd2811464c1bb19eeb1939142841",
    "status" : "Failed"
  } ]
}

状态码

状态码

描述

200

请求成功

401

认证不通过

403

拒绝执行请求

404

请求的资源不存在

500

服务器内部错误

错误码

请参见错误码

相关文档