Despliega una aplicación en un clúster de Container Service for Kubernetes (ACK) o en un clúster de Serverless Kubernetes (ASK).
Pruébelo ahora
Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.
Test
Autorización de RAM
|
Action |
Nivel de acceso |
Tipo de recurso |
Clave de condición |
Acción dependiente |
|
edas:ManageApplication |
update |
*Application
|
Ninguna | Ninguna |
Sintaxis de la solicitud
POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| PreStop |
string |
No |
El script que se ejecuta antes de detener el contenedor. Ejemplo: |
{ "exec":{ "command":[ "ls", "/" ] } } |
| Envs |
string |
No |
Las variables de entorno para el despliegue. El valor debe ser una matriz JSON de objetos. Se admiten tres tipos de variables de entorno: regulares, ConfigMap de Kubernetes y Secret de Kubernetes. El formato para una variable de entorno regular es el siguiente:
Una variable de entorno ConfigMap inyecta el valor de una clave específica de un ConfigMap en las variables de entorno del contenedor. El formato es el siguiente:
Una variable de entorno Secret inyecta el valor de una clave específica de un Secret en las variables de entorno del contenedor. El formato es el siguiente:
Nota
Para borrar esta configuración, establezca el parámetro en una matriz JSON vacía `[]`. |
[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}] |
| ImageTag |
string |
No |
La etiqueta de la imagen. |
latest |
| BatchWaitTime |
integer |
No |
El intervalo mínimo para un despliegue por fases de pods. Para obtener más información, consulte minReadySeconds. |
0 |
| Command |
string |
No |
El comando de inicio del contenedor. Nota
Para borrar esta configuración, establezca el parámetro en una cadena vacía |
ls |
| AppId |
string |
Sí |
El ID de la aplicación. Obtenga el ID mediante la operación ListApplication. Para obtener más información, consulte ListApplication. |
e83acea6-****-47e1-96ae-c0e953772cdc |
| PostStart |
string |
No |
El script que se ejecuta después de que se inicia el contenedor. Ejemplo: |
{ "exec":{ "command":[ "ls", "/" ] } } |
| Readiness |
string |
No |
El sondeo de preparación para el contenedor. Si el sondeo falla, el tráfico del servicio de Kubernetes no se enruta al contenedor. Ejemplo: |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}} |
| Liveness |
string |
No |
El sondeo de actividad para el contenedor. Ejemplo: |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}} |
| Args |
string |
No |
Los argumentos para el comando de inicio del contenedor. El valor debe ser una matriz JSON de cadenas, como |
["args1","args2"] |
| Replicas |
integer |
No |
El número de instancias de la aplicación. El valor mínimo es 0. |
1 |
| Image |
string |
No |
La URL completa de la imagen. Este parámetro sobrescribe el parámetro ImageTag. |
registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1 |
| CpuLimit |
integer |
No |
El límite de CPU para la instancia de la aplicación durante la ejecución. Unidad: núcleos. Un valor de 0 significa que no hay límite. |
1 |
| MemoryLimit |
integer |
No |
El límite de memoria para la instancia de la aplicación durante la ejecución. Unidad: MB. Un valor de 0 significa que no hay límite. |
0 |
| CpuRequest |
integer |
No |
La cuota de CPU que se solicita para la instancia de la aplicación durante la ejecución. Se recomienda establecer este parámetro. Unidad: núcleos. Un valor de 0 significa que no hay límite. Nota
Si establece este parámetro, también debe establecer el parámetro CpuLimit. El valor de CpuRequest debe ser menor o igual que el valor de CpuLimit. |
0 |
| MemoryRequest |
integer |
No |
La cuota de memoria que se solicita para la instancia de la aplicación durante la ejecución. Se recomienda establecer este parámetro. Unidad: MB. Un valor de 0 significa que no hay solicitud. Nota
Si establece este parámetro, también debe establecer el parámetro MemoryLimit. El valor de MemoryRequest debe ser menor o igual que el valor de MemoryLimit. |
0 |
| NasId |
string |
No |
El ID del sistema de archivos Apsara File Storage NAS (NAS) que se va a montar. El sistema de archivos NAS debe estar en la misma región que el clúster. Debe tener una cuota de destino de montaje disponible, o su destino de montaje debe estar en un vSwitch de la VPC. Si no establece este parámetro pero existe el campo `mountDescs`, se compra automáticamente un sistema de archivos NAS y se monta en un vSwitch de la VPC de forma predeterminada. |
dfs23**** |
| MountDescs |
string |
No |
Las configuraciones de montaje, que son una cadena JSON serializada. Ejemplo: |
[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}] |
| StorageType |
string |
No |
El tipo de almacenamiento del sistema de archivos NAS. Valores válidos:
Actualmente, solo se admite el tipo `Performance`. |
Performance |
| LocalVolume |
string |
No |
La configuración para montar un archivo del host en un contenedor. Ejemplo: |
[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}] |
| PackageUrl |
string |
No |
La URL del paquete de despliegue. Configure este parámetro para aplicaciones desplegadas mediante un paquete FatJar o WAR. Nota
El SDK de Java o Python para la API POP de EDAS debe ser la versión 2.44.0 o posterior. |
https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar |
| PackageVersion |
string |
No |
El número de versión del paquete de despliegue. Este parámetro es obligatorio para paquetes WAR y FatJar. Puede definir el significado del número de versión. Nota
El SDK de Java o Python para la API POP de EDAS debe ser la versión 2.44.0 o posterior. |
20200720 |
| JDK |
string |
No |
La versión de JDK de la que depende el paquete de despliegue. Valores válidos: Open JDK 7, Open JDK 8 o Custom OpenJDK. Este parámetro no se admite para despliegues basados en imágenes. Si utiliza Custom OpenJDK, también debe configurar el campo `UserBaseImageUrl`. |
Open JDK 8 |
| WebContainer |
string |
No |
La versión de Tomcat de la que depende el paquete de despliegue. Este parámetro se aplica a aplicaciones Spring Cloud y Dubbo desplegadas mediante paquetes WAR. No se admite para despliegues basados en imágenes. |
apache-tomcat-7.0.91 |
| EdasContainerVersion |
string |
No |
La versión de EDAS Container de la que depende el paquete de despliegue. Este parámetro se aplica a aplicaciones HSF desplegadas mediante paquetes WAR. No se admite para despliegues basados en imágenes. |
3.5.9 |
| UriEncoding |
string |
No |
El formato de codificación URI. Formatos admitidos: ISO-8859-1, GBK, GB2312 y UTF-8. Nota
Si no establece este parámetro en la configuración de la aplicación, se utiliza el valor predeterminado de Tomcat. |
GBK |
| UseBodyEncoding |
boolean |
No |
Especifica si se debe habilitar `useBodyEncodingForURI`. Nota
Si no establece este parámetro en la configuración de la aplicación, se utiliza el valor predeterminado `false`. |
false |
| UpdateStrategy |
string |
No |
La política de despliegue por fases.
|
{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} |
| McpuRequest |
integer |
No |
El requisito mínimo de recursos de CPU. Unidad: núcleos. Un valor de 0 significa que no hay límite. Nota
Si establece este parámetro, también debe establecer el parámetro `CpuLimit`. El valor debe ser menor o igual que el valor de `CpuLimit`. |
4 |
| McpuLimit |
integer |
No |
La cantidad máxima de CPU que se puede utilizar. Unidad: núcleos. Un valor de 0 significa que no hay límite. |
0 |
| VolumesStr |
string |
No |
Los volúmenes de datos. |
test |
| PackageVersionId |
string |
No |
El ID de la versión del paquete de despliegue. |
2bcc******** |
| ChangeOrderDesc |
string |
No |
La descripción del registro de cambios. |
Upgrade |
| RuntimeClassName |
string |
No |
El tipo de entorno de ejecución del contenedor:
Este parámetro se aplica solo a clústeres que utilizan contenedores en sandbox. |
runc |
| DeployAcrossZones |
string |
No |
Especifica si se deben distribuir las instancias de la aplicación en varias zonas. `true` indica que sí, y otros valores indican que no. |
true |
| BatchTimeout |
integer |
No |
El periodo de tiempo de espera para el despliegue de un solo lote. Unidad: segundos. |
60 |
| EnableAhas |
boolean |
No |
Especifica si se debe conectar a Application High Availability Service (AHAS). |
true |
| WebContainerConfig |
string |
No |
La configuración del contenedor Tomcat. Establezca en
|
{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false} |
| JavaStartUpConfig |
string |
No |
Los parámetros de inicio de Java. Puede configurar memoria, aplicación, política de recolección de basura (GC), herramientas, registro y descubrimiento de servicios, y ajustes personalizados. Configurar correctamente estos parámetros ayuda a reducir la sobrecarga de GC, acortar el tiempo de respuesta del servidor y mejorar el rendimiento. El parámetro es una cadena JSON. `original` es el valor de configuración y `startup` es el parámetro de inicio. El sistema concatena automáticamente todos los valores de `startup` como parámetros de inicio de Java para la aplicación. Establezca en |
{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}} |
| SlsConfigs |
string |
No |
La configuración de Logstore. Establezca en
|
[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}] |
| DeployAcrossNodes |
string |
No |
Especifica si se deben distribuir las instancias de la aplicación en varios nodos. `true` indica que sí, y otros valores indican que no. |
true |
| TrafficControlStrategy |
string |
No |
La política de control de tráfico para el despliegue por fases. |
{"http":{"rules":[{"conditionType":"percent","percent":10}]}} |
| PvcMountDescs |
string |
No |
Configura montajes de PersistentVolumeClaim (PVC) de Kubernetes. Esto permite montar un volumen PVC de Kubernetes en un directorio específico del contenedor. Los parámetros para `PvcMountDescs` son los siguientes:
|
[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}] |
| ConfigMountDescs |
string |
No |
Configura montajes de ConfigMap y Secret de Kubernetes. Esto permite montar un ConfigMap o Secret en un directorio específico del contenedor. Los parámetros para `ConfigMountDescs` son los siguientes:
|
[ { "name": "nginx-config", "type": "ConfigMap", "mountPath": "/etc/nginx" }, { "name": "tls-secret", "type": "Secret", "mountPath": "/etc/ssh" } ] |
| EnvFroms |
string |
No |
Configura variables de entorno del tipo `EnvFrom` de Kubernetes. Esto monta un ConfigMap o Secret especificado en un directorio. Cada clave corresponde a un archivo en el directorio, y el contenido del archivo es el valor de la clave. Los parámetros para `EnvFroms` son los siguientes.
|
[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}] |
| EmptyDirs |
string |
No |
Configura los montajes
|
[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}] |
| CustomAffinity |
string |
No |
La configuración de afinidad de pods. Esto surte efecto solo cuando tanto |
{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"beta.kubernetes.io/arch","operator":"NotIn","values":["arm64","arm32"]}]}]},"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":5,"preference":{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}}]},"podAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":[{"namespaces":["default"],"topologyKey":"kubernetes.io/hostname","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"NotIn","values":["edas-test-app"]}]}}]},"podAntiAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"podAffinityTerm":{"namespaces":["default"],"topologyKey":"failure-domain.beta.kubernetes.io/zone","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"In","values":["edas-test-app-2"]}]}},"weight":15}]}} |
| CustomTolerations |
string |
No |
La configuración de tolerancia de programación de pods. Esto surte efecto solo cuando tanto |
[{"key":"edas-taint-key2","operator":"Exists","effect":"NoExecute","tolerationSeconds":50},{"key":"edas-taint-key","operator":"Equal","value":"edas-taint-value","effect":"PreferNoSchedule"}] |
| BuildPackId |
string |
No |
El número de paquete de compilación para EDAS Container:
Puede obtener el número de dos maneras:
|
59 |
| Annotations |
string |
No |
Las anotaciones para el pod de la aplicación. |
{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"} |
| Labels |
string |
No |
Las etiquetas para el pod de la aplicación. |
{"label-name-1":"label-value-1","label-name-2":"label-value-2"} |
| EnableEmptyPushReject |
boolean |
No |
Especifica si se debe habilitar la protección contra envíos vacíos:
|
false |
| EnableLosslessRule |
boolean |
No |
Especifica si se debe habilitar la regla de inicio gradual:
|
true |
| LosslessRuleWarmupTime |
integer |
No |
La duración de la precarga del servicio. Unidad: segundos. El valor oscila entre 0 y 86400. |
120 |
| LosslessRuleDelayTime |
integer |
No |
La latencia de registro del servicio. Unidad: segundos. El valor oscila entre 0 y 86400. |
0 |
| LosslessRuleFuncType |
integer |
No |
La curva de precarga del servicio. El valor oscila entre 0 y 20. El valor predeterminado es 2, que es adecuado para escenarios generales de precarga. Esto indica que la curva de recepción de tráfico del proveedor de servicios sigue una curva cuadrática durante el periodo de precarga. |
2 |
| LosslessRuleAligned |
boolean |
No |
Especifica si se debe habilitar el modo de despliegue continuo gradual para completar el registro del servicio antes de que el sondeo de preparación tenga éxito:
Nota
Si
|
false |
| LosslessRuleRelated |
boolean |
No |
Especifica si se debe habilitar el modo de despliegue continuo gradual para completar la precarga del servicio antes de que el sondeo de preparación tenga éxito:
|
false |
| LimitEphemeralStorage |
integer |
No |
El límite superior del requisito de recursos de almacenamiento temporal. Unidad: GB. Un valor de 0 significa que no hay límite. |
4 |
| RequestsEphemeralStorage |
integer |
No |
El requisito mínimo de recursos de almacenamiento temporal. Unidad: GB. Un valor de 0 significa que no hay límite. |
2 |
| Sidecars |
string |
No |
Establece un contenedor sidecar para el pod de la aplicación. La configuración del contenedor está en formato YAML. El valor es la configuración YAML codificada en base64 del contenedor sidecar. |
[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg==" } ] |
| InitContainers |
string |
No |
Establece un contenedor de inicialización para el pod de la aplicación. La configuración del contenedor está en formato YAML. El valor es la configuración YAML codificada en base64 del contenedor de inicialización. |
[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo=" } ] |
| UserBaseImageUrl |
string |
No |
Al utilizar un entorno de ejecución JDK personalizado, debe configurar la dirección de la imagen base. Esta dirección debe ser accesible públicamente. El servidor de EDAS extrae esta imagen para compilar la imagen de la aplicación. |
openjdk:8u302 |
| CanaryRuleId |
string |
No |
El ID de la política de reglas de despliegue canary. |
a8daf22e-****-968c7ff2ea34 |
| TerminateGracePeriod |
integer |
No |
El periodo de tiempo de espera para la detención gradual de la aplicación. Unidad: segundos. |
120 |
| ImagePlatforms |
string |
No |
La arquitectura de plataforma objetivo para la imagen. Esto es válido al desplegar con un archivo WAR o JAR. Ejemplos:
|
linux/arm64,linux/amd64 |
| Startup |
string |
No |
El sondeo de inicio se puede utilizar para realizar comprobaciones de actividad en contenedores de inicio lento y evitar que se finalicen antes de que estén en funcionamiento. Ejemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}. Para eliminar esta configuración, establezca el parámetro en "" o {}. Si no establece este parámetro, la configuración se ignora. |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}} |
| CustomAgentVersion |
string |
No |
Establece la versión del agente personalizado de Application Real-Time Monitoring Service (ARMS) que se va a montar en la aplicación. Nota
Esta función solo está disponible para usuarios incluidos en la lista blanca. Para utilizar esta función, envíe un ticket para ser añadido a la lista blanca. |
3.1.4 |
| SecurityContext |
string |
No |
Establece la propiedad |
{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="} |
Elementos de la respuesta
|
Elemento |
Tipo |
Descripción |
Ejemplo |
|
object |
El objeto de respuesta. |
||
| ChangeOrderId |
string |
El ID del proceso de cambio. Puede llamar a la operación GetChangeOrderInfo para obtenerlo. Para obtener más información, consulte GetChangeOrderInfo. |
cd65b247-****-475b-ad4b-7039040d625c |
| Code |
integer |
El estado de la interfaz o un código de error POP. |
200 |
| Message |
string |
Información adicional. |
success |
| RequestId |
string |
El ID de la solicitud. |
a5281053-08e4-47a5-b2ab-5c0323de***** |
Ejemplos
Respuesta exitosa
JSON Formato
{
"ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",
"Code": 200,
"Message": "success",
"RequestId": "a5281053-08e4-47a5-b2ab-5c0323de*****"
}
Códigos de error
Consulte Códigos de errorCódigos de error para ver la lista completa.
Notas de la versión
Consulte Notas de la versiónNotas de la versión para ver la lista completa.