更新时间:2022-10-08 GMT+08:00
分享

创建应用部署

功能介绍

该API用于部署一个或多个应用到一组边缘节点。

URI

POST /v2/{project_id}/edgemgr/deployments

表1 Path参数

名称

是否必选

说明

project_id

项目ID,获取方法请参见获取项目ID

请求消息

请求参数

表2 请求Header参数

参数

是否必选

类型

描述

Content-Type

String

消息体的类型(格式)

推荐您使用默认值application/json。

X-Auth-Token

String

用户Token

调用接口的认证方式分为Token和AK/SK两种,如果您使用Token方式,此参数为必填,请填写Token的值,获取方式请参见Token认证

表3 请求Body参数

名称

是否必选

参数类型

说明

name

String

应用部署名称,只允许英文小写字母、数字、中划线,最大长度64,英文小写字母或数字开头和结尾。

description

String

应用部署描述,最大长度255,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \

node_ids

Array of strings

边缘节点ID列表,当前只支持一个边缘节点

app

表4 object

应用配置

group_id

String

边缘节点组

visibility

String

预留字段

表4 app

名称

是否必选

参数类型

说明

name

String

应用名称(预留字段),只允许英文小写字母、数字、中划线,最大长度64,英文小写字母或数字开头和结尾。

version

String

版本描述,只允许英文小写字母、数字、中划线、点,最大长度64,英文小写字母或数字开头。

image_url

String

容器镜像URL,最大长度2083,不能为空字符串。

envs

Array of 表10 objects

环境变量

volumes

Array of 表11 objects

卷配置

resources

表12 object

容器资源配置

configs

表14 object

高级配置

liveness_probe

表15 object

工作负载存活探针,如果不需要,请求消息体中不需要提供该字段

readiness_probe

表15 object

工作负载业务探针,如果不需要,请求消息体中不需要提供该字段

command

Array of String

容器命令

toleration_seconds

Integer

应用实例故障容忍时间,容忍时间到达后迁移应用实例,只在指定节点组部署时生效

migration

Boolean

应用实例故障是否迁移,指定节点组部署时必选,默认值false

args

Array of String

参数

请求示例

{
    "deployment": {
        "name": "deployment-test",
        "description": "This is a test deployment",
        
        "node_ids": [
            "09dafd3e-63df-47a8-b7c6-119563fefa85"
        ],
        "app": {
            "name": "test-hw",
            "version": "1.0.0",
            "image_url": "100.95.181.176:5300/op_svc_ief_container1/sample:latest",
            "envs": [],
            "volumes": [],
            "configs": {
                "privileged": false,
                "host_network": false,
                "restart_policy": "Always",
                "ports": [
                    {
                        "container_port": 8888,
                        "host_port": 88
                    }
                ]
            },
            "resources": {
                "requests": {
                    "cpu": 0.25,
                    "memory": 512
                },
                "limits": {
                    "cpu": 1,
                    "memory": 512
                }
            },
            "liveness_probe": {
                "exec_command": "/bin/bash",
                "initial_delay_seconds": 10,
                "timeout_seconds": 10
            }
        }
    }
}

响应消息

响应参数

表5 响应Body参数

名称

参数类型

说明

deployment

表18 object

部署详细信息

响应示例

{
    "deployment": {
        "description": "This is a test deployment",
        "created_at": "2019-07-10T07:12:44.020393",
        "updated_at": null,
        "visibility": null,
        "instances": [
            {
                "restarts": 0,
                "name": "test-hw",
                "envs": [],
                "liveness_probe": {
                    "timeout_seconds": 10,
                    "exec_command": "/bin/bash",
                    "initial_delay_seconds": 10
                },
                "state": "PENDING_CREATE",
                "group_name": null,
                "configs": {
                    "host_network": false,
                    "restart_policy": "Always",
                    "privileged": false,
                    "ports": [
                        {
                            "host_port": 88,
                            "container_port": 8888
                        }
                    ]
                },
                "reason": null,
                "version": "1.0.0",
                "image_url": "100.95.181.176:5300/op_svc_ief_container1/sample:latest",
                "resources": {
                    "requests": {
                        "cpu": 0.25,
                        "memory": 512.0
                    },
                    "limits": {
                        "cpu": 1.0,
                        "memory": 512.0
                    }
                },
                "volumes": [],
                "is_ready": null,
                "readiness_probe": null,
                "message": null,
                "group_id": null,
                "id": "f4f87339-fe33-483a-a838-6d5250a96fc5",
                "node_id": "09dafd3e-63df-47a8-b7c6-119563fefa85"
            }
        ],
        "project_id": "9ff38382ccc546ac9635800c3315a5e2",
        "id": "8170e363-0232-44eb-b89c-dab6b6e915ff",
        "name": "deployment-test"
    }
}

错误码

请参见错误码

相关文档