创建BEC服务
所有文档
menu

边缘计算节点 BEC

创建BEC服务

产品详情立即开通

接口描述

本接口用于创建BEC容器服务,在用户开通BEC服务之后进行部署BEC服务。

请求结构

POST /v1/service/create HTTP/1.1
Host: bec.baidubce.com
Authorization: authorization string
{
"serviceName": "baidu-bec",
"paymentMethod": "postpay",
"containerGroupName": "baidu-bec-pod",
"needPublicIp": true,
"needIpv6PublicIp": false,
"bandwidth": 100,
"containers": [{
	"name": "containers1",
	"imageAddress": "nginx",
	"imageVersion": "v1.0",
	"cpu": 4,
	"memory": 8,
	"workingDir": "/home",
	"commands": [
		"/bin/sh"
	],
	"args": [
		"sleep 3600"
	],
	"ports": [{
		"containerPort": 80,
		"protocol": "TCP"
	}],
	"envs": [{
		"name": "name",
		"value": "baidu"
	}],
	"volumeMounts": [{
		"name": "baidu-config",
		"readOnly": false,
		"mountPath": "/temp"

	}]
}],
"tags": [{
	"tagKey": "service",
	"tagValue": "bec"
}],
"deployInstances": [{
	"regionId":"cn-shanghai-ct",
    "region":"EAST_CHINA",
    "city":"SHANGHAI",
	"serviceProvider": "CHINA_TELECOM",
	"replicas": 1
}],
"volume": {
	"secret": [{
		"name": ""
	}],
	"configMap": [{
		"name": "baidu-config"
	}],
	"volumeClaimTemplates": [{
		"name": "volume",
		"storageSize": 1,
		"diskType": "NVME"
	}],
	"emptyDir": [{
		"name": ""
	}]
},
"imageRegistrySecrets": [{
	"name": ""
}],
"hostAliases":[{
    "ip":"x.x.x.x",
    "hostnames":["xxxx","xxxxx"]
}],
"dnsPolicy":"None",
"dnsConfig":{
    "nameservers":["x.x.x.x","x.x.x.x"]
}
}

请求头域

除公共头域外,无其它特殊头域。

请求参数

参数名称 类型 是否必需 参数位置 描述
serviceName String RequestBody参数 服务名称
paymentMethod String RequestBody参数 付费方式,只支持后付费postpay
containerGroupName String RequestBody参数 容器组名称
needPublicIp Boolean RequestBody参数 是否购买公网IP。true:购买;false:未购买;缺省为false。
needIpv6PublicIp boolean RequestBody参数 是否开通IPv6公网。true:开通;false:不开通。缺省为false
bandwidth Integer RequestBody参数 当needPublicIp为true时,用于设置外网带宽,取值范围为1Mps~2048Mps,可开通白名单上限增加到5120Mps
containers List<ContainerDetails> RequestBody参数 容器组信息
deployInstances List<DeploymentInstance> RequestBody参数 部署地域信息
volume Volume RequestBody参数 存储卷信息
imageRegistrySecrets List<ImageRegistrySecret> RequestBody参数 镜像仓库凭据
tags List<Tag> RequestBody参数 标签信息
hostAliases List<V1HostAlias> RequestBody参数 主机别名
dnsConfig V1PodDNSConfig RequestBody参数 Dns配置
dnsPolicy String RequestBody参数 Dns策略。可选值:Default(Pod直接继承集群节点的域名解析配置),ClusterFirst(未指定时的默认值,预先把 kube-dns或CoreDNS的信息当作预设参数写入到该Pod内的DNS配置。所有请求会优先在集群所在域查询,如果没有才会转发到上游DNS),ClusterFirstWithHostNet(对于以hostNetwork方式运行的Pod,应显式设置其DNS策略"ClusterFirstWithHostNet"),None(忽略Kubernetes环境中的DNS设置。此时该Pod的DNS的所有设置必须通过dnsConfig指定)

响应头域

除公共头域外,无其它特殊头域。

响应参数

参数名称 类型 描述
serviceId String 服务ID

错误码

请参照错误返回章节的内容。

请求示例

POST /v1/service/create HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

