CDN加速

文档中心 API文档 其他 更新Deployment

更新Deployment

更新时间:2020-08-14 18:02:45

适用产品:WSS

请求参数

JSON
参数名称类型必填描述
namestringDeployment名称。名称为4-61个字符,只能包含小写字母、数字及分隔符‘-’不能连续出现,且需要以小写字母开头,数字或小写字母结尾。
imagestring镜像信息。格式为 “镜像仓库域名/仓库类型/{镜像名称}:{版本名称}”。 镜像仓库域名:见接口文档 仓库类型:若使用私有镜像,则仓库类型为用户名;若使用公有镜像,则仓库类型为library
cpufloatDeployment所需部署容器cpu规格。常规规格允许最小1核,最大8核,若需特殊规格请联系相关人员。
memoryfloatDeployment所需部署容器内存规格。常规规格允许最小1GB,最大32GB,若需特殊规格请联系相关人员。
availableZoneListarray容器部署可用区和数量信息,结构中具体字段见表-可用区部署信息。
┗availableZonestring可用区英文名称,一次允许最多添加50个可用区。
┗countint可用区部署容器个数,单可用区最多允许添加50个容器。
portsarray集群访问端口映射信息,结构中具体字段见表-内部访问请求信息。
┗portocolstring服务端口协议,包括TCP和UDP两种协议,最多允许添加50条端口映射。
┗containerPortint容器端口,端口范围为1-65535。
┗servicePortint服务端口,端口范围为1-65535。
restartStrategystring重启策略,当前仅支持总是(ALWAYS)。默认为ALWAYS。
environmentsmap环境变量映射关系,格式为{变量名}:{变量值},支持最多配置50条。 变量名需以大小写字母开头,支持大小写字母数字和下划线。变量名和变量值长度不超过1024个字符。当变量名重复定义时,取最后一个定义值生效。
runPathstring启动命令运行路径。
startCmdstring启动命令运行命令,长度不超过1024个字符,区分大小写字母。
startCmdArgsstring启动命令运行参数,长度不超过1024个字符,区分大小写字母。
postStartCmdstring生命周期启动后处理运行命令,长度不超过1024个字符,区分大小写字母。
postStartCmdArgsstring生命周期启动后处理运行参数,长度不超过1024个字符,区分大小写字母。填写运行参数时,运行命令不可为空。
preStopCmdstring生命周期停止前处理运行命令,长度不超过1024个字符,区分大小写字母。
preStopCmdArgsstring生命周期停止前处理运行参数,长度不超过1024个字符,区分大小写字母。填写运行参数时,运行命令不可为空。
logAbsPathsarray日志采集策略,若无配置默认采集标准输出,结构中具体字段见表-日志采集路径参数。
┗logPathstring容器内日志路径,以/开头和结尾,支持大小写字母、数字和-_.@+,且不支持连续输入多个-或_。允许最多添加5条日志路径。
┗logNamestring日志文件名,支持大小写字母、数字和-_.@+,且不支持连续输入多个-或_。
healthProbesobject健康检查,详见表-健康检查结构。
┗healthTypestring健康检查探针类型,类型包括两种: 执行命令检查:sh HTTP请求检查:http
┗cmdSchemaarray执行命令检查,结构中具体字段见表-健康检查-执行命令检查参数。
┗httpSchemaarrayHTTP请求检查,结构中具体字段见表-健康检查- HTTP请求检查参数。
┗initialDelaySecondsint延迟探测时间, 表示从容器启动后多久开始探测,默认为5s,最大不超过3600秒。
┗timeoutSecondsint超时时间,表示探测的超时等待时间,默认为1秒,最大不超过3600秒。
┗periodSecondsint探测周期,默认为10秒,最大不超过3600秒。

返回参数

