预热镜像
此接口用于预热镜像,即提前将镜像拉取至指定节点,并部署为容器 Bundles。后续在对应节点部署此容器镜像时,可以直接使用预热时部署的容器 Bundles, 无需重新部署,从而缩短容器部署时间,提升部署效率。其中容器 Bundle 指容器内根目录与 config.json 配置文件目录结构的集合。
接口描述
通信协议:HTTP
URL: POST /api/v1/image/:id/warm-up/nodes
传参方式:body、path
请求参数
字段名 | 类型 | 是否必填 | 说明 | 位置 |
---|---|---|---|---|
id | string | 是 | 镜像 ID | path |
nodes | string[ ] | 是 | 目标节点 ID 数组 | body |
level | number | 是 | 镜像预热级别,各级别说明如下: 1: 拉取预热,即将镜像拉取至指定节点 2: 解压预热,即将镜像拉取至指定节点,并进行解压 3: Bundle 预热,即将镜像拉取至指定节点后,解压并生成容器 Bundles | body |
bundles | number | 否 | Bundles 数量。当预热级别 level 为 3 时,指定 Bundles 数量,仅 SylixOS 镜像存在容器 Bundle | body |
响应参数
响应参数 data 字段为数组,每个数组中的参数说明请参见 WarmupProgress。
WarmupProgress
字段名 | 类型 | 说明 |
---|---|---|
id | string | 节点 ID |
status | enum | 当前节点镜像预热状态,各状态说明如下: null: 预热失败 pending: 预热中 done: 预热完成 |
progress | number | 当前节点镜像预热进度,范围为 0 - 1 |
message | string | 预热失败时的失败原因 |
请求示例
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
}]
}
错误码
具体请参见 错误码说明。