使用DeployK8sApplication来部署容器服务K8s应用。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求头

该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。

请求语法

POST /pop/v5/k8s/acs/k8s_apps HTTPS|HTTP

请求参数

名称 类型 是否必选 示例值 描述
AppId String e83acea6-****-47e1-96ae-c0e953772cdc

应用ID,您可通过查询 ListApplication 接口获取。

PreStop String ""

停止前执行脚本,格式如:{"tcpSocket":{"host":"", "port":8080}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。

Envs String ""

部署环境变量,格式必须符合 JSON 对象数组

[{"name":"x","value":"y"},{"name":"x2","value":"y2"}],其中 key 固定为 name 和 value。

清空需设置为空 JSON 数组 "[]"。

ImageTag String ""

镜像Tag。

BatchWaitTime Integer 0

Pod 分批发布的最小间隔时间,详细信息请参见 minReadySeconds

Command String ""

容器启动 Command 命令,清空需设置为空字符串 ""。

PostStart String ""

启动后执行脚本,格式如:{"exec":{"command":["cat","/etc/group"]}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。

Readiness String ""

容器业务状态检查,如果检查失败,经过 K8s service 的流量将不转入到改容器,格式如:{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。

Liveness String ""

容器存活状态监测 ,格式如{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。

Args String ""

容器启动 Args 命令参数,格式必须符合 JSON 数组

["参数1","参数2"],其中 key 固定为字符串,清空需设置为空 JSON 数组 "[]"。

Replicas Integer 1

应用实例数,最小为 0。

Image String registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1

镜像完整 URL,覆盖 ImageTag 参数。

CpuLimit Integer 1

应用运行过程中,应用实例的 CPU 限制。 单位:核数,设置为 0 表示不限制。

MemoryLimit Integer 0

应用运行过程中,应用实例的内存限制。单位:M,设置为 0 表示不限制。

CpuRequest Integer 0

应用运行过程中,应用实例需要申请的 CPU 配额,推荐设置(设置该参数时,还需要设置 CpuLimit 参数,且需要小于等于 CpuLimit 的参数值)。 单位:核数,设置为 0 表示不限制。

MemoryRequest Integer 0

应用运行过程中,应用实例需要申请的 Memory 配额,推荐设置(设置该参数时,还需要设置 MemoryLimit 参数,且需要小于等于 MemoryLimit 的参数值)。单位:M。0 为无需申请。

NasId String ""

挂载的 NAS 的 ID,必须与集群在同一个 region。它必须有可用的挂载点创建额度,或者它的挂载点已经在 VPC 内的交换机上。如果不填,且存在 mountDescs 字段,则默认将自动购买一个 NAS 并挂载到 VPC 内的交换机上。

MountDescs String ""

挂载配置描述,为一个序列化的 JSON。例如:[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]。其中,nasPath 是指文件储存路径;mountPath 是指挂载到容器内的路径。

StorageType String ""

目前只支持 SSD 型。

LocalVolume String ""

宿主机文件挂载到容器内的配置。例如:[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]。其中,nodePath 为宿主机路径;mountPath 为容器内的路径;type 为挂载类型。

PackageUrl String ""

部署包地址。通过 FatJar 或 WAR 包部署的应用需要配置部署包地址(EDAS POP API 的 Java 或者 Python SDK 需要 2.44.0 及以上版本)。

PackageVersion String ""

部署包的版本号,WAR 和 FatJar 类型必填。请自定义它的含义(EDAS POP API 的 Java 或者 Python SDK 需要 2.44.0 及以上版本)。

JDK String ""

部署包依赖的 JDK 版本,JDK 支持版本为 Open JDK 7 和 Open JDK 8。镜像不支持。

WebContainer String ""

部署包依赖的 Tomcat 版本。适用于通过 WAR 包部署的 Spring Cloud 和 Dubbo 应用,镜像不支持此参数。

EdasContainerVersion String ""

部署包依赖的 EDAS Container 版本。适用于通过 WAR 包部署的 HSF 应用,镜像不支持此参数。

UriEncoding String ""

URI 编码方式,支持 ISO-8859-1、GBK、GB2312、UTF-8。

说明 应用配置不设置该参数,使用 Tomcat 默认值。
UseBodyEncoding Boolean false

useBodyEncodingForURI 是否启用;

说明:应用配置不设置该参数,使用默认值 false。

UpdateStrategy String {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

分批发布策略

  • 例1(灰度1台+后续分2批+自动分批+分批间隔1分钟):{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}
  • 例2(灰度1台+后续分2批+手动分批):{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}
  • 例3(分2批+自动分批+分批间隔0分钟):{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}
McpuRequest Integer 4

CPU最小资源需求。

McpuLimit Integer 0

CPU能使用的最大值,设置为0表示不做限制。

VolumesStr String test

数据卷。

PackageVersionId String 2bcc********

部署包版本ID。

ChangeOrderDesc String 升级

变更记录描述。

RuntimeClassName String runc

容器运行时类型,仅适用于使用安全沙箱容器的集群。

DeployAcrossZones String true

是否将应用实例分布到多可用区。“true”为是,其他值为否。

返回数据

名称 类型 示例值 描述
ChangeOrderId String cd65b247-****-475b-ad4b-7039040d625c

调用 GetChangeOrderInfo 接口获取这次部署具体执行进展

Code Integer 200

code 码

Message String success

信息

RequestId String a5281053-08e4-47a5-b2ab-5c0323de7b5a

请求唯一标示 ID

示例

请求示例

POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
公共请求头
{
  "AppId": "e83acea6-****-47e1-96ae-c0e953772cdc"
}

正常返回示例

XML 格式

<Message>success</Message>
<ChangeOrderId>cd65b247-cbe8-475b-ad4b-7039040d625c</ChangeOrderId>
<Code>200</Code>

JSON 格式

{
	"Message": "success",
	"ChangeOrderId": "cd65b247-cbe8-475b-ad4b-7039040d625c",
	"Code": 200
}

错误码

访问错误中心查看更多错误码。