创建BEC服务
更新时间:2022-04-18
接口描述
本接口用于创建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": ""
}]
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
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参数 | 标签信息 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
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。如果传regjionId,则可以不传region、serviceProvider、city。 |
region | String | 服务部署的地域 |
serviceProvider | String | 服务部署的运营商 |
city | String | 服务部署的城市 |
replicas | Integer | 服务部署的副本数 |
ServiceBriefVo
参数名称 | 类型 | 描述 |
---|---|---|
region | String | 服务部署的地域 |
serviceProvider | String | 服务部署的运营商 |
replicas | Integer | 服务部署的副本数 |