Skip to content

1. 查询可用镜像

  • Token: 此接口需要 Token 调用,需要先调用登录接口换取 Token。
  • 费用:不收费
  • 流量限制:每token每秒50次。
  • 接口作用:查询平台上可被调用的所有镜像,包括公有镜像 私有镜像 社区镜像。
  • 公有镜像: 表示所有用户都可以使用的镜像,均由算力互联公司提供,加载速度较快。
  • 社区镜像:为平台用户主动上传分享的镜像,所有权归属用户,由此镜像创建容器相比公有镜像稍慢。
  • 私有镜像:为账号用户及下属用户所创建的所有镜像,只能由自己访问。
  • namespace规则:私有镜像查询时,如果请求体中指定namespace,查询该namespace下的私有镜像。如果请求体中的namespace为空或者不传,则查询token下所有namespace所创建的镜像。

接口路径

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头说明
X-Auth-TokenToken 值

请求体

请求参数选项类型默认值说明
namespace可选字符串查询私有镜像需提供指定namespace,否则查询token账户下所以私有镜像。公有镜像与社区镜像查询不需要提供
page可选整数型1结果分页,默认第一页
limit可选整数型20结果分页,默认每页20条
imageType可选整数型0镜像类型 公有镜像0 私有镜像为1 社区镜像为2
search_string可选字符串用来搜索匹配镜像名称,

示例

json
{
  "namespace": "",
  "page": 1,
  "limit": 2,
  "imageType": 0,
  "search_string": ""
}

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据
total此类别下的所有镜像数量
name镜像名称
description简介
imageType镜像类型
tag镜像标签
logo镜像logo
uid镜像uid
url镜像详情页url ,有些为空
version镜像版本
startCommand镜像启动命令,该命令会在容器启动后自动执行
defaultPort镜像默认端口,该端口会在容器启动后自动暴漏给公网,也可以在创建容器时指定

示例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "total": 30,
    "list": [
      {
        "name": "cuda-12.0.0-ubuntu20.04-py3.9-root",
        "description": "root",
        "imageType": 0,
        "tag": "root",
        "logo": "https://t437.com/casdao/i/2024/04/01/82fxk.png",
        "uid": "00032a1",
        "url": "",
        "version": "12.0.0",
        "startCommand": null,
        "defaultPort": null
      },
      {
        "name": "cuda12.1.0-ubuntu22.04-py3.9-root",
        "description": "带root",
        "imageType": 0,
        "tag": "cuda12.1.0-ubuntu22.04-py3.9-root",
        "logo": "https://t437.com/casdao/i/2024/04/01/82fxk.png",
        "uid": "000329f",
        "url": "",
        "version": "cuda12.1.0-ubuntu22.04-py3.9-root",
        "startCommand": null,
        "defaultPort": null
      }
    ]
  }
}

2. 获取一个uid

  • Token: 此接口需要 Token 调用,需要先调用登录接口换取 Token。
  • 费用:不收费
  • 流量限制:每token每秒50次。
  • 接口作用:辅助接口。获取一个唯一uid,用户创建容器。token只是为了鉴权,没有实际作用。
  • 注意:每次创建容器需要传入一个全局唯一的uid,以防止由于网络波动等各种原因导致的多次调用容器创建接口。
  • namespace规则:获取的uid会携带namespace信息,建议添加。

接口路径

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头说明
X-Auth-TokenToken 值

请求体

请求参数选项类型默认值说明
namespace可选字符串账号下的namespace,可以不传

示例

json
{
  "namespace": "casdao"
}

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据

示例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "uid": "716e7f6d6a757469373535327879776e736c0000018e9d71611c"
  }
}

3. 创建容器

  • Token: 此接口需要 Token 调用,需要先调用登录接口换取 Token。
  • 费用:容器创建成功以后开始计费,创建过程中不收费,创建不成功不收费。根据资源类型与使用量确定单价。使用量目前只有GPU数量可以调整。CPU内存本地SSD硬盘资源不可以调整,只能申请到GPU数量的预设比例。具体比例请到官网查询。
  • 流量限制:每token每秒50次。
  • 接口作用:创建一个容器(不支持批量创建)
  • namespace规则:创建的容器归属于指定namespace,如果不指定namespace,则默认为token账号所对应的namespace。各个namespace之间可以资源隔离。

接口路径

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头说明
X-Auth-TokenToken 值

请求体

请求参数选项类型默认值说明
namespace可选字符串账号下的namespace,默认为账号对应同名namespace
container_uid必填字符串容器UID,要求是长度大于8的数字字母字符串,可自己生成。推荐使用获取uid接口获得
image_uid必填字符串镜像UID
name可选字符串容器名称, 只是用于展示作用,格式不限
gpuNum必填整数gpu数量, 1到8之间的整数
gpuType必填字符串GPU型号,资源类型
ssd可选整数0本地SSD磁盘容量, 默认为0,表示按照默认配置创建(目前未开放,传什么都一样)
port可选字符串端口号, 默认为None,表示不使用端口映射
webUsername可选字符串web用户名, 默认为tom
webPassword可选字符串web密码, 默认为None, 随机生成,与ssh密码相同

