CDN加速

创建job

更新时间:2020-07-31 13:41:03
适用产品:通用功能

接口描述

在指定命名空间下创建Job

请求参数

参数名称类型必填描述
namestringjob名称。名称为4-61个字符,只能包含小写字母、数字及分隔符‘-’不能连续出现,且需要以小写字母开头,数字或小写字母结尾。
imagestring镜像信息。格式为 “镜像仓库域名/仓库类型/{镜像名称}:{版本名称}”。 镜像仓库域名:见接口文档 仓库类型:若使用私有镜像,则仓库类型为用户名;若使用公有镜像,则仓库类型为library
cpuLimitfloatjob所需部署容器cpu规格。常规规格允许最小1核,最大8核,若需特殊规格请联系相关人员。
memoryLimitfloatjob所需部署容器内存规格。常规规格允许最小1GB,最大32GB,若需特殊规格请联系相关人员。
cpuRequestfloatjob所需部署容器cpu规格。常规规格允许最小1核,最大8核,若需特殊规格请联系相关人员。
memoryRequestfloatjob所需部署容器内存规格。常规规格允许最小1GB,最大32GB,若需特殊规格请联系相关人员。
availableZoneListarray容器部署可用区和数量信息,结构中具体字段见表-可用区部署信息。
┗availableZonestring可用区英文名称,一次允许最多添加50个可用区。
┗countint可用区部署容器个数,单可用区最多允许添加50个容器。
restartStrategystring重启策略,当前仅支持总是(ALWAYS)。默认为ALWAYS。
environmentsmap环境变量映射关系,格式为{变量名}:{变量值},支持最多配置50条。 变量名需以大小写字母开头,支持大小写字母数字和下划线。变量名和变量值长度不超过1024个字符。当变量名重复定义时,取最后一个定义值生效。
runPathstring启动命令运行路径。
startCmdstring启动命令运行命令,长度不超过1024个字符,区分大小写字母。
startCmdArgsstring启动命令运行参数,长度不超过1024个字符,区分大小写字母。
postStartCmdstring生命周期启动后处理运行命令,长度不超过1024个字符,区分大小写字母。
postStartCmdArgsstring生命周期启动后处理运行参数,长度不超过1024个字符,区分大小写字母。填写运行参数时,运行命令不可为空。
preStopCmdstring生命周期停止前处理运行命令,长度不超过1024个字符,区分大小写字母。
preStopCmdArgsstring生命周期停止前处理运行参数,长度不超过1024个字符,区分大小写字母。填写运行参数时,运行命令不可为空。
healthProbesobject健康检查,详见表-健康检查结构。
┗healthTypestring健康检查探针类型,类型包括两种: 执行命令检查:sh HTTP请求检查:http
┗cmdSchemaarray执行命令检查,结构中具体字段见表-健康检查-执行命令检查参数。
┗cmdstring执行命令检查所需运行命令,长度不超过1024个字符。
┗argsstring执行命令检查运行命令所需运行参数,长度不超过1024个字符。
┗httpSchemaarrayHTTP请求检查,结构中具体字段见表-健康检查- HTTP请求检查参数。
┗portintHTTP请求检查容器端口,端口号范围1-65535
┗pathstring容器路径(目录),长度不超过1024个字符。
┗initialDelaySecondsint延迟探测时间, 表示从容器启动后多久开始探测,默认为5s,最大不超过3600秒。
┗timeoutSecondsint超时时间,表示探测的超时等待时间,默认为1秒,最大不超过3600秒。
┗periodSecondsint探测周期,默认为10秒,最大不超过3600秒。
volumeListobject文件挂载,详见表-文件挂载结构。
┗hostpathstring宿主机路径,长度不超过1024个字符。
┗typestring存储卷类型,当前支持: 挂载目录:directory 文件:file 默认为directory型。
parallelismint指定job在任一时刻应该并发运行Pods的数量。默认值: 1
completionsintjob需要成功运行Pods的次数。默认值: 1
activeDeadlineSecondsint指定job可运行的时间期限,超过时间还未结束,系统将会尝试进行终止
tTLSecondsAfterFinishedintJob完成后被删除的超时时间
backoffLimitint指定job失败后进行重试的次数。默认是6次,每次失败后重试会有延迟时间,该时间是指数级增长,最长时间是6min

返回参数

参数名称类型描述
namestring
imagestring
cpuLimitfloat
memoryLimitfloat
cpuRequestfloat
memoryRequestfloat
availableZoneListarray
┗availableZonestring
┗countint
restartStrategystring
environmentsmap
runPathstring
startCmdstring
startCmdArgsstring
postStartCmdstring
postStartCmdArgsstring
preStopCmdstring
preStopCmdArgsstring
healthProbesobject
┗healthTypestring
┗cmdSchemaarray
┗cmdstring
┗argsstring
┗httpSchemaarray
┗portint
┗pathstring
┗initialDelaySecondsint
┗timeoutSecondsint
┗periodSecondsint
volumeListobject
┗hostpathstring
┗typestring
parallelismint
completionsint
activeDeadlineSecondsint
tTLSecondsAfterFinishedint
backoffLimitint

错误码

错误代码(code)描述(message)HTTP状态码语义
31442001request format error400请求格式错误
31442002missing argument400缺少必要参数
31442003illegal argument400参数非法
31443007service name already exists.400服务名称已存在
31442001request format error400请求格式错误
31442002missing argument400缺少必要参数
31442003illegal argument400参数非法
31443007service name already exists.400服务名称已存在
31442001request format error400请求格式错误
31442002missing argument400缺少必要参数
31442003illegal argument400参数非法
31443007service name already exists.400服务名称已存在
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-its.chinanetcenter.com/ecc/openapi/v1/namespace/test-openapi/job" \
-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",
    "cpuLimit": 1.0,
"memoryLimit": 2.0,
    "cpuRequest": 1.0,
    "memoryRequest": 2.0,
    "availableZoneList": [ {
      "availableZone": "HB-wuhan3-CK",
      "count": 1
    } ],
    "ports": [ {
      "protocol": "TCP",
      "containerPort": 80,
      "servicePort": 8080
    } ],
    "restartStrategy": "Always",
    "environments": {
      "TEST_ENV": "test"
    },
    "runPath": "",
    "startCmd": "",
    "startCmdArgs": "",
    "postStartCmd": "touch 1.txt",
    "postStartCmdArgs": "",
    "preStopCmd": "touch 2.txt",
    "preStopCmdArgs": "",
    "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",
      "cpuLimit": 1.0,
"memoryLimit": 2.0,
      "cpuRequest": 1.0,
      "memoryRequest": 2.0,
      "availableZoneList": [ {
        "availableZone": "HB-wuhan3-CK",
        "count": 1
      } ],
      "restartStrategy": "Always",
      "environments": {
        "TEST_ENV": "test"
      },
      "runPath": "",
      "startCmd": "",
      "startCmdArgs": "",
      "postStartCmd": "touch 1.txt",
      "postStartCmdArgs": "",
      "preStopCmd": "touch 2.txt",
      "preStopCmdArgs": "",
      "healthProbes": {
        "cmdSchema": {
          "cmd": "",
          "args": ""
        },
        "httpSchema": {
          "path": "/",
          "port": 80
        },
        "initialDelaySeconds": 5,
        "periodSeconds": 10,
        "timeoutSeconds": 1,
        "healthType": 1
      }
    } 
}