調(diào)用StartK8sAppPrecheck接口開(kāi)始K8s應(yīng)用變更預(yù)檢。
調(diào)試
您可以在OpenAPI Explorer中直接運(yùn)行該接口,免去您計(jì)算簽名的困擾。運(yùn)行成功后,OpenAPI Explorer可以自動(dòng)生成SDK代碼示例。
授權(quán)信息
請(qǐng)求語(yǔ)法
POST /pop/v5/k8s/app_precheck
請(qǐng)求參數(shù)
名稱(chēng) | 類(lèi)型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ClusterId | string | 是 | 集群 ID。 | c37aec2a-bcca-4ec1-****-**** |
Namespace | string | 是 | K8s 集群的命名空間,它將決定您的應(yīng)用部署在哪個(gè) K8s 命名空間。默認(rèn)為 default。 | default |
AppId | string | 否 | 應(yīng)用 ID。 | af58edcf-f7eb-****-****-db4e425f**** |
AppName | string | 否 | 應(yīng)用名稱(chēng)。必須以字母開(kāi)頭,支持?jǐn)?shù)字、字母和短劃線(-),最多支持 36 個(gè)字符。 | testapp |
Replicas | integer | 否 | 應(yīng)用實(shí)例數(shù)。 | 2 |
LimitmCpu | integer | 否 | 應(yīng)用運(yùn)行過(guò)程中,應(yīng)用實(shí)例的 CPU 限額。 單位:毫核數(shù),設(shè)置為 0 表示不限制。 | 1000 |
RequestsmCpu | integer | 否 | 應(yīng)用創(chuàng)建時(shí),應(yīng)用實(shí)例的 CPU 限額,單位:毫核數(shù)。 | 500 |
LimitMem | integer | 否 | 應(yīng)用運(yùn)行過(guò)程中,應(yīng)用實(shí)例的內(nèi)存限額,單位:MB。LimitMem 取值要不小于 RequestsMem。 | 4096 |
RequestsMem | integer | 否 | 應(yīng)用創(chuàng)建時(shí),應(yīng)用實(shí)例的內(nèi)存限額,單位:MB。設(shè)置為 0 時(shí)表示不限制。RequestsMem 的取值不能大于 LimitMem 的取值。 | 1024 |
LimitEphemeralStorage | integer | 否 | 臨時(shí)存儲(chǔ)資源需求上限,單位:GB。設(shè)置 0 表示不限制。 | 4 |
RequestsEphemeralStorage | integer | 否 | 臨時(shí)存儲(chǔ)最小資源需求,單位:GB。設(shè)置 0 表示不限制。 | 2 |
Envs | string | 否 | 部署環(huán)境變量,格式需要符合 JSON 對(duì)象數(shù)組。支持三種類(lèi)型的環(huán)境變量,分別是普通環(huán)境變量,K8s ConfigMap 環(huán)境變量,K8s Secret 環(huán)境變量。普通環(huán)境變量格式如下所示:
ConfigMap 環(huán)境變量配置可以將指定的 ConfigMap 中對(duì)應(yīng)的 key 的值注入到容器的環(huán)境變量中,配置的格式如下所示:
Secret 環(huán)境變量配置可以將指定的 Secret 中對(duì)應(yīng)的 key 的值注入到容器的環(huán)境變量中,配置的格式如下所示:
說(shuō)明
如果要取消該配置,需設(shè)置一個(gè)空 JSON 數(shù)組“[]”來(lái)表示不做配置。
| [{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}] |
EnvFroms | string | 否 | 配置 K8s EnvFrom 類(lèi)型的環(huán)境變量,將指定的 ConfigMap 或 Secret 掛載到指定目錄,每個(gè) key 對(duì)應(yīng)目錄下的一個(gè)文件,文件的內(nèi)容為該 key 對(duì)應(yīng)的 value。 EnvFroms 的配置參數(shù)說(shuō)明如下:
| [ { "name": "appname", "valueFrom": { "configMapKeyRef": { "name": "appconf" } } } ] |
EmptyDirs | string | 否 | 配置 K8s emptyDir 掛載,支持將 emptyDir 卷掛載到指定的容器目錄。EmptyDirs 的配置參數(shù)說(shuō)明如下:
| [{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}] |
JavaStartUpConfig | string | 否 | Java 啟動(dòng)參數(shù)用于在 Java 應(yīng)用啟動(dòng)時(shí)配置啟動(dòng)參數(shù)??膳渲茫簝?nèi)存配置、應(yīng)用、GC 策略、工具、服務(wù)注冊(cè)和發(fā)現(xiàn)配置和自定義等配置,正確配置這些參數(shù)有助于降低垃圾回收(GC)開(kāi)銷(xiāo),從而縮短服務(wù)器響應(yīng)時(shí)間并提高吞吐量。參數(shù)格式為 JSON 字符串:original 為配置值,startup 為啟動(dòng)參數(shù),系統(tǒng)將自動(dòng)拼接所有的 startup 作為應(yīng)用程序的 Java 啟動(dòng)參數(shù)。設(shè)置為
| {"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}} |
ConfigMountDescs | string | 否 | 配置 K8s ConfigMap 和 Secret 掛載,支持將 ConfigMap 和 Secret 掛載到指定的容器目錄。ConfigMountDescs 的配置參數(shù)說(shuō)明如下:
| [{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}] |
PvcMountDescs | string | 否 | 配置 K8s PVC(PersistentVolumeClaim)掛載,支持將 K8s PVC 卷掛載到指定的容器目錄。PvcMountDescs 的配置參數(shù)說(shuō)明如下:
| [{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}] |
Annotations | string | 否 | 應(yīng)用 Pod 注解。 | {"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"} |
Labels | string | 否 | 應(yīng)用 Pod 標(biāo)簽。 | {"label-name-1":"label-value-1","label-name-2":"label-value-2"} |
ImageUrl | string | 否 | 鏡像 URL。 | registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest |
PackageUrl | string | 否 | 部署包地址。 | https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar |
LocalVolume | string | 否 | 宿主機(jī)文件掛載到容器內(nèi)的配置。例如:
| [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}] |
RegionId | string | 否 | 阿里云地域 ID。 | cn-hangzhou |
ComponentIds | string | 否 | 應(yīng)用組件 ID??赏ㄟ^(guò)查詢(xún)組件列表接口 ListComponents 接口獲取。當(dāng)創(chuàng)建的應(yīng)用運(yùn)行環(huán)境使用 Apache Tomcat(適用于 WAR 包部署的 Dubbo 應(yīng)用)或者標(biāo)準(zhǔn) Java 應(yīng)用運(yùn)行環(huán)境(適用于 JAR 包部署的 Spring Boot 或 Spring Cloud 應(yīng)用)時(shí)需要指定。 常用的應(yīng)用組件 ID 及含義:
該參數(shù)需要更新 Java 或者 Python SDK 版本到 2.57.3 或以上版本才可以設(shè)置,未使用 EDAS 提供的 SDK 的(例如在使用 aliyun-python-sdk-core、aliyun-java-sdk-core、aliyun cli 等)用戶(hù)可直接設(shè)置該參數(shù)。 | 7 |
返回參數(shù)
示例
正常返回示例
JSON
格式
{
"RequestId": "7638276F-****-****-884F-54CC0BC84A8D",
"Code": 200,
"Message": "success",
"Data": {
"Jobs": [
"集群健康檢查。"
]
}
}
錯(cuò)誤碼
HTTP status code | 錯(cuò)誤碼 | 錯(cuò)誤信息 | 描述 |
---|---|---|---|
500 | Edas.errorcode.PermissionDenied.message | You are not authorized to perform the operation. | 無(wú)權(quán)限操作 |
訪問(wèn)錯(cuò)誤中心查看更多錯(cuò)誤碼。