示例

json
{
  "container_uid": "797a6e6c7a66736c353536xxxxxxxxxxxxxx",
  "image_uid": "00032a1",
  "name": "测试",
  "gpuNum": 1,
  "gpuType": "N-3090-24",
  "ssd": 0,
  "port": 6666,
  "webUsername": "tom",
  "webPassword": "xxxxxxxxxxxxx"
}

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据

示例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "containerId": "797a6e6c7a66736c35353638327879776e736c0000018e9d7edb8a"
  }
}

4. 删除容器

  • Token: 此接口需要 Token 调用,需要先调用登录接口换取 Token。
  • 费用:容器创建成功以后开始计费,创建过程中不收费,创建不成功不收费。根据资源类型与使用量确定单价。使用量目前只有GPU数量可以调整。CPU内存本地SSD硬盘资源不可以调整,只能申请到GPU数量的预设比例。具体比例请到官网查询。
  • 流量限制:每token每秒50次。
  • 接口作用:删除一个容器(不支持批量删除)
  • namespace规则:创建的容器归属于指定namespace,如果不指定namespace,则默认为token账号所对应的namespace。各个namespace之间可以资源隔离。

接口路径

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头说明
X-Auth-TokenToken 值

请求体

请求参数选项类型默认值说明
namespace可选字符串账号下的namespace,默认为账号对应同名namespace
container_uid必填字符串容器UID,获取uid接口所返回的uid

示例

json
{
  "namespace": "casdao",
  "container_uid": "797a6e6c7a66736c35353638327879776e736c0000018e9d7edb8a"
}

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据

示例

json
{
    "code": 200,
    "msg": null,
    "data": {
        
    }
}

5. 列出所有容器及其状态

  • Token: 此接口需要 Token 调用,需要先调用登录接口换取 Token。
  • 费用:不收费
  • 流量限制:每token每秒50次。
  • 接口作用:列出指定namespace下的容器
  • namespace规则:如果指定namespace,则列出namespace下的所有容器;如果没有指定, 则列出token下的所有namespace下的所有容器。

接口路径

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头说明
X-Auth-TokenToken 值

请求体

请求参数选项类型默认值说明
namespace可选字符串账号下的namespace,默认为账号对应同名namespace

示例

json
{
  "namespace": "casdao"
}

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据
uid容器uid
namespace所属namespace
port容器内部开放接口,不能是22 6006 和 8888。将转发至targetPort
targetPort将容器内部接口转发至外部端口
pod_namek8s返回的pod_name
name创建容器时指定的名称
image_name容器使用的镜像名称
resource显卡型号
status创建结果, waiting: 任务已经建立,但是没有开始创建,有可能在排队,资源不够,等等。0-100: 用字符串表示的数字,代表创建进度。running: 成功创建.error: 错误请联系管理员
create_time创建成功的时间
gpuNum显卡数量
jupyter_urijupyterlab的访问网址
tensorboard_uritensorboard的访问网址
ssh_urissh 地址
ssh_userssh 用户名,可能是tom或者root.跟镜像有关
ssh_portssh 端口号
ssh_passwordssh 密码,自动生成,如需修改,需要进容器
fssd_num本地SSD存储空间,单位G
cpu_numCPU核数
system_disk系统盘可用空间,单位G
memory_num内存大小,单位G
image_version镜像版本号
image_id镜像id
webUsername应用服务登录用户名
webPassword应用服务登录密码

示例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "total": 1,
    "list": [
      {
        "uid": "797a6e6c7a66736c35353638327879776e736c0000018e9d7edb8a",
        "namespace": "casdao",
        "port": 6666,
        "targetPort": 31220,
        "pod_name": "incredible-typhoon-7852-777bf78496-t5tfx",
        "container_name": "cuda",
        "name": "测试1",
        "image_name": "cuda12.1.0-ubuntu22.04-py3.9-root",
        "resource": "NVIDIA Geforce 3090",
        "status": "running",
        "create_time": "2024-04-02T16:27:46",
        "gpuNum": 1,
        "jupyter_uri": "https://notebook.casdao.com:30352/jupyter/incredible-typhoon-7852/?token=D2ha3BGVtc3buc8vaqVt",
        "tensorboard_uri": "",
        "ssh_uri": "root@60.171.194.75",
        "ssh_user": "root",
        "ssh_port": "51404",
        "ssh_password": "D2ha3BGVtc3buc8vaqVt",
        "fssd_num": 10,
        "cpu_num": 7,
        "system_disk": 30,
        "memory_num": 16,
        "image_version": "cuda12.1.0-ubuntu22.04-py3.9-root",
        "image_id": "000329f",
        "webUsername": "tom",
        "webPassword": "string"
      }
    ]
  }
}

算力互联(北京)科技有限公司版权所有