Skip to Content
GPU 接口文档GPU实例创建GPU资源
GPU API 接口

创建GPU实例

接口说明

创建一台优云智算 GPU 实例。调用成功后返回实例短 ID(UHostIds),可通过 DescribeCompShareInstance 查询实例状态。

POSThttps://api.compshare.cnActionCreateCompShareInstance

使用限制

  • 创建前须调用 CheckCompShareResourceCapacity 判断目标规格是否有库存(勿用 Describe 类接口代替)。该接口按 GpuType、CPU 平台、镜像和磁盘配置模拟调度,返回各 GPU/CPU/Memory 组合的 ResourceEnough
  • 实例创建数量受账户等级配额限制,详见下方「配额说明」。
  • 账户存在未支付订单时,无法创建新实例。
  • CLOUD_RSSD 磁盘类型仅 A800 机型支持。
  • 抢占式实例(Spot)不支持以下 GPU 类型:4090_48G、A800、H20、P40、2080。

配额说明

账户等级最大实例数
未充值(Level 0)1
Level 1(已充值)5
Level 220
Level 350
Level 4100

白名单用户配额独立配置,不受上述限制。


请求参数

公共参数

名称类型必填描述示例值
ActionString接口名称,固定值CreateCompShareInstance
RegionString地域。通过 DescribeCompShareSupportZone 获取cn-wlcb
ZoneString可用区。通过 DescribeCompShareSupportZone 获取cn-wlcb-01

实例规格参数

名称类型必填描述示例值
GpuTypeStringGPU 卡型号。枚举值见下方「GPU 类型列表」4090
GPUIntegerGPU 卡数量。取值范围 1~8 或 1~10,因卡型号而异,详见「GPU 类型列表」1
CPUInteger虚拟 CPU 核数。需与 GPU 类型和卡数匹配,可通过 DescribeAvailableCompShareInstanceTypes 查询合法组合16
MemoryInteger内存大小,单位 MB。必须为 1024 的整数倍,需与 GPU/CPU 匹配65536
MachineTypeString机型,默认 G。当前仅支持 G(GPU 型)G
MinimalCpuPlatformStringCPU 平台。Auto 表示自动选择(优先 AMD,不足时回退 Intel);也可指定 Intel/AutoAmd/Auto。部分 GPU 型号仅支持 Intel 平台(H20、A800、A100、P40、4090_48G、3080Ti、2080Ti、2080、V100S)Auto

镜像与登录参数

名称类型必填描述示例值
CompShareImageIdString优云智算平台镜像 ID。包括系统镜像、自制镜像和社区镜像。镜像必须处于 Available 状态compshare-image-xxx

磁盘参数

磁盘通过 Disks 数组传入,至少包含一块系统盘(IsBoot=true)。

名称类型必填描述示例值
DisksArray of Object磁盘配置数组,元素结构见下表[{"IsBoot":true,"Type":"CLOUD_SSD","Size":100}]

Disks 元素结构

字段类型必填描述
IsBootBoolean是否为系统盘。true 为系统盘,false 为数据盘
TypeString磁盘类型。平台可用:CLOUD_SSD(SSD,系统盘 100GB 免费)、CLOUD_RSSD(RSSD,仅 A800)
SizeInteger磁盘大小,单位 GB。SSD 系统盘 ≤100GB 部分免费;RSSD 系统盘全量计费
CouponIdString云盘代金券 ID;不适用于系统盘和本地盘

计费参数

名称类型必填描述示例值
ChargeTypeString计费模式,默认 Month。枚举值:Month(按月)、Day(按天)、Postpay(按量后付费)、Spot(抢占式,实际以后付费运行,可能被回收)Month
QuantityInteger购买时长,默认 1Month 时为月数,Day 时为天数。不支持传 0(购买到月末)1

其他参数

名称类型必填描述示例值
NameString实例名称,默认 host。最长 63 个字符,支持中文、英文、数字及 _ . , : -my-gpu-instance
RemarkString实例备注信息,可用于存储创建页面选择的驱动等自定义信息driver:535.129.03
SecurityGroupIdString防火墙 ID。不传则系统根据镜像端口自动创建防火墙firewall-xxx
MaxCountInteger批量创建数量1
EnableUS3Boolean是否挂载 US3 对象存储(仅容器镜像生效)true

GPU 类型列表

GpuType显存最大 GPU 数最大 CPU最大内存(GB)CPU 平台支持抢占式
409024GB10140680Intel / AMD
4090_48G48GB8124940Intel / AMD
50908124940Intel / AMD
A10080GB81241024Intel
A80080GB81241800Intel
H2096GB81881800Intel
309024GB8124450AMD
3080Ti12GB812125Intel
2080Ti11GB848192
208011GB892334
P4024GB848502
V100S32GB892576

