CDN加速

创建服务

更新时间:2020-01-10 11:07:28

适用产品:通用功能

接口描述

在指定命名空间下创建服务

请求参数

JSON
参数名称类型必填描述
namestring服务名称。名称为4-61个字符,只能包含小写字母、数字及分隔符‘-’不能连续出现,且需要以小写字母开头,数字或小写字母结尾。
imagestring镜像信息。 1.格式为 “镜像仓库域名/仓库类型/{镜像名称}:{版本名称}”。 2.仓库类型:若使用私有镜像,则仓库类型为用户名;若使用公有镜像,则仓库类型为library
cpufloat服务所需部署容器cpu规格。常规规格允许最小1核,最大8核,若需特殊规格请联系相关人员。
memoryfloat服务所需部署容器内存规格。常规规格允许最小1GB,最大32GB,若需特殊规格请联系相关人员。
availableZoneListarray容器部署可用区和数量信息
┗availableZonestring可用区英文名称,一次允许最多添加50个可用区。
┗countint可用区部署容器个数,单可用区最多允许添加50个容器。
accessTypestring访问类型。访问类型有三种。分别为:公网访问:OUTER;内网访问:INNER;不提供访问:NONE
portsarray集群内部访问端口映射信息。当accessType为OUTER或INNER为必填项。
┗protocolstring服务端口协议,包括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执行命令检查
┗┗cmdstring执行命令检查所需运行命令,长度不超过1024个字符。
┗┗argsstring执行命令检查运行命令所需运行参数,长度不超过1024个字符。
┗httpSchemaarrayHTTP请求检查
┗┗portintHTTP请求检查容器端口,端口号范围1-65535
┗┗pathstringHTTP请求检查URL路径,以/开头,支持大小写字母数字和!'()*-._~,长度不超过100个字符。
┗initialDelaySecondsint延迟探测时间, 表示从容器启动后多久开始探测,默认为5s,最大不超过3600秒。
┗timeoutSecondsint超时时间,表示探测的超时等待时间,默认为1秒,最大不超过3600秒。
┗periodSecondsint探测周期,默认为10秒,最大不超过3600秒。

返回参数

JSON
参数名称类型描述
namestring服务名称。名称为4-61个字符,只能包含小写字母、数字及分隔符‘-’不能连续出现,且需要以小写字母开头,数字或小写字母结尾。
imagestring镜像信息。 1.格式为 “镜像仓库域名/仓库类型/{镜像名称}:{版本名称}”。 2.仓库类型:若使用私有镜像,则仓库类型为用户名;若使用公有镜像,则仓库类型为library
cpufloat服务所需部署容器cpu规格。常规规格允许最小1核,最大8核,若需特殊规格请联系相关人员。
memoryfloat服务所需部署容器内存规格。常规规格允许最小1GB,最大32GB,若需特殊规格请联系相关人员。
availableZoneListarray容器部署可用区和数量信息
┗availableZonestring可用区英文名称,一次允许最多添加50个可用区。
┗countint可用区部署容器个数,单可用区最多允许添加50个容器。
accessTypestring访问类型。访问类型有三种。分别为:公网访问:OUTER;内网访问:INNER;不提供访问:NONE
portsarray集群内部访问端口映射信息。当accessType为OUTER或INNER为必填项。
┗protocolstring服务端口协议,包括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健康检查
┗healthTypeint健康检查探针类型,类型包括两种:执行命令检查:sh;HTTP请求检查:http
┗cmdSchemaarray执行命令检查
┗┗cmdstring执行命令检查所需运行命令,长度不超过1024个字符。
┗┗argsstring执行命令检查运行命令所需运行参数,长度不超过1024个字符。
┗httpSchemaarrayHTTP请求检查
┗┗portintHTTP请求检查容器端口,端口号范围1-65535
┗┗pathstringHTTP请求检查URL路径,以/开头,支持大小写字母数字和!'()*-._~,长度不超过100个字符。
┗initialDelaySecondsint延迟探测时间, 表示从容器启动后多久开始探测,默认为5s,最大不超过3600秒。
┗timeoutSecondsint超时时间,表示探测的超时等待时间,默认为1秒,最大不超过3600秒。
┗periodSecondsint探测周期,默认为10秒,最大不超过3600秒。

错误码

错误代码(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服务名称已存在

示例

JSON
JSON
JSON
示例说明
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/container/v1/namespace/test-openapi/appservice" \

-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
    } ],
    "accessType": "OUTER",
    "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": "",
    "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
        } ],
        "accessType": "OUTER",
        "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": "",
        "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"
        }
      }      
  }