{
    "serviceName":"baidu-bec",
    "paymentMethod":"postpay",
    "containerGroupName":"baidu-bec-pod",
    "needPublicIp":false,
    "needIpv6PublicIp":false,
    "containers":[
    {
        "name":"containers1",
        "imageAddress":"nginx",
        "imageVersion":"v1.0",
        "cpu":4,
        "memory":8,
        "workingDir":"/home",
        "commands":[
            "/bin/sh"
        ],
        "args":[
            "sleep 3600"
        ],
        "ports":[
            {
                "containerPort":80,
                "protocol":"TCP"
            }
        ],
        "envs":[
            {
                "name":"name",
                "value":"baidu"
            }
        ],
        "volumeMounts":[
            {
                "name":"baidu-config",
                "readOnly":false,
                "mountPath":"/temp"
                
            }
        ]
    }
],
"tags":[
    {
        "tagKey":"service",
        "tagValue":"bec"
    }
],
"deployInstances":[
    {
        "regionId":"cn-shanghai-ct",
        "region":"EAST_CHINA",
        "city":"SHANGHAI",
        "serviceProvider":"CHINA_TELECOM",
        "replicas":1
    }
],
"volume":{
    "secret":[
        {
            "name":""
        }
    ],
    "configMap":[
        {
            "name":"baidu-config"
        }
    ],
    "volumeClaimTemplates":[
        {   
            "name":"volume",
            "storageSize":1,
            "diskType":"NVME"
        }
    ],
    "emptyDir":[
        {
            "name":""
        }
    ]
},
"imageRegistrySecrets":[
    {
        "name":""
    }
]

}

响应示例

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Wed, 08 Jul 2015 03:28:11 GMT
x-bce-request-id: d8752367-38e8-45e4-b4c7-e53be3137ce5
Server: BWS

{
   "serviceId":"s-xart2shr"
}

数据类型

Model对象定义

ContainerDetails

参数名称 类型 描述
name String 容器的名称
cpu float 容器申请的CPU核数
memory float 容器申请的内存大小
imageAddress String 镜像地址
imageVersion Striing 镜像版本
workingDir String 容器工作目录
commands List<String> 容器启动命令
args List<String> 容器启动参数
volumeMounts List<V1VolumeMount> 容器数据卷信息
ports List<V1ContainerPort> 容器端口协议
envs List<V1EnvVar> 容器环境变量

V1VolumeMount

参数名称 类型 描述
name String 容器数据卷名称
mountPath String 容器数据卷挂载路径
readOnly String 容器数据卷是否只读

V1ContainerPort

参数名称 类型 描述
protocol String 容器暴露端口协议
containerPort String 容器暴露端口

V1EnvVar

参数名称 类型 描述
name String 容器环境变量key
value String 容器环境变量value

ImageRegistrySecret

参数名称 类型 描述
name String 镜像仓库凭据名称

Volume

参数名称 类型 描述
emptyDir List<EmptyDir> emptyDir存储卷
configMap List<ConfigFile> configMap存储卷
secret List<Secret> 密钥 & 凭据存储卷
volumeClaimTemplates List<VolumeClaimTemplates> 数据盘存储卷

EmptyDir/ConfigFile/Secret

参数名称 类型 描述
name String EmptyDir/ConfigFile/Secret存储卷名称

VolumeClaimTemplates

参数名称 类型 描述
name String 数据盘存储卷名称
storageSize Integer 数据盘存储卷容量大小
diskType String 数据盘存储卷类型(HDD类型:NVME,SSD类型:SATA)

Tag

参数名称 类型 描述
tagKey String 标签的key
tagValue String 标签的value

DeploymentInstance

参数名称 类型 描述
regionId String 节点ID,由“国家码-城市-运营商”的小写字母组成字符串。例如 cn-hangzhou-cm,其中国家码标准为ISO 3166-2,城市为拼音,运营商为中国移动cm/中国电信ct/中国联通un/三线ix/为bgp。如果传regionId,则可以不传region、serviceProvider、city。
region String 服务部署的地域
serviceProvider String 服务部署的运营商
city String 服务部署的城市
replicas Integer 服务部署的副本数

ServiceBriefVo

参数名称 类型 描述
region String 服务部署的地域
serviceProvider String 服务部署的运营商
replicas Integer 服务部署的副本数

V1HostAlias

参数名称 类型 描述
hostnames List<String> 主机别名
ip String 主机别名对应ip

V1PodDNSConfig

参数名称 类型 描述
nameservers List<String> Pod 的 DNS Server IP 地址列表。最多可以执行 3 个 IP 地址。当 dnsPolicy 为 “None”时,至少需要指定一个 IP 地址,其他情况下该字段是可选的。DNS Server 的 IP 地址列表将会与 DNS Policy 所产生的 DNS Server 地址列表合并(重复的条目被去除)。
searches String Pod 中执行域名查询时搜索域的列表。该字段是可选的。如果指定了该字段,则指定的搜索域列表将与 DNS Policy 所产生的搜索域列表合并(重复的条目被去除)。Kubernetes最多允许6个搜索域。
options List<V1PodDNSConfigOption> 可选数组,其中每个元素由 name 字段(必填)和 value 字段(选填)组成。该列表中的内容将与 DNS Policy 所产生的 DNS 选项合并(重复的条目被去除)。

V1PodDNSConfigOption

参数名称 类型 描述
name String 名称
value String
上一篇
启动BEC服务
下一篇
更新BEC服务