九章智算云

Pod 开放端口

为分布式训练任务下指定的 Pod(容器组)开放一个端口,开放后即可从集群外部通过映射出的外部地址与端口访问该 Pod 内的服务(如训练监控面板、调试服务等)。开放结果与外部访问信息可通过 Pod 开放端口列表 查询,不再需要时可调用 Pod 关闭端口 释放。

POSThttps://api.alayanew.com/v1/training/instance/{id}/{podName}/open-port

鉴权(Authorizations)

AuthorizationString必填

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

Path Parameters

idString必填

训练任务 ID(来自任务列表id)。例如:1234567890

podNameString必填

Pod(容器组)名称,标识任务下具体的某个容器组。例如:llama3-8b-sft-worker-0

Request body

protocolString必填

端口使用的应用层协议,取值为 httphttps,决定外部访问时使用的协议前缀。例如:http

portInteger必填

要开放的容器内端口号,即 Pod 内服务实际监听的端口。例如:80

Response

statusInteger

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

messageString

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

dataObject

开放成功时为空对象。开放后的外部访问地址与端口请通过 Pod 开放端口列表 查询。

curl -X 'POST' \
  'https://api.alayanew.com/v1/training/instance/1234567890/llama3-8b-sft-worker-0/open-port' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer [YOUR_API_KEY]' \
  -d '{
  "protocol": "http",
  "port": 80
}'
import requests

task_id = "1234567890"
pod_name = "llama3-8b-sft-worker-0"
url = f"https://api.alayanew.com/v1/training/instance/{task_id}/{pod_name}/open-port"
headers = {
    "accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer [YOUR_API_KEY]"
}
payload = {
    "protocol": "http",
    "port": 80
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
const taskId = '1234567890';
const podName = 'llama3-8b-sft-worker-0';
const payload = {
  protocol: 'http',
  port: 80
};

fetch(`https://api.alayanew.com/v1/training/instance/${taskId}/${podName}/open-port`, {
  method: 'POST',
  headers: {
    'accept': 'application/json',
    'Content-Type': 'application/json',
    'Authorization': 'Bearer [YOUR_API_KEY]'
  },
  body: JSON.stringify(payload)
})
  .then(res => res.json())
  .then(console.log)
  .catch(console.error);
{
  "status": 200,
  "message": "OK",
  "data": {}
}
{
  "status": 403,
  "message": "Forbidden",
  "data": {}
}
{
  "status": 500,
  "message": "Internal Server Error",
  "data": {}
}

最后更新于