CreateContainerGroup(创建容器组)
接口描述
该接口适用于创建容器组
创建容器组前,请先在容器实例的控制台开通容器实例服务。
请求方式
POST(推荐使用)/GET
输入参数
参数 |
类型 |
是否必选 |
描述 |
ContainerGroupName |
String |
是 |
容器组名称,不超过128个字符,只能包含小写字母、数字、和分隔符(“-”,“."),不能以分隔符开头或结尾 |
SubnetId |
String |
是 |
容器组所在的子网 |
SecurityGroupId.N |
String |
是 |
容器组实例绑定的安全组,最多支持3个 |
KciType |
String |
是 |
容器实例类型,有效值:RBKCI |
ChargeType |
String |
是 |
容器实例的计费方式,支持按量付费和竞价型实例,有效值:HourlyInstantSettlement、Spot |
SpotStrategy |
String |
否,当ChargeType为Spot时必填 |
竞价型模式策略,当ChargeType为Spot时生效。目前仅支持系统自动出价,出价为固定折扣乘以列表价,有效值:SpotAsPriceGo |
InstanceType |
String |
否 |
选择主机资源套餐类型,目前只支持选择一个套餐,RBKCI支持的套餐请参考支持的云服务器类型和支持的GPU云服务器类型 |
ImageRegistryCredential.N |
Array of ImageRegistryCredential |
否 |
镜像仓库的拉取凭证 |
RestartPolicy |
String |
否 |
容器实例的重启策略,有效值:Always、OnFailure、Never,默认值:Always |
Cpu |
Float |
否 |
容器组的CPU,单位:核 |
Memory |
Float |
否 |
容器组的内存,单位:GiB |
Volume.N |
Array of Volume |
否 |
数据卷信息 |
Container.N |
Array of Container |
是 |
容器组中容器的配置信息 |
HostAliase.N |
Array of HostAliase |
否 |
添加容器组域名解析的记录 |
DnsConfig |
DnsConfig数据类型 |
否 |
容器组DNS配置 |
MachineHostAliase.N |
Array of HostAliase |
否 |
容器实例底层云主机Host配置 |
MachineDnsConfig |
DnsConfig数据类型 |
否 |
容器实例底层云主机DNS配置 |
RetainIp |
Boolean |
否 |
默认值:‘false’。当为true时,为该Pod开启固定IP功能。开启此功能的Pod,当Pod被销毁后默认会保留这个Pod的IP 24小时。24小时内重建同名的Pod,还能使用该IP。24小时以后,该IP有可能被其他Pod抢占。仅对statefulset、rawpod生效 |
RetainIpHours |
String |
否 |
修改Pod固定IP的保留时长,单位是小时。如Pod 销毁之后超过这个时长没有创建回来,IP将被释放。默认是24小时,最大可支持保留一年。仅对statefulset、rawpod生效 |
EipAllocationId |
String |
否 |
指定容器实例绑定的EIP实例ID |
AdvanceSettings |
AdvanceSettings数据类型 |
否 |
容器实例高级属性设置 |
ImageRegistryCredential
参数 |
类型 |
是否必选 |
描述 |
Server |
String |
是 |
镜像仓库的地址 |
Username |
String |
是 |
镜像仓库用户名 |
Password |
String |
是 |
镜像仓库登陆密码 |
Volume
目前支持临时目录(EmptyDir)、云硬盘(EBSVolume)和NFS(NFSVolume)作为存储卷。
当使用EmptyDirVolume时,参数如下:
参数 |
类型 |
是否必选 |
描述 |
Type |
String |
是 |
存储卷的类型,有效值:EmptyDirVolume |
Name |
String |
是 |
存储卷的名称,不超过63个字符,只能包含小写字母、数字及分隔符("-"),且必须以小写字母、数字开头和结尾 |
当使用EBSVolume时,参数如下:
参数 |
类型 |
是否必选 |
描述 |
Type |
String |
是 |
存储卷的类型,有效值:EBSVolume |
Name |
String |
是 |
存储卷的名称,不超过63个字符,只能包含小写字母、数字及分隔符("-"),且必须以小写字母、数字开头和结尾 |
EBSVolume |
EBSVolume数据类型 |
是 |
云硬盘信息 |
EBSVolume
参数 |
类型 |
是否必选 |
描述 |
FsType |
String |
是 |
文件系统类型,有效值:ext3、ext4、xfs 当云硬盘有文件系统时,则不进行格式化,直接按照指定的文件系统执行挂载;当云盘没有文件系统时,则按照用户指定的文件系统进行格式化,再进行挂载 |
VolumeId |
String |
否 |
已有云硬盘的ID,要求云硬盘: - 云硬盘是待挂载的状态 - 云硬盘和容器实例在同一可用区 - 云硬盘的计费方式非包年包月和试用,仅支持按量付费的云硬盘实例 |
Type |
String |
否,当VolumeId为空时必填 |
新建云硬盘时,指定云硬盘类型,支持SSD3.0/EHDD |
Size |
Integer |
否,当VolumeId为空时必填 |
新建云硬盘时,云硬盘大小,单位为GB。取值范围为[10,32000] |
SnapshotId |
String |
否 |
新建云硬盘时,云硬盘快照ID,支持SSD3.0云硬盘和EHDD高效云盘 |
DeleteWithInstance |
Boolean |
否 |
新建云硬盘时,配置云硬盘是否随pod删除而释放,缺省为false |
当使用NFSVolume时,参数如下:
参数 |
类型 |
是否必选 |
描述 |
Type |
String |
是 |
存储卷的类型,有效值:NFSVolume |
Name |
String |
是 |
存储卷的名称,不超过63个字符,只能包含小写字母、数字及分隔符("-"),且必须以小写字母、数字开头和结尾 |
NFSVolume |
NFSVolume数据类型 |
是 |
NFS挂载点信息 |
NFSVolume
参数 |
类型 |
是否必选 |
描述 |
Server |
String |
是 |
指定NFS服务器地址 |
Path |
String |
是 |
指定NFS挂载目录 |
ReadOnly |
String |
否 |
是否只读,默认值:false |
Options |
Array of string |
否 |
其他挂载参数,示例:vers=3,nolock,proto=tcp,noresvport |
DnsConfig
参数 |
类型 |
是否必选 |
描述 |
NameServer.N |
String |
否 |
DNS 服务器 IP 地址列表 |
Search.N |
String |
否 |
DNS 搜索域列表 |
Option.N |
Array of Option |
否 |
- |
Option
参数 |
类型 |
是否必选 |
描述 |
Name |
String |
是 |
对象的Name |
Value |
String |
否 |
对象的Value |
HostAliase
参数 |
类型 |
是否必选 |
描述 |
Hostname.N |
String |
是 |
添加IP |
Ip |
String |
是 |
添加主机名 |
Container
参数 |
类型 |
是否必选 |
描述 |
Name |
String |
是 |
容器名称,不超过63个字符,只能包含小写字母、数字及分隔符("-"),且必须以小写字母、数字开头和结尾 |
Command.N |
Array of String |
否 |
容器启动命令 |
Arg.N |
Array of String |
否 |
容器启动参数 |
EnvironmentVar.N |
Array of EnvironmentVar |
否 |
环境变量 |
Cpu |
Float |
否 |
容器的cpu,单位:核,精确到小数点后3位 |
Memory |
Float |
否 |
内存大小,单位:GiB,精确到小数点后3位 |
Image |
String |
是 |
镜像 |
WorkingDir |
String |
否 |
工作目录 |
Port.N |
Array of Port |
否 |
端口信息 |
VolumeMount.N |
Array of VolumeMount |
否 |
数据卷挂载信息 |
EnvironmentVar
参数 |
类型 |
是否必选 |
描述 |
Key |
String |
是 |
变量名,不超过63个字符,只能包含字母、数字及分隔符("-"、"_"、"."),且必须以字母或分隔符开头 |
Value |
String |
是 |
变量值 |
Port
参数 |
类型 |
是否必选 |
描述 |
Port |
Integer |
是 |
端口号 |
Protocol |
String |
否 |
协议 有效值:TCP、UDP 默认值:TCP |
VolumeMount
参数 |
类型 |
是否必选 |
描述 |
Name |
String |
是 |
数据卷名称 |
MountPath |
String |
否 |
挂载路径 |
ReadOnly |
Boolean |
否 |
读写权限,默认值False |
AdvanceSettings
参数 |
类型 |
是否必选 |
描述 |
ImageId |
String |
否 |
指定容器实例的基础镜像ID |
SystemDisk |
SystemDisk数据类型 |
否 |
系统盘设置 |
SystemDisk
参数 |
类型 |
是否必选 |
描述 |
Type |
String |
否 |
系统盘类型,支持三种类型:Local_SSD、SSD3.0、EHDD,如不填写会根据机型自动适配 |
Size |
Integer |
否 |
云硬盘大小,单位GB,范围20-500GB,Local_SSD最大100GB,其他类型最大500GB。该值为空时CPU机型默认为20GB,GPU机型默认为50GB |
返回参数
参数 |
类型 |
描述 |
RequestId |
String |
请求id |
ContainerGroupId |
String |
容器实例的id |
调用示例
示例1 创建容器组
输入示例
http://kci.api.ksyun.com/?Action=CreateContainerGroup&Version=2020-07-02
&ContainerGroupName=nginx-kci
&ChargeType=HourlyInstantSettlement
&KciType=RBKCI
&SubnetId=f2ac1919-0e34-4812xxxxxx
&SecurityGroupId.1=d46c7672-7ca9-4f51xxxxxx
&Memory=4
&Cpu=2
&Container.1.Name=nginx-container
&Container.1.Image=hub.kce.ksyun.com/ksyun/nginx:latest
&Container.1.Port.1.Port=80
&Container.1.Port.1.Protocol=TCP
&RestartPolicy=Always
返回示例
{
"RequestId": "cdc0ab95-34fc-403e-b0b1xxxxxx",
"ContainerGroupId": "9f0c0be6-f6fe-4e29xxxxxx"
}