JSON
参数名称类型描述
namestring
imagestring
cpufloat
memoryfloat
availableZoneListarray
┗availableZonestring
┗countint
portsarray
┗portocolstring
┗containerPortint
┗servicePortint
restartStrategystring
environmentsmap
runPathstring
startCmdstring
startCmdArgsstring
postStartCmdstring
postStartCmdArgsstring
preStopCmdstring
preStopCmdArgsstring
logAbsPathsarray
┗logPathstring
┗logNamestring
healthProbesobject
┗healthTypestring
┗cmdSchemaarray
┗httpSchemaarray
┗initialDelaySecondsint
┗timeoutSecondsint
┗periodSecondsint

错误码

错误代码(code)描述(message)HTTP状态码语义
31442001request format error400请求格式错误
31442002missing argument400缺少必要参数
31442003illegal argument400参数非法
31443007service name already exists.400服务名称已存在

示例

JSON
示例说明
请求示例
复制
#!/bin/bash
username="example_username"
apiKey="example_apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://open.chinanetcenter.com/ecc/openapi/v1/namespace/test-openapi/workload/deployment" \
-X "POST" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-d '{
    "name": "test-opensvc-005",
    "image": "ecchub.wangsuedge.com/wuss/nginx:1.14.2-perl",
    "cpu": 1.0,
    "memory": 2.0,
    "availableZoneList": [ {
      "availableZone": "HB-wuhan3-CK",
      "count": 1
    } ],
    "ports": [ {
      "protocol": "TCP",
      "containerPort": 80,
      "servicePort": 8080
    } ],
    "restartStrategy": "Always",
    "environments": {	
      "TEST_VERSION_ENV":"This is a demo",
      "TEST_POD_IP":"DownwardAPI_fieldPath:status.podIP",
      "TEST_NODE_VIP":"Pontus_service:nodeVip"
    },
    "runPath": "",
    "startCmd": "",
    "startCmdArgs": "",
    "postStartCmd": "touch 1.txt",
    "postStartCmdArgs": "",
    "preStopCmd": "touch 2.txt",
    "preStopCmdArgs": "",
    "logAbsPaths": [ {
      "logPath": "/tmp/testdir/test.log",
      "logName": "test.log"
    } ],
    "healthProbes": {
      "cmdSchema": {
        "cmd": "",
        "args": ""
      },
      "httpSchema": {
        "path": "/",
        "port": 80
      },
      "initialDelaySeconds": 5,
      "periodSeconds": 10,
      "timeoutSeconds": 1,
      "healthType": "http"
    } 
}'
返回示例
复制
{
  "code": "0",
  "message": "success",
  "data": {
      "name": "test-opensvc-005",
      "namespace": "test-openapi",
      "image": "ecchub.wangsuedge.com/wuss/nginx:1.14.2-perl",
      "cpu": 1.0,
      "memory": 2.0,
      "availableZoneList": [ {
        "availableZone": "HB-wuhan3-CK",
        "count": 1
      } ],
      "ports": [ {
        "protocol": "TCP",
        "containerPort": 80,
        "servicePort": 8080,
        
      } ],
      "restartStrategy": "Always",
      "environments": {
"ECC_AVAILABLE_ZONE": "HB-wuhan3-CK",
"TEST_VERSION_ENV":"TOUCH"
      },
      "runPath": "",
      "startCmd": "",
      "startCmdArgs": "",
      "postStartCmd": "touch 1.txt",
      "postStartCmdArgs": "",
      "preStopCmd": "touch 2.txt",
      "preStopCmdArgs": "",
      "logAbsPaths": [ {
        "logPath": "/tmp/testdir/test.log",
        "logName": "test.log"
      } ],
      "healthProbes": {
        "cmdSchema": {
          "cmd": "",
          "args": ""
        },
        "httpSchema": {
          "path": "/",
          "port": 80
        },
        "initialDelaySeconds": 5,
        "periodSeconds": 10,
        "timeoutSeconds": 1,
        "healthType": 1
      }
    } 
}