预热镜像

更新时间:
2025-01-14

预热镜像

此接口用于预热镜像,即提前将镜像拉取至指定节点,并部署为容器 Bundles。后续在对应节点部署此容器镜像时,可以直接使用预热时部署的容器 Bundles, 无需重新部署,从而缩短容器部署时间,提升部署效率。其中容器 Bundle 指容器内根目录与 config.json 配置文件目录结构的集合。

接口描述

通信协议:HTTP

URL: POST /api/v1/image/:id/warm-up/nodes

传参方式:body、path

请求参数

字段名类型是否必填说明位置
idstring镜像 IDpath
nodesstring[ ]目标节点 ID 数组body
levelnumber镜像预热级别,各级别说明如下:
1: 拉取预热,即将镜像拉取至指定节点
2: 解压预热,即将镜像拉取至指定节点,并进行解压
3: Bundle 预热,即将镜像拉取至指定节点后,解压并生成容器 Bundles
body
bundlesnumberBundles 数量。当预热级别 level 为 3 时,指定 Bundles 数量,仅 SylixOS 镜像存在容器 Bundlebody

响应参数

响应参数 data 字段为数组,每个数组中的参数说明请参见 WarmupProgress

WarmupProgress

字段名类型说明
idstring节点 ID
statusenum当前节点镜像预热状态,各状态说明如下:
null: 预热失败
pending: 预热中
done: 预热完成
progressnumber当前节点镜像预热进度,范围为 0 - 1
messagestring预热失败时的失败原因

请求示例

curl --location --request POST 'http://localhost:3001/api/v1/image/7e166ab837224ce492b6accf86cce5cd/warm-up/nodes' \
--header 'Content-Type: application/json' \
--data-raw '
{
    "nodes": [
      "70956e2e573848738a159057b06cc832",
      "cabb486d3af84114950320b48f556ddf"
    ],
    "level": 3,
    "bundles": 2
}'

响应示例

{
    "status": 200,
    "message": "success",
    "fieldErrors": null,
    "data": [{
        "id": "70956e2e573848738a159057b06cc832",
        "status": "pending",
        "pregress": 50
    }, {
        "id": "cabb486d3af84114950320b48f556ddf",
        "status": "done",
        "pregress": 100
    }]
}

错误码

具体请参见 错误码说明

文档内容是否对您有所帮助?
有帮助
没帮助