Pod 开放端口
为分布式训练任务下指定的 Pod(容器组)开放一个端口,开放后即可从集群外部通过映射出的外部地址与端口访问该 Pod 内的服务(如训练监控面板、调试服务等)。开放结果与外部访问信息可通过 Pod 开放端口列表 查询,不再需要时可调用 Pod 关闭端口 释放。
POST
https://api.alayanew.com/v1/training/instance/{id}/{podName}/open-port鉴权(Authorizations)
bearerAuthAuthorizationString必填用户可通过已获取的 Open API Key 做验证。例如:Bearer [YOUR_API_KEY]。
Path Parameters
idString必填训练任务 ID(来自任务列表的 id)。例如:1234567890。
podNameString必填Pod(容器组)名称,标识任务下具体的某个容器组。例如:llama3-8b-sft-worker-0。
Request body
application/jsonprotocolString必填端口使用的应用层协议,取值为 http 或 https,决定外部访问时使用的协议前缀。例如:http。
portInteger必填要开放的容器内端口号,即 Pod 内服务实际监听的端口。例如:80。
Response
application/json · 200statusInteger业务状态码,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": {}
}Last updated on