CPU 与内存的合法组合需通过 DescribeAvailableCompShareInstanceTypes 查询,非任意搭配。


响应参数

名称类型描述示例值
ActionString响应名称CreateCompShareInstanceResponse
RetCodeInteger返回码。0 表示成功,非 0 为错误0
MessageString错误信息。成功时为空""
UHostIdsArray of String创建成功的实例短 ID 列表["uhost-xxx"]
WarningArray of String警告信息列表(如有)[]

请求示例

Python(使用 UCloud SDK)

安装 SDK:

pip install --upgrade ucloud-sdk-python3

示例代码:

from ucloud.core import exc from ucloud.client import Client def main(): client = Client({ "region": "cn-wlcb", "public_key": "my_public_key", # 替换为你的公钥(控制台 账户中心 → API 密钥:https://console.compshare.cn/uaccount/api_manage) "private_key": "my_private_key", # 替换为你的私钥 "base_url": "https://api.compshare.cn", }) try: resp = client.ucompshare().invoke("CreateCompShareInstance", { "Region": "cn-wlcb", "Zone": "cn-wlcb-01", "MachineType": "G", "CompShareImageId": "compshareImage-xxxx", # 替换为实际的镜像 ID "GPU": 1, "GpuType": "4090", "CPU": 16, "Memory": 64 * 1024, # 单位 MB,64 * 1024 = 64GB "ChargeType": "Postpay", "Name": "my-instance", "Disks": [ { "IsBoot": true, "Size": 100, # 系统盘大小,单位 GB "Type": "CLOUD_SSD", } ], }) print("实例创建成功,UHostIds:", resp.get("UHostIds")) except exc.UCloudException as e: print(e) if __name__ == "__main__": main()

Go(使用 UCloud SDK)

安装依赖:

go get github.com/ucloud/ucloud-sdk-go

示例代码:

package main import ( "fmt" "github.com/ucloud/ucloud-sdk-go/ucloud" "github.com/ucloud/ucloud-sdk-go/ucloud/auth" "github.com/ucloud/ucloud-sdk-go/ucloud/request" "github.com/ucloud/ucloud-sdk-go/ucloud/response" ) type DiskParam struct { IsBoot bool Type string // CLOUD_SSD / CLOUD_RSSD Size *int // 磁盘大小 (GB) } type CreateCompShareInstanceRequest struct { request.CommonBase MachineType *string CompShareImageId *string GpuType *string GPU *int CPU *int Memory *int // 单位 MB ChargeType *string `required:"false"` Name *string `required:"false"` Quantity *int `required:"false"` Disks []DiskParam } type CreateCompShareInstanceResponse struct { response.CommonBase UHostIds []string `json:"UHostIds"` // 创建成功的实例 ID 列表 } func main() { cfg := ucloud.NewConfig() cfg.Region = "cn-wlcb" cfg.BaseUrl = "https://api.compshare.cn" credential := auth.NewCredential() credential.PublicKey = "my_public_key" // 替换为你的公钥(控制台 账户中心 → API 密钥:https://console.compshare.cn/uaccount/api_manage) credential.PrivateKey = "my_private_key" // 替换为你的私钥 client := ucloud.NewClient(&cfg, &credential) req := &CreateCompShareInstanceRequest{ MachineType: ucloud.String("G"), CompShareImageId: ucloud.String("compshareImage-xxxx"), // 替换为实际的镜像 ID GpuType: ucloud.String("4090"), GPU: ucloud.Int(1), CPU: ucloud.Int(16), Memory: ucloud.Int(64 * 1024), // 单位 MB,64 * 1024 = 64 GB ChargeType: ucloud.String("Postpay"), Name: ucloud.String("my-instance"), Disks: []DiskParam{ {IsBoot: true, Type: "CLOUD_SSD", Size: ucloud.Int(100)}, }, } req.SetRegion("cn-wlcb") req.SetZone("cn-wlcb-01") resp := &CreateCompShareInstanceResponse{} if err := client.InvokeAction("CreateCompShareInstance", req, resp); err != nil { fmt.Printf("调用失败: RetCode=%d Msg=%s err=%v\n", resp.RetCode, resp.Message, err) return } fmt.Printf("实例创建成功,UHostIds: %v\n", resp.UHostIds) }

响应示例

{ "Action": "CreateCompShareInstanceResponse", "RetCode": 0, "UHostIds": [ "uhost-xxxx" ] }
Last updated on