Deployment 接口文档

1. 通用返回码说明

类型CODEMESSAGE
InternalServerErrorInternalServerError服务器内部错误
MissingParameterMissingParameter参数 %s 缺失
InvalidFormatInvalidFormat参数 %s 的格式非法
AlreadyExistAlreadyExist%名称已存在
QuotaInsufficientQuotaInsufficient%配额不足

Note

通用返回码后续可能会新增。

2. 接口说明

2.1 创建 Deployment

  • method && URL
METHODURL
POST/ncs?Version=2017-11-16&Action=CreateDeployment
  • 输入参数说明

示例

{
  "Placement": {
   "ZoneId": ["cn-east-1a"]
  },
  "SpecType": "ncs.n1.medium2",
  "VirtualPrivateCloud": {
   "VpcId": "yourvpcId",
   "SubnetId": "None"
  },
  "SecurityGroupIds": ["ad2d4e"],
  "ContainerType": "Standard",
  "NamespaceId": 1,
  "Name": "test",
  "Replicas": 3,
  "SysCmds": ["xxx"],
  "MinReadySeconds": 10,
  "DeploymentStrategy": {
     "Type": "RollingUpdate",
     "RollingUpdate": {
        "MaxSurge": 0.25,
        "MaxUnavailable": 0.25
     }
  },
  "Containers": [{
   "Name": "container",
   "Image": "hub.cn-east-1.163yun.com/public/debian:7.9",
   "LogDirs": ["/var/log/test", "/var/log/hello"],
   "Args": ["xxx", "xxx"],
   "Envs": [{
    "Name": "HOSTNAME",
    "Value": "test"
   }],
   "ResourceRequirements": {
    "Limits": {
     "Cpu": 1000,
     "Memory": 1024
    },
    "Requests": {
     "Cpu": 1000,
     "Memory": 1024
    }
   },
   "SecurityContext": {
    "Privilege": true,
    "Capabilities": []
   }
  }]
}

请求参数

  • query
参数名称说明参数类型是否必填
ActionCreateDeploymentstring
Version2017-11-16string
  • Body
参数名称说明参数类型是否必填备注
Placement实例所属位置object详细信息见下表
SpecType资源规格类型,PostPaid时必填string
VirtualPrivateCloudobject详细信息见下表
SecurityGroupIds实例所属安全组array
ContainerType容器类型string
NamespaceId空间Idlong
NameDeployment名称string
Replicas副本数long
SysCmdssysctl系统参数数组array
Labels标签,map类型,key和value类型都是stringobject详细信息见下表
MinReadySecondspod更新间隔, 单位s,默认5long
DeploymentStrategyDeployment升级策略object详细信息见下表
Containersarray详细信息见下表
RevisionHistroyLimit历史版本数目限制integer
ImagePullSecretIds拉取镜像秘钥id列表array
  • Containers
参数名称说明参数类型是否必填备注
Name容器名称string
Image镜像URLstring
LogDirs日志路径数组array
ArgsDocker CMD命令array
CommandDocker EntryPoint命令array
Envs环境变量数组array详细信息见下表
ResourceRequirements资源限制object详细信息见下表
SecurityContext安全选项object详细信息见下表
SshKeyIds密钥Id数组array
LivenessProbeliveness探针(可选)object详细信息见下表
ReadinessProbereadiness探针(可选)object详细信息见下表
Volumes容器卷(可选)array详细信息见下表
  • Volumes
参数名称说明参数类型是否必填备注
VolumeType容器卷类型,目前仅支持Emptydirstring
Emptydirs当volumeType为Emptydir时必填,容器绑定的Emptydir的信息array详细信息见下表
Secrets密钥,若VolumeType为Secret则必填array详细信息见下表
  • Secrets
参数名称说明参数类型是否必填
SecretId密钥Idlong
MountPath秘钥在容器中的挂载点string
Mode容器对秘钥的访问方式,仅支持只读string
  • Emptydirs
参数名称说明参数类型是否必填
Medium默认支持内存Memory,未来支持磁盘string
MountPath卷在容器中的挂载点string
Mode容器对卷的访问方式,ro 为只读,rw 为读写(default)string
NameEmptyDir的名称,同一个容器里的EmptyDir此字段不能重复string
  • ReadinessProbe
参数名称说明参数类型是否必填备注
Exec探针执行的结构object详细信息见下表
PeriodSeconds执行间隔周期integer
timeoutSeconds执行超时时间integer
  • Exec
参数名称说明参数类型是否必填
Command探针执行的命令array
  • LivenessProbe
参数名称说明参数类型是否必填备注
Exec探针执行的结构object详细信息见下表
PeriodSeconds执行间隔周期integer
timeoutSeconds执行超时时间integer
  • Exec
参数名称说明参数类型是否必填
Command探针执行的命令array
  • SecurityContext
参数名称说明参数类型是否必填
privilege默认权限或root权限,缺省为默认权限,有白名单限制boolean
capabilities容量array
  • ResourceRequirements
参数名称说明参数类型是否必填备注
Limits资源限制object详细信息见下表
Requests资源需求object详细信息见下表
  • Requests

|参数名称 说明 参数类型 是否必填| |Cpu| cpu核数| long| 否| |Memory| 内存大小 |long |否| |Gpu |gpu核数 |string| 否 |

  • Limits
参数名称说明参数类型是否必填
Cpucpu核数long
Memory内存大小long
Gpugpu核数string
  • Envs
参数名称说明参数类型是否必填
Name环境名字string
Value环境值;当type不存在时必填,其它时候无效;string
Type环境变量类型;此值要么不出现,出现则仅支持Secret;string
SecretId秘钥id,秘钥类型仅支持Opaque;当Type为Secret时必填,Type为其它值时此值无效long
Key键值;键值必须存在于secret中string
  • DeploymentStrategy
参数名称说明参数类型是否必填备注
Type类型string
RollingUpdate滚动升级策略object详细信息见下表
  • RollingUpdate
参数名称说明参数类型是否必填
MaxSurgedouble类型long
MaxUnavailabledouble类型string
  • Labels
参数名称说明参数类型是否必填
keylabel keystring
valuevalue of keystring
  • VirtualPrivateCloud
参数名称说明参数类型是否必填
VpcId私有网络idstring
SubnetId当子网为classic时,无子网id, 此值为Nonestring
  • Placement
参数名称说明参数类型是否必填
ZoneId实例所属可用区数组array

返回参数

参数名称说明参数类型是否必填
RequestIdstring
Code返回码long
Messagestring

2.2 更新Deployment

  • method && URL
METHODURL
POST/ncs?Version=2017-11-16&Action=ModifyDeployment
  • 输入参数说明

示例

{
"NamespaceId": 1700,
"DeploymentId": 4740,
"Labels": {
},
"Containers": [{
"Name": "new1",
"Image": "10.185.8.175:5001/public/debian:7.9-common",
"Envs": [{
"Name": "TEST",
"Value": "testsss"
}],
"ResourceRequirements": {
"Limits": {
"Cpu": 1996,
"Memory": 2046
},
"Requests": {
"Cpu": 1994,
"Memory": 2045
}
},
"SecurityContext": {
"Privilege": false,
"Capabilities": ["SYS_ADMIN"]
}
}]
}

Note

Cpu 1000代表 1 core。

请求参数

  • query
参数名称说明参数类型是否必填
ActionModifyDeploymentstring
Version2017-11-16string
  • Body
参数名称说明参数类型是否必填备注
NamespaceId空间idlong
DeploymentIdDeploymentIdlong
SysCmdssysctl系统参数数组array
Labels标签,map类型,key和value类型都是stringobject详细信息见下表
MinReadySeconds默认使用创建时的值long
DeploymentStrategy默认使用RollingUpdateobject详细信息见下表
Containers容器数组array详细信息见下表
RevisionHistoryLimit历史版本数目限制integer
ImagePullSecretIds拉取镜像秘钥列表array
  • Containers
参数名称说明参数类型是否必填备注
Name容器名称string
Image镜像URLstring
LogDirs日志路径数组array
ArgsDocker CMD命令array
CommandDocker EntryPoint命令array
Envs环境变量数组array详细信息见下表
ResourceRequirements资源限制object详细信息见下表
SecurityContext安全选项object详细信息见下表
SshKeyIds密钥Id数组array
LivenessProbeliveness探针(可选)object详细信息见下表
ReadinessProbereadiness探针(可选)object详细信息见下表
Volumes容器卷(可选)array详细信息见下表
  • Volumes
参数名称说明参数类型是否必填备注
VolumeType容器卷类型,目前仅支持Emptydirstring
Emptydirs当volumeType为Emptydir时必填,容器绑定的Emptydir的信息array详细信息见下表
Secrets密钥,若VolumeType为Secret则必填array详细信息见下表
  • Secrets
参数名称说明参数类型是否必填
SecretId密钥Idlong
MountPath秘钥在容器中的挂载点string
Mode容器对秘钥的访问方式,仅支持只读string
  • Emptydirs
参数名称说明参数类型是否必填
Medium默认支持内存Memory,未来支持磁盘string
MountPath卷在容器中的挂载点string
Mode容器对卷的访问方式,ro 为只读,rw 为读写(default)string
NameEmptyDir的名称,同一个容器里的EmptyDir此字段不能重复string
  • ReadinessProbe
参数名称说明参数类型是否必填备注
Exec探针执行的结构object详细信息见下表
PeriodSeconds执行间隔周期integer
timeoutSeconds执行超时时间integer
  • Exec
参数名称说明参数类型是否必填
Command探针执行的命令array
  • LivenessProbe
参数名称说明参数类型是否必填备注
Exec探针执行的结构object详细信息见下表
PeriodSeconds执行间隔周期integer
timeoutSeconds执行超时时间integer
  • Exec
参数名称说明参数类型是否必填
Command探针执行的命令array
  • SecurityContext
参数名称说明参数类型是否必填
privilege默认权限或root权限,缺省为默认权限,有白名单限制boolean
capabilities容量array
  • ResourceRequirements
参数名称说明参数类型是否必填备注
Limits资源限制object详细信息见下表
Requests资源需求object详细信息见下表
  • Requests
参数名称说明参数类型是否必填
Cpucpu核数long
Memory内存大小long
Gpugpu核数string
  • Limits
参数名称说明参数类型是否必填
Cpucpu核数long
Memory内存大小long
Gpugpu核数string
  • Envs
参数名称说明参数类型是否必填
Name环境名字string
Value环境值;当type不存在时必填,其它时候无效;string
Type环境变量类型;此值要么不出现,出现则仅支持Secret;string
SecretId秘钥id,秘钥类型仅支持Opaque;当Type为Secret时必填,Type为其它值时此值无效long
Key键值;键值必须存在于secret中string
  • DeploymentStrategy
参数名称说明参数类型是否必填备注
Type类型string
RollingUpdate滚动升级策略object详细信息见下表
  • RollingUpdate
参数名称说明参数类型是否必填
MaxSurgedouble类型long
MaxUnavailabledouble类型string
  • Labels
参数名称说明参数类型是否必填
keylabel keystring
valuevalue of keystring

返回参数

参数名称说明参数类型是否必填
RequestIdstring
Codelong
Messagestring

2.3 更改Deployment实例规格(按量计费)

  • method && URL
METHODURL
POST/ncs?Version=2017-11-16&Action=ResetDeploymentSpecType
  • 请求参数
参数类型说明备注是否必填
NamespaceIdlong空间Id
DeploymentIdlongDeployment Id
SpecTypeString资源规格类型
ContainersObject Array容器资源限制

Container对象为:

参数类型说明备注是否必填
NameString容器名称
ResourceRequirementsObject与创建时的对象一样
  • 示例

{
"NamespaceId": 1700,
"DeploymentId": 4848,
"SpecType": "ncs.n1.medium4",
"Containers": [{
"Name": "con1",
"ResourceRequirements": {
"Limits": {
"Cpu": 2000,
"Memory": 4095
},
"Requests": {
"Cpu": 2000,
"Memory": 4094
}
}
}]
}

Note

Cpu 1000代表 1 core。

  • 返回

2.4 更改Deployment副本数

  • method && URL
METHODURL
GET/ncs?Version=2017-11-16&Action=ModifyDeploymentReplicas
  • 请求参数
参数类型说明备注是否必填
NamespaceIdlong空间Id
DeploymentIdlongDeployment Id
Replicasint副本数受限于配额
  • 示例
/ncs?Version=2017-11-16&Action=ModifyDeploymentReplicas&NamespaceId=1&DeploymentId=1&Replicas=3
  • 返回

2.5 重新部署Deployment

  • method && URL
METHODURL
GET/ncs?Version=2017-11-16&Action=RedeployDeployment
  • 请求参数
参数类型说明备注是否必填
NamespaceIdlong空间Id
DeploymentIdlongDeployment Id
  • 示例
 
/ncs?Version=2017-11-16&Action=RedeployDeployment&NamespaceId=1&DeploymentId=1
  • 返回

2.6查询Deployment列表

  • method && URL
METHODURL
GET/ncs?Version=2017-11-16&Action=DescribeDeployments
  • 请求参数
参数名称说明参数类型是否必填备注
NamespaceId空间Idstring
Limitint,默认20string
Offsetint,默认0string
ActionDescribeDeploymentsstring
Version2017-11-16string
  • 示例
/ncs?Version=2017-11-16&Action=DescribeDeployments&NamespaceId=1
  • 返回
参数名称说明参数类型备注
TotalCount总数integer
RequestId请求idstring
Deploymentsdeployment列表array详细信息见下表

其中,Deployment对象包含信息为:

参数名称说明参数类型备注
StatusDeployment状态,可取值:Creating/CreateFail/Updating/Running/Abnormalstring
DeploymentIdDeployment的Idinteger
Images镜像URL数组array
Pods所属deployment的podarray详细信息见下表
AvailableReplicas可用副本数integer
ConditionsCondition对象array详细信息见下表
OperationLocks返回一个数组,数组对象里目前仅有LockReason一个字段,如果为欠费停服,则字段值为financial;如果不是欠费停服状态,则为空数组;array
NameDeployment名称string
DesiredReplicas预期副本数integer
UpdateAt更新时间, ISO8601 (yyyy-MM-dd'T'HH:mm:ss'Z')string
VirtualPrivateCloudvpc信息object
CreateAt创建时间,ISO8601 (yyyy-MM-dd'T'HH:mm:ss'Z')string
Placement实例所属位置object详细信息见下表
NamespaceId空间Idinteger

Placement对象格式为:

参数名称说明参数类型备注
ZoneIdaz信息array

VirtualPrivateCloud 说明:

参数名称说明参数类型备注
VpcIdvpc网络idstring
SubnetId子网idstring

Conditions 说明:

参数名称说明参数类型备注
Status状态string
Type类型string
Reason理由string

Pods 说明:

参数名称说明参数类型备注
PodStatusPod状态string
PodNamePod名称string

2.7 查询所有空间下Deployment列表

  • method && URL
METHODURL
GET/ncs?Version=2017-11-16&Action=DescribeDeploymentsAllNamespaces
  • 请求参数
参数类型描述是否必填
Limitint默认20
Offsetint默认0
  • 示例
/ncs?Version=2017-11-16&Action=DescribeDeployments
  • 返回
参数类型描述
TotalCountint已创建Deployment总数
DeploymentsObject ArrayDeployment列表

其中,Deployment对象包含信息为:

参数类型描述
DeploymentIdlongDeployment Id
NamespaceIdlong空间Id
NameStringDeployment名称
PlacementObject实例所属位置
StatusStringDeployment状态, 可取值:Creating/CreateFail/Updating/Running/Abnormal
ImagesString Array镜像URL数组
CreateAtString创建时间,ISO8601 (yyyy-MM-dd'T'HH:mm:ss'Z')
UpdateAtString更新时间,ISO8601 (yyyy-MM-dd'T'HH:mm:ss'Z')
ConditionsObject ArrayCondition对象参考详情API
AvailableReplicasint正常副本数
DesiredReplicasint预期副本数

Placement对象格式为:

参数类型描述
ZoneIdString Array实例所属可用区数组

2.8 查询 Deployment 详情

  • method && URL
METHODURL
GET/ncs?Version=2017-11-16&Action=DescribeDeploymentInfo
  • 示例
/ncs?Version=2017-11-16&Action=DescribeDeploymentInfo&NamespaceId=1&DeploymentId=1

请求参数

  • query
参数名称说明参数类型是否必填
NamespaceId必填string
DeploymentId必填string
ActionDescribeDeploymentInfostring
Version2017-11-16string
  • 返回参数
参数名称说明参数类型备注
Deploymentobject详细信息见下表
  • Deployment
参数名称说明参数类型备注
DeploymentId负载id,long类型long
NamespaceId空间id,long类型long
Name负载名称string
Placement实例所属位置object
Status状态,值:Creating/CreateFail/Updating/Running/Abnormalstring
AvailableReplicas正常副本数long
DesiredReplicas预期副本数量long
CreateAt创建时间,ISO8601 (yyyy-MM-dd'T'HH:mm:ss'Z')string
UpdateAt更新时间string
PackageId资源包idstring
PayType购买模式string
SpecType资源规格类型string
VirtualPrivateCloud私有网络信息object
SecurityGroupIds实例所属安全组array
ContainerType容器类型,Standard/HighPerformance, 默认Standardstring
Replicas副本数long
SysCmdssysctl系统参数数组array
Labelsk8s labelsobject详细信息见下表
MinReadySecondspod最小更新间隔long
DeploymentStrategy更新策略object详细信息见下表
Containers容器数组array详细信息见下表
OperationLocks返回一个数组,数组成员对象里目前仅有LockReason一个字段,如果为欠费停服,则字段值为financial; 如果不是欠费停服状态,则为空数组;array详细信息见下表
RevisionHistoryLimit历史版本数目限制integer
Kind种类,无状态为deploymentsstring
ClusterId集群idinteger
ImagePullSecretIds拉取秘钥id列表array
ResourcePoolInfo资源池信息object详细信息见下表
  • ResourcePoolInfo
参数名称说明参数类型
ResourcePoolId资源池idstring
ResourcePoolName资源池名字string
Owner资源池归属(公共/专属)string
  • OperationLocks
参数名称说明参数类型
LockReaso被锁的原因string
  • Containers
参数名称说明参数类型备注
Name容器名称string
Image镜像URLstring
LogDirs日志路径数组array
ArgsDocker CMD命令array
CommandDocker EntryPoint命令array
Envs环境变量数组array详细信息见下表
ResourceRequirements资源限制object详细信息见下表
SecurityContext安全选项object详细信息见下表
SshKeyIds密钥Id数组array
LivenessProbeliveness探针(可选)object细信息见下表
ReadinessProbereadiness探针(可选)object详细信息见下表
Volumes容器卷(可选)array详细信息见下表
  • Volumes
参数名称说明参数类型备注
VolumeType容器卷类型,目前仅支持Emptydirstring
Emptydirs当volumeType为Emptydir时必填,容器绑定的Emptydir的信息array详细信息见下表
Secrets密钥,若VolumeType为Secret则必填array详细信息见下表
  • Secrets
参数名称说明参数类型
SecretId密钥Idlong
MountPath秘钥在容器中的挂载点string
Mode容器对秘钥的访问方式,仅支持只读string
  • Emptydirs
参数名称说明参数类型
Medium默认支持内存Memory,未来支持磁盘string
MountPath卷在容器中的挂载点string
Mode容器对卷的访问方式,ro 为只读,rw 为读写(default)string
NameEmptyDir的名称,同一个容器里的EmptyDir此字段不能重复string
  • ReadinessProbe
参数名称说明参数类型备注
Exec探针执行的结构object详细信息见下表
PeriodSeconds执行间隔周期integer
timeoutSeconds执行超时时间integer
  • Exec
参数名称说明参数类型
Command探针执行的命令array
  • LivenessProbe
参数名称说明参数类型备注
Exec探针执行的结构object详细信息见下表
PeriodSeconds执行间隔周期integer
timeoutSeconds执行超时时间integer
  • Exec
参数名称说明参数类型
Command探针执行的命令array
  • SecurityContext
参数名称说明参数类型
privilege默认权限或root权限,缺省为默认权限,有白名单限制boolean
capabilities容量array
  • ResourceRequirements
参数名称说明参数类型备注
Limits资源限制object详细信息见下表
Requests资源需求object详细信息见下表
  • Requests
参数名称说明参数类型
Cpucpu核数long
Memory内存大小long
Gpugpu核数string
  • Limits
参数名称说明参数类型
Cpucpu核数long
Memory内存大小long
Gpugpu核数string
  • Envs
参数名称说明参数类型
Name环境名字string
Value环境值;当type不存在时必填,其它时候无效;string
Type环境变量类型;此值要么不出现,出现则仅支持Secret;string
SecretId秘钥id,秘钥类型仅支持Opaque;当Type为Secret时必填,Type为其它值时此值无效long
Key键值;键值必须存在于secret中string
  • DeploymentStrategy
参数名称说明参数类型备注
Type类型string
RollingUpdate滚动升级策略object详细信息见下表
  • RollingUpdate
参数名称说明参数类型备注
MaxSurgedouble类型long
MaxUnavailabledouble类型string
  • Labels
参数名称说明参数类型
keylabel keystring
valuevalue of keystring
  • VirtualPrivateCloud
参数名称说明参数类型
VpcId私有网络idstring
SubnetId当子网为classic时,无子网id, 此值为Nonestring
  • Placement
参数名称说明参数类型
ZoneId实例所属可用区数组array

2.9 查询Deployment实例列表

  • method && URL
METHODURL
GET/ncs?Version=2017-11-16&Action=DescribeDeploymentInstances
  • 请求参数
参数类型描述是否必填
NamespaceIdlong空间Id
DeploymentIdlongDeploymentId
Limitint默认20
Offsetint默认0
  • 示例
/ncs?Version=2017-11-16&Action= DescribeDeploymentInstances&NamespaceId=1&DeploymentId=1

  • 返回
参数类型描述
TotalCountint总数
PodsObject ArrayDeployment当前rs 下的pods列表

Pod对象格式为:

参数类型描述
PodIdlongpod id
PodNameStringpod名称
StatusStringpod状态
IpStringpod内网ip
ZoneIdString可用区
CreateAtString创建时间,ISO8601 (yyyy-MM-dd'T'HH:mm:ss'Z')
ContainersObject Array容器数组

Container对象格式为:

参数类型描述
NameStringcontainer名称
ImageString镜像URL
StatusString容器状态
ContainerIdlong容器id, 数据库主键
DockerContainerIdString容器在docker中的id

2.10 删除Deployment实例

  • method && URL
METHODURL
GET/ncs?Version=2017-11-16&Action=DeleteDeployment
  • 请求参数
参数类型说明备注是否必填
NamespaceIdlong空间Id
DeploymentIdlongDeployment Id
  • 示例
GET /ncs?Version=2017-11-16&Action=DeleteDeployment&NamespaceId=1&DeploymentId=1
  • 返回

无 或 ResourceNotFound IncorrectState