全部产品
云市场

DeployK8sApplication

更新时间:2019-08-28 18:19:30

功能

部署容器服务 K8S 应用。

请求 URL

/pop/v5/k8s/acs/k8s_apps

请求方法

POST

请求参数

除 AppId 外,其余参数均非必填,但不同框架的应用通过 FatJar 或 WAR 包(非镜像)部署时,需要配置指定参数。

  • Spring Cloud 和 Dubbo 应用需要配置 PackageUrl、PackageVersion、JDK 和 WebContainer。
  • HSF 应用需要配置 PackageUrl、PackageVersion、JDK 和 EdasContainerVersion。
名称 类型 必填 说明
AppId String 应用 ID (查询 ListApplication 接口获取)
Image String 镜像完整 URL,覆盖 ImageTag 参数
ImageTag String 镜像 Tag
BatchWaitTime Integer PoD 更新最小间隔时间。参考文档 minReadySeconds
Replicas Integer 应用实例数。最小为 0
Command String 容器启动 Command 命令。清空需设置为空字符串 ""
Args String 容器启动 Args 命令参数,格式必须符合 JSON 数组
["参数1","参数2"]
key 固定为字符串
清空需设置为空 JSON 数组 "[]"
Envs String 部署环境变量,格式必须符合 JSON 对象数组
[{"name":"x","value":"y"},{"name":"x2","value":"y2"}]
key 固定为 name 和 value。
清空需设置为空 JSON 数组 "[]"
CpuLimit Integer 应用运行过程中,应用实例的 CPU 限制, 单位:核数。0 为不限制
MemoryLimit Integer 应用运行过程中,应用实例的 内存 限制,单位:M。0 为不限制
CpuRequest Integer 应用运行过程中,应用实例的 CPU 申请需要的配额, 单位:核数。0 为不要求
MemoryRequest Integer 应用运行过程中,应用实例的 内存 申请需要的配额,单位:M。0 为不要求
liveness String 容器存活状态监测 ,格式如{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。
readiness String 容器业务状态检查,如果检查失败,经过 k8s service 的流量将不转入到改容器,格式如:{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。
postStart String 启动后执行脚本,格式如:{"exec":{"command":["cat","/etc/group"]}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。
preStop String 停止前执行脚本,格式如:{"tcpSocket":{"host":"", "port":8080}}。如果设置为 “” 或者 {} 代表删除,不设置代表忽略。
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 型,Performance
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 应用,镜像不支持此参数。

注意:请求参数名称大小写敏感

返回参数

名称 类型 说明
RequestId String 请求唯一标示 ID
Code Integer code 码
Message String 信息
ChangeOrderId String 调用 GetChangeOrderInfo 接口获取这次部署具体执行进展