创建BEC虚机实例
更新时间:2025-01-07
接口描述
本接口用于在既有实例组服务(serviceId)中创建新的BEC虚机实例。
请求结构
Plain Text
1POST /v1/vm/service/{serviceId}/instance HTTP/1.1
2Host: bec.baidubce.com
3Authorization: authorization string
4{
5 "vmName": vmName,
6 "needPublicIp": needPublicIp,
7 "bandwidth": bandwidth,
8 "deployInstances": [
9 {
10 "regionId": regionId,
11 "region": region,
12 "serviceProvider": serviceProvider,
13 "city": city,
14 "replicas": replicas
15 },
16 {
17 "regionId": regionId,
18 "region": region,
19 "serviceProvider": serviceProvider,
20 "city": city,
21 "replicas": replicas,
22 "networkType": "vpc",
23 "vpcId": vpcId,
24 "subnetId": subnetId
25 }
26 ],
27 "needIpv6PublicIp": false,
28 "spec": spec,
29 "cpu": cpu,
30 "memory": memory,
31 "imageId": imageId,
32 "imageType": bec,
33 "systemVolume": {
34 "volumeType": SATA,
35 "name": vm-rootfs,
36 "sizeInGB": 40
37 },
38 "dnsConfig": {
39 "dnsType": dnsType,
40 "dnsAddress": dnsAddress
41 },
42 "keyConfig": {
43 "type": "password",
44 "adminPass": "adminPass",
45 },
46 "dataVolumeList": [
47 {
48 "name": name,
49 "volumeType": volumeType,
50 "sizeInGB": sizeInGB
51 },
52 {
53 "name": name,
54 "volumeType": volumeType,
55 "sizeInGB": sizeInGB
56 }
57 ],
58 "disableIntranet": disableIntranet,
59 "disableCloudInit": disableCloudInit,
60 "networkConfigList": [
61 {
62 "nodeType": "SINGLE",
63 "networksList": [
64 {
65 "netType": "netType",
66 "netName": "netName"
67 },
68 {
69 "netType": "netType",
70 "netName": "netName"
71 }
72 ]
73 }
74 ],
75 "hostname": hostname,
76 "deploysetIdList": ["deploysetId"],
77 "userData": "userData",
78 "cudaVersion": "cudaVersion",
79 "driverVersion": "driverVersion",
80 "cudnnVersion": "cudnnVersion",
81 "tags": [
82 {
83 "tagKey": "",
84 "tagValue": ""
85 }
86 ]
87}
注意事项
下面的注意事项,请参考创建BEC虚机服务详细描述。
- 创建独占盘
- 密码和密钥配置注意事项
- 网卡命名和配置注意事项
- 使用VPC网络注意事项
- VPC网络三线节点网卡指定运营商、单线节点多网卡配置
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
serviceId | String | 是 | Path参数 | 虚机实例服务ID |
vmName | String | 否 | RequestBody参数 | 虚机实例名称(不传为随机名称) |
needPublicIp | boolean | 否 | RequestBody参数 | 是否开通公网,true为公开,false为不公开,缺省为false |
bandwidth | Integer | 否 | RequestBody参数 | 公网带宽大小(-1时为最大值),单位Mbps |
deployInstances | List<DeploymentInstance> | 是 | RequestBody参数 | 部署区域 |
dnsConfig | DnsConfig | 是 | RequestBody参数 | DNS配置 |
spec | String | 否 | RequestBody参数 | 规格族,传入按指定机型策略创建,不传则按随机分配策略创建;使用spec参数则不需要填写cpu/memory |
cpu | Integer | 是 | RequestBody参数 | CPU大小,必须大于1;随机分配策略必填 |
memory | Integer | 是 | RequestBody参数 | 内存大小,必须大于1;随机分配策略必填 |
imageId | String | 是 | RequestBody参数 | 镜像ID(配合imageType使用) |
imageType | String | 是 | RequestBody参数 | 镜像类型,取值为bec、bcc,分别表示为公共镜像或bec自定义镜像、bcc自定义镜像,缺省为bcc |
needIpv6PublicIp | boolean | 是 | RequestBody参数 | 是否开通IPv6公网,true:表示开通。false:表示不开通。缺省为false |
systemVolume | VolumnConfig | 是 | RequestBody参数 | 系统盘配置 |
dataVolumeList | List<VolumeConfig> | 否 | RequestBody参数 | 数据盘配置 |
keyConfig | KeyConfig | 是 | RequestBody参数 | 密码或密钥配置 |
disableIntranet | Boolean | 否 | RequestBody参数 | 是否需要内网,true:表示不需要;false:表示需要。缺省为false |
disableCloudInit | Boolean | 否 | RequestBody参数 | 是否需要网络初始化,true:表示不需要;false:表示需要。缺省为false |
networkConfigList | List<NetworkConfig> | 否 | RequestBody参数 | 网卡命名配置列表,包含NetworkConfig,缺省为默认命名 |
securityGroupIds | List<String> | 否 | RequestBody参数 | 指定私有网络的安全组ID。只适用于网络类型为vpc的实例。如果选用了vpc网络,但是没有指定安全组ID,BEC会创建并使用一个“出站方向端口全开”的默认的安全组 |
hostname | String | 否 | RequestBody参数 | 虚机hostname(不传为随机名称)。仅支持小写字母、数字以及-特殊字符,必须以字母开头,长度2-64。 |
deploysetIdList | List<String> | 否 | RequestBody参数 | 部署集ID列表,目前只支持数量为1。 |
userData | String | 否 | RequestBody参数 | 自定义注入的数据,以如下的方式编码: base64(user_injected_data: base64(原文))。注意:user_injected_data冒号后+1个空格+base64字符串。 |
cudaVersion | String | 否 | RequestBody参数 | CUDA 版本。linux或windows平台,三位版本号;只适用于创建异构计算GPU实例,开启自定义驱动安装时必填;注意:CUDA、Driver、cuDNN需要满足依赖关系 |
driverVersion | String | 否 | RequestBody参数 | GPU驱动 版本。linux或windows平台;只适用于创建异构计算GPU实例,开启自定义驱动安装时必填;注意:CUDA、Driver、cuDNN需要满足依赖关系 |
cudnnVersion | String | 否 | RequestBody参数 | cuDNN 版本。linux或windows平台,三位版本号;只适用于创建异构计算GPU实例,开启自定义驱动安装时必填 ;注意:CUDA、Driver、cuDNN需要满足依赖关系 |
tags | List<TagModel> | 否 | RequestBody参数 | 标签信息 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
result | Boolean | 返回结果,true:表示为成功,false:表示为不成功 |
action | String | 系统返回的操作描述,返回为“create” |
details | Map | 返回结果 |
错误码
请参照错误返回章节的内容。
请求示例
DeploymentInstance支持regionId
Plain Text
1POST /v1/vm/service/s-zz9r0enj/instance HTTP/1.1
2Host: bec.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "dataVolumeList": [
7 {
8 "volumeType": "SATA",
9 "sizeInGB": 20,
10 "name": "data-disk-name"
11 }
12 ],
13 "adminPass": "Password12345!",
14 "imageId": "im-DqQdV8VQ",
15 "imageType": "bec",
16 "bandwidth": 100,
17 "deployInstances": [
18 {
19 "regionId": "cn-chengdu-un",
20 "replicas": 1,
21 "networkType": "vpc",
22 "vpcId": "vpc-12ou61",
23 "subnetId": "sbn-14okg1j"
24 }
25 ],
26 "securityGroupIds": ["sg-bjlfkdq"],
27 "systemVolume": {
28 "volumeType": "SATA",
29 "name": "system-disk-name",
30 "sizeInGB": 40
31 },
32 "dnsConfig": {
33 "dnsType": "CUSTOMIZE",
34 "dnsAddress": "129.29.29.29"
35 },
36 "vmName": "vmName",
37 "purchaseMonth": null,
38 "needPublicIp": false,
39 "spec": "bec.c2.c4m8",
40 "cpu": 4,
41 "memory": 8,
42 "disableIntranet": false,
43 "disableCloudInit": false,
44 "networkConfigList": [
45 {
46 "nodeType": "SINGLE",
47 "networksList": [
48 {
49 "netType": "INTERNAL_IP",
50 "netName": "intra"
51 },
52 {
53 "netType": "PUBLIC_IP",
54 "netName": "extra"
55 }
56 ]
57 }
58 ],
59 "deploysetIdList": ["dset-enckow4i"],
60 "tags": [
61 {
62 "tagKey": "tagKey",
63 "tagValue": "tagValue"
64 }
65 ]
66}
DeploymentInstance兼容region/city/serviceProvider
Plain Text
1POST /v1/vm/service/s-zz9r0enj/instance HTTP/1.1
2Host: bec.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "dataVolumeList": [
7 {
8 "volumeType": "SATA",
9 "sizeInGB": 20,
10 "name": "data-disk-name"
11 }
12 ],
13 "adminPass": "Password12345!",
14 "imageId": "im-DqQdV8VQ",
15 "imageType": "bec",
16 "bandwidth": 100,
17 "deployInstances": [
18 {
19 "region": "SOUTH_WEST",
20 "city": "CHENGDU",
21 "serviceProvider": "CHINA_UNICOM",
22 "replicas": 1,
23 "networkType": "vpc",
24 "vpcId": "vpc-12ou61",
25 "subnetId": "sbn-14okg1j"
26 }
27 ],
28 "securityGroupIds": ["sg-bjlfkdq"],
29 "systemVolume": {
30 "volumeType": "SATA",
31 "name": "system-disk-name",
32 "sizeInGB": 40
33 },
34 "dnsConfig": {
35 "dnsType": "CUSTOMIZE",
36 "dnsAddress": "129.29.29.29"
37 },
38 "vmName": "vmName",
39 "purchaseMonth": null,
40 "needPublicIp": false,
41 "spec": "bec.c2.c4m8",
42 "cpu": 4,
43 "memory": 8,
44 "disableIntranet": false,
45 "disableCloudInit": false,
46 "networkConfigList": [
47 {
48 "nodeType": "SINGLE",
49 "networksList": [
50 {
51 "netType": "INTERNAL_IP",
52 "netName": "intra"
53 },
54 {
55 "netType": "PUBLIC_IP",
56 "netName": "extra"
57 }
58 ]
59 }
60 ],
61 "deploysetIdList": ["dset-enckow4i"],
62 "tags": [
63 {
64 "tagKey": "tagKey",
65 "tagValue": "tagValue"
66 }
67 ]
68}
响应示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2015 03:28:11 GMT
4x-bce-request-id: d8752367-38e8-45e4-b4c7-e53be3137ce5
5Server: BWS
6
7{
8 "result": true,
9 "action": "create",
10 "details": {
11 "serviceId": "s-zz9r0enj",
12 "serviceName": "test",
13 "status": "NORMAL",
14 "totalCpu": 1,
15 "totalMem": 2,
16 "totalDisk": 0,
17 "totalRootDisk": 40,
18 "regions": 1,
19 "instances": [
20 {
21 "vmId": "vm-wbolbmuo-1-m-chengdu-2ds4d",
22 "vmName": "vm-wbolbmuo-1-m-chengdu-2ds4d",
23 "regionId": "cn-chengdu-un",
24 "region": "SOUTH_WEST",
25 "city": "CHENGDU",
26 "serviceProvider": "CHINA_UNICOM"
27 }
28 ],
29 "deployInstances": [
30 {
31 "regionId": "cn-chengdu-un",
32 "region": "SOUTH_WEST",
33 "serviceProvider": "CHINA_UNICOM",
34 "replicas": 1,
35 "city": "CHENGDU"
36 }
37 ],
38 "totalInstances": 1,
39 "runningInstances": 0,
40 "osImage": {
41 "id": "5732f5cf-fd17-4e6b-a044-e95bed7da02e",
42 "imageId": "im-DqQdV8VQ",
43 "name": "qa-hello-world",
44 "imageType": "becCommon",
45 "snapshotId": "",
46 "cpu": 1,
47 "memory": 2,
48 "osType": "linux",
49 "osVersion": "7.5",
50 "osName": "CentOS",
51 "osBuild": "2019110600",
52 "osLang": "ENG",
53 "diskSize": 0,
54 "createTime": "2020-10-22T03:59:36Z",
55 "status": "active",
56 "minMem": 1,
57 "minCpu": 0,
58 "minDiskGb": 40,
59 "desc": "centos-7u5-x86_64-20191105105756",
60 "osArch": "x86_64 (64bit)",
61 "ephemeralSize": 0,
62 "imageDescription": "centos-7u5-x86_64-20191105105756",
63 "shareToUserNumLimit": 0,
64 "sharedToUserNum": 0,
65 "fpgaType": "",
66 "name_fri": null
67 },
68 "createTime": null,
69 "totalGpu": 0,
70 "bandwidth": null,
71 "totalBandwidth": "0Mbps"
72 }
73}
Model对象定义
ActionInfoVo
参数名称 | 类型 | 描述 |
---|---|---|
result | Boolean | 返回结果,true:表示为成功,false:表示为不成功 |
action | String | 系统返回的操作描述,本接口为“create” |
details | Map | 返回结果,包含VmServiceBriefVo |
VmServiceBriefVo
参数名称 | 类型 | 描述 |
---|---|---|
serviceId | String | 虚机服务ID |
serviceName | String | 虚机服务名称 |
status | String | 资源状态(NORMAL、FAILED) |
instances | List<VmInstanceIdVo> | 创建请求返回的虚机ID信息列表 |
totalCpu | float | 该服务的CPU总数 |
totalMem | float | 该服务的内存总数 |
totalRootDisk | Integer | 该服务的系统盘总数 |
totalDisk | Integer | 该服务的数据盘总数 |
regions | Integer | 该服务的区域总数 |
deployInstances | List<DeploymentInstance> | 该服务部署区域列表 |
totalInstances | Integer | 该服务已部署实例总数 |
runningInstances | Integer | 该服务运行实例数 |
osImage | ImageDetail | 系统镜像详情 |
createTime | Date | 创建时间 |
VmInstanceIdVo
参数名称 | 类型 | 描述 |
---|---|---|
vmId | String | 创建返回的虚机ID |
vmName | String | 虚机名称(默认与VmId相同) |
regionId | String | 节点ID |
region | String | 虚机部署区域 |
serviceProvider | String | 虚机部署运营商 |
city | String | 虚机部署城市 |
ImageDetail
参数名称 | 类型 | 描述 |
---|---|---|
id | String | ID |
imageId | String | imageId |
name | String | 镜像名称 |
imageType | String | 镜像类型 |
snapshotId | String | 快照ID |
cpu | Integer | CPU数量 |
memory | Integer | 内存数量 |
osType | String | OS类型 |
osVersion | String | OS版本 |
osName | String | OS名称 |
osBuild | String | OS创建时间 |
osLang | String | OS语言 |
diskSize | Integer | 磁盘大小 |
createTime | Date | 创建时间 |
minCpu | Integer | 最小CPU数量 |
minMem | Integer | 最小内存数量 |
minDiskGb | Integert | 最小磁盘数量 |
desc | String | 描述 |
osArch | String | OS Arch |
ephemeralSize | Integer | Ephemeral大小 |
imageDescription | String | 镜像描述 |
shareToUserNumLimit | Integer | 分享数量限制 |
sharedToUserNum | Integer | 分享数量 |
fpgaType | String | FPGA类型 |
name_fri | String | name_fri |
VolumeConfig
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 磁盘名称 |
sizeInGB | Integer | 磁盘大小(单位G) |
volumeType | DiskType | 磁盘类型,本地盘类型包括:NVME和SATA; 云磁盘类型包括:CDS_SSD或CDS_HDD; 独占盘类型包括HDD_PASSTHROUGH和SSD_PASSTHROUGH |
passthroughCode | String | 独占盘套餐码,非独占盘不需要填写,独占盘套餐码可通过获取独占盘接口获取 |
DeploymentInstance
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
regionId | String | 否,海外节点为必填。 | 节点ID,由“国家码-城市-运营商”的小写字母组成字符串。例如 cn-hangzhou-cm,其中国家码标准为ISO 3166-2,城市为拼音,运营商为中国移动cm/中国电信ct/中国联通un/三线ix/bgp。如果传regionId,则可以不传region、serviceProvider、city。 |
region | Region | 是 | 区域 |
city | String | 是 | 城市 |
serviceProvider | ServiceProvider | 是 | 运营商 |
subServiceProviders | List<String> | 否 | 仅适用于VPC三线节点。可以指定运营商公网,值为ct,un,cm,其中ct电信、un联通、cm移动。如果不指定该参数则默认三个运营商 |
replicas | Integer | 是 | 副本数,最小为1 |
networkType | String | 是 | 指定网络类型,枚举值有classic(经典网络)或vpc(VPC网络) |
vpcId | String | 否 | 指定私有网络ID。只有网络类型为vpc时生效;若不指定vpcId时则使用默认私有网络和默认子网 |
subnetId | String | 否 | 指定私有网络的子网ID。只有网络类型为vpc时生效;若不指定subnetId时则会使用默认VPC的默认子网 |
DnsConfig
参数名称 | 类型 | 描述 |
---|---|---|
dnsType | DnsType | DNS类型 |
dnsAddress | String | DNS地址,多个DNS地址以逗号分隔 |
DnsType
类型 | 描述 |
---|---|
NONE | 不需要设置 |
DEFAULT | 国内节点使用默认DNS地址(114.114.114.114), 海外节点使用默认DNS地址(8.8.8.8) |
CUSTOMIZE | 使用自定义DNS地址 |
LOCAL | 使用所属节点的local dns |
NetworkConfig
参数名称 | 类型 | 描述 |
---|---|---|
nodeType | NodeType | 节点类型(SINGLE单线、TRIPLE三线) |
networksList | List<Networks> | 网卡信息,包含Networks |
Networks
参数名称 | 类型 | 描述 |
---|---|---|
netType | NetType | 网卡类型 (INTERNAL_IP表示内网;单线节点使用PUBLIC_IP表示公网网卡;三线节点用TRIPLE_CT、TRIPLE_UN、TRIPLE_CM分别表示公网的电信、联通、移动) |
netName | String | 网卡名称,内外网卡的名称不能重复;支持大小写字母,数字,"-_",必须以字母开头,长度3-16字符。 |
NetType
类型 | 描述 |
---|---|
INTERNAL_IP | 内网 |
PUBLIC_IP | 外网 |
NodeType
类型 | 描述 |
---|---|
SINGLE | 单线 |
TRIPLE | 三线 |
KeyConfig
参数名称 | 类型 | 描述 |
---|---|---|
type | String | 类型,bccKeyPair为选择密钥对,password为选择的密码 |
bccKeyPairIdList | List<String> | 虚机密钥对ID列表 |
adminPass | String | 虚机密码限制长度为8~32位字符,英文、数字和符号必须同时存在,符号仅限!@#$%^+*() |
ServiceProvider
编码 | 描述 |
---|---|
CHINA_MOBILE | 中国移动 |
CHINA_UNICOM | 中国联通 |
CHINA_TELECOM | 中国电信 |
TRIPLE_LINE | 三线 |
BGP | BGP |
TagModel
参数名称 | 类型 | 描述 |
---|---|---|
tagKey | String | 标签键 |
tagValue | String | 标签值 |