九章智算云

容器组资源信息

查询训练任务中某个容器组(Pod)的资源明细,包含 Pod 内各容器的状态、重启次数、对外端口以及挂载的存储卷信息,用于核对单个 Pod 的容器构成与数据挂载情况。Pod 名称可从容器组列表获取。

GEThttps://api.alayanew.com/v1/training/instance/{id}/{podName}/resource

鉴权(Authorizations)

AuthorizationString必填

用户可通过已获取的 Open API Key 做验证。例如:Bearer [YOUR_API_KEY]

Path Parameters

idString必填

训练任务 ID(来自任务列表id)。例如:ca78d6b9-e196-5a0f-b1be-ab036b3cb91a

podNameString必填

容器组名称(来自容器组列表podName)。例如:tn-exqr5k7lvj7k-master-0

Response

statusInteger

业务状态码,200 表示成功。

messageString

接口响应信息。例如:"OK"

dataObject

Pod 资源信息,由容器列表与卷挂载列表两部分组成。

显示 properties
containersArray

容器列表,列出该 Pod 内运行的各个容器。

显示 properties
containerNameString

容器名称。例如:"pytorch"

statusString

容器状态。例如:"running"

reasonString

状态原因,容器异常时说明具体原因,正常时通常为空。

restartCountInteger

容器重启次数。例如:0

targetPortArray

该容器已开通的端口列表(整数数组),用于服务对外访问。例如:[8080, 6006]

podWebSSHString

终端(web shell)连接地址,用于在浏览器中直接进入该容器;若未开通终端则为空。

volumesArray

卷挂载列表,列出该 Pod 挂载的存储卷及其在容器内的路径。

显示 properties
nasNameString

卷名称。例如:"data-volume"

nasTypeString

卷类型。例如:"nas"

mountPathString

容器内挂载路径。例如:"/data"

readOnlyBoolean

是否只读:true 只读、false 读写。例如:false

pathString

卷路径,即存储侧的源路径。例如:"/data"

curl -X 'GET' \
  'https://api.alayanew.com/v1/training/instance/ca78d6b9-e196-5a0f-b1be-ab036b3cb91a/tn-exqr5k7lvj7k-master-0/resource' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer [YOUR_API_KEY]'
import requests

task_id = "ca78d6b9-e196-5a0f-b1be-ab036b3cb91a"
pod_name = "tn-exqr5k7lvj7k-master-0"
url = f"https://api.alayanew.com/v1/training/instance/{task_id}/{pod_name}/resource"
headers = {
    "accept": "application/json",
    "Authorization": "Bearer [YOUR_API_KEY]"
}

response = requests.get(url, headers=headers)
print(response.json())
const taskId = 'ca78d6b9-e196-5a0f-b1be-ab036b3cb91a';
const podName = 'tn-exqr5k7lvj7k-master-0';

fetch(`https://api.alayanew.com/v1/training/instance/${taskId}/${podName}/resource`, {
  method: 'GET',
  headers: {
    'accept': 'application/json',
    'Authorization': 'Bearer [YOUR_API_KEY]'
  }
})
  .then(res => res.json())
  .then(console.log)
  .catch(console.error);
{
  "status": 200,
  "message": "OK",
  "data": {
    "containers": [
      {
        "containerName": "pytorch",
        "status": "running",
        "reason": "",
        "restartCount": 0,
        "targetPort": [8080, 6006],
        "podWebSSH": "https://api.alayanew.com/webssh/tn-exqr5k7lvj7k-master-0"
      }
    ],
    "volumes": [
      {
        "nasName": "data-volume",
        "nasType": "nas",
        "mountPath": "/data",
        "readOnly": false,
        "path": "/data"
      }
    ]
  }
}
{
  "status": 403,
  "message": "Forbidden",
  "data": {}
}
{
  "status": 500,
  "message": "Internal Server Error",
  "data": {}
}

最后更新于