Déploie une application dans un cluster Container Service for Kubernetes (ACK) ou un cluster Kubernetes serverless.
Débogage
En-têtes de requête
Cette opération utilise uniquement les en-têtes de requête communs. Pour plus d'informations, consultez la rubrique relative aux paramètres de requête communs.
Syntaxe de la requête
POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
Paramètres de requête
| Parameter | Type | Position | Required | Example | Description |
| AppId | String | Query | Yes | e83acea6-****-47e1-96ae-c0e953772cdc | ID de l'application. Appelez l'opération ListApplication pour récupérer l'ID de l'application. |
| PreStop | String | Query | No | {\"exec\":{\"command\":[\"ls\",\"/\"]}}" | Script pre-stop. Exemple : Pour annuler cette configuration, définissez ce paramètre sur |
| Envs | String | Query | No | [{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}] | Variables d'environnement utilisées pour déployer l'application. La valeur doit être un tableau JSON. Ce paramètre permet de spécifier des variables d'environnement classiques, des variables d'environnement Kubernetes ConfigMap ou des variables d'environnement Kubernetes Secret. Spécifiez les variables d'environnement classiques au format suivant : {"name":"x", "value": "y"}
Spécifiez les variables d'environnement Kubernetes ConfigMap au format suivant pour référencer les valeurs depuis les ConfigMaps : {
"name": "x2",
"valueFrom": {
"configMapKeyRef": {
"name": "my-config",
"key": "y2"
}
}
}
Spécifiez les variables d'environnement Kubernetes Secret au format suivant pour référencer les valeurs depuis les Secrets : {
"name": "x3",
"valueFrom": {
"secretKeyRef": {
"name": "my-secret",
"key": "y3"
}
}
}
Remarque Pour annuler cette configuration, définissez ce paramètre sur un tableau JSON vide, au format « ». |
| ImageTag | String | Query | No | latest | Tag de l'image. |
| BatchWaitTime | Integer | Query | No | 0 | Intervalle de temps minimal pour le déploiement par lots des pods. Pour plus d'informations, consultez minReadySeconds. |
| Command | String | Query | No | ls | Commande utilisée pour démarrer le conteneur. Remarque Pour annuler cette configuration, définissez ce paramètre sur une chaîne vide au format "". |
| PostStart | String | Query | No | {\"exec\":{\"command\":[\"ls\",\"/\"]}}" | Script post-start. Exemple : |
| Readiness | String | Query | No | null | Configuration du test de disponibilité (readiness) du conteneur. Si le test échoue, le trafic transitant par le service Kubernetes n'est pas transmis au conteneur. Exemple : |
| Liveness | String | Query | No | null | Configuration du test de vivacité (liveness) du conteneur. Exemple : |
| Args | String | Query | No | ["args1","args2"] | Tableau d'arguments dans la commande de démarrage du conteneur. Définissez ce paramètre comme un tableau JSON au format |
| Replicas | Integer | Query | No | 1 | Nombre d'instances d'application. Valeur minimale : 0. |
| Image | String | Query | No | registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1 | URL absolue de l'image. Ce paramètre écrase le paramètre ImageTag. |
| CpuLimit | Integer | Query | No | 1 | Nombre maximal de cœurs CPU autorisés pour chaque instance d'application lors de l'exécution. Unité : cœur. Une valeur de 0 indique qu'il n'y a aucune limite. |
| MemoryLimit | Integer | Query | No | 0 | Quantité maximale de mémoire autorisée pour chaque instance d'application lors de l'exécution. Unité : Mo. Une valeur de 0 indique qu'il n'y a aucune limite. |
| CpuRequest | Integer | Query | No | 0 | Nombre de cœurs CPU demandés pour chaque instance d'application lors de l'exécution. Il est recommandé de définir ce paramètre. Unité : cœur. Une valeur de 0 indique qu'il n'y a aucune limite. Remarque Vous devez définir ce paramètre conjointement avec le paramètre CpuLimit. Assurez-vous que la valeur de ce paramètre ne dépasse pas celle du paramètre CpuLimit. |
| MemoryRequest | Integer | Query | No | 0 | Quantité de mémoire demandée pour chaque instance d'application lors de l'exécution. Il est recommandé de définir ce paramètre. Unité : Mo. Si vous ne souhaitez pas demander de quota de mémoire, définissez ce paramètre sur 0. Remarque Vous devez définir ce paramètre conjointement avec le paramètre MemoryLimit. Assurez-vous que la valeur de ce paramètre ne dépasse pas celle du paramètre MemoryLimit. |
| NasId | String | Query | No | dfs23**** | ID du système de fichiers Apsara File Storage NAS monté sur le conteneur où s'exécute l'application. Le système de fichiers NAS doit se trouver dans la même région que le cluster. Le système de fichiers NAS doit disposer d'une cible de montage disponible, ou d'une cible de montage sur le vSwitch du réseau privé virtuel (VPC) où se trouve l'application. Si vous ne spécifiez pas ce paramètre mais spécifiez le paramètre MountDescs, un système de fichiers NAS est automatiquement acheté et monté sur le vSwitch du VPC. |
| MountDescs | String | Query | No | [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}] | Description de la configuration de montage NAS. Définissez ce paramètre comme une chaîne JSON sérialisée. Exemple : |
| StorageType | String | Query | No | Performance | Type de stockage. Seul le SSD est pris en charge. |
| LocalVolume | String | Query | No | [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}] | Configuration du montage des fichiers hôtes dans le conteneur où s'exécute l'application. Exemple : |
| PackageUrl | String | Query | No | https://e***.oss-cn-beijing.aliyuncs.com/s***-1,0-SNAPSHOT-spring-boot.jar | URL du package de déploiement. Ce paramètre est requis si vous utilisez un package FatJar ou WAR pour déployer l'application. Remarque La version du SDK EDAS pour Java ou Python doit être la V2.44.0 ou ultérieure. |
| PackageVersion | String | Query | No | 20200720 | Version du package de déploiement. Ce paramètre est requis si vous utilisez un package FatJar ou WAR pour déployer l'application. Vous devez spécifier une version. Remarque La version du SDK EDAS pour Java ou Python doit être la V2.44.0 ou ultérieure. |
| JDK | String | Query | No | Open JDK 8 | Version du kit de développement Java (JDK) dont dépend le package de déploiement de l'application. Les versions Open JDK 7 et Open JDK 8 sont prises en charge. Ce paramètre n'est pas disponible si vous déployez des applications à l'aide d'images. |
| WebContainer | String | Query | No | apache-tomcat-7.0.91 | Version du conteneur Tomcat dont dépend le package de déploiement de l'application. Ce paramètre s'applique aux applications Spring Cloud et Dubbo déployées à l'aide de packages WAR. Ce paramètre n'est pas disponible si vous déployez des applications à l'aide d'images. |
| EdasContainerVersion | String | Query | No | 3.5.9 | Version d'EDAS Container dont dépend le package de déploiement de l'application. Ce paramètre s'applique aux applications High-Speed Service Framework (HSF) déployées à l'aide de packages WAR. Ce paramètre n'est pas disponible si vous déployez des applications à l'aide d'images. |
| UriEncoding | String | Query | No | GBK | Schéma d'encodage URI (Uniform Resource Identifier). Valeurs valides : ISO-8859-1, GBK, GB2312 et UTF-8. Remarque Si vous ne spécifiez pas ce paramètre dans les configurations de l'application, le schéma d'encodage URI par défaut du conteneur Tomcat est appliqué. |
| UseBodyEncoding | Boolean | Query | No | false | Indique s'il faut utiliser le schéma d'encodage spécifié dans le corps de la requête pour les paramètres de requête URI. Remarque Si vous ne spécifiez pas ce paramètre dans les configurations de l'application, la valeur par défaut false est appliquée. |
| UpdateStrategy | String | Query | No | null | Politique de déploiement par lots.
|
| McpuRequest | Integer | Query | No | 4 | Nombre minimal de cœurs CPU requis. Unité : cœur. Une valeur de 0 indique qu'il n'y a aucune limite. Remarque Vous devez définir ce paramètre conjointement avec le paramètre CpuLimit. Assurez-vous que la valeur de ce paramètre ne dépasse pas celle du paramètre CpuLimit. |
| McpuLimit | Integer | Query | No | 0 | Nombre maximal de cœurs CPU autorisés. Unité : cœur. Une valeur de 0 indique qu'il n'y a aucune limite. |
| VolumesStr | String | Query | No | test | Volume de données. |
| PackageVersionId | String | Query | No | 2bcc******** | ID de version du package de déploiement. |
| ChangeOrderDesc | String | Query | No | Upgrade | Description du processus de modification. |
| RuntimeClassName | String | Query | No | runc | Type d'environnement d'exécution de conteneur. Ce paramètre s'applique uniquement aux clusters utilisant des conteneurs isolés (sandboxed containers). |
| DeployAcrossZones | String | Query | No | true | Indique s'il faut distribuer les instances d'application sur plusieurs zones. La valeur true signifie oui, tandis que les autres valeurs signifient non. |
| BatchTimeout | Integer | Query | No | 60 | Délai d'expiration pour un déploiement simultané. Unité : secondes. |
| EnableAhas | Boolean | Query | No | true | Indique s'il faut activer l'accès à Application High Availability Service (AHAS). |
| WebContainerConfig | String | Query | No | null | Configuration du conteneur Tomcat. Pour annuler cette configuration, définissez ce paramètre sur
|
| JavaStartUpConfig | String | Query | No | null | Configuration des paramètres de démarrage Java pour une application Java. Ces paramètres de démarrage concernent la mémoire, l'application, la politique de garbage collection (GC), les outils, l'enregistrement et la découverte de services, ainsi que les configurations personnalisées. Des paramètres bien configurés permettent de réduire la surcharge GC, de raccourcir le temps de réponse du serveur et d'améliorer le débit. Définissez ce paramètre comme une chaîne JSON. Dans l'exemple, original indique la valeur de configuration, et startup indique un paramètre de démarrage. Le système concatène automatiquement toutes les valeurs de démarrage comme paramètres de démarrage Java pour l'application. Pour annuler cette configuration, définissez ce paramètre sur |
| SlsConfigs | String | Query | No | [{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}] | Configuration Logstore. Pour annuler cette configuration, définissez ce paramètre sur
|
| DeployAcrossNodes | String | Query | No | true | Indique s'il faut distribuer les instances d'application sur plusieurs nœuds. La valeur true signifie oui, tandis que les autres valeurs signifient non. |
| TrafficControlStrategy | String | Query | No | null | Politique d'ajustement du trafic pour un déploiement canari. |
| PvcMountDescs | String | Query | No | [{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}] | Configuration du montage d'un volume Kubernetes PersistentVolumeClaim (PVC) dans un répertoire spécifié d'une instance de conteneur élastique. La configuration inclut les paramètres suivants :
|
| ConfigMountDescs | String | Query | No | [{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}] | Configuration du montage d'un Kubernetes ConfigMap ou Secret dans un répertoire spécifié d'une instance de conteneur élastique. La configuration inclut les paramètres suivants :
|
| EnvFroms | String | Query | No | [{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}] | Variables d'environnement Kubernetes configurées en mode EnvFrom. Un ConfigMap ou Secret spécifié est monté dans un répertoire spécifié. Chaque clé correspond à un fichier dans le répertoire, et le contenu du fichier est la valeur correspondant à la clé. Ce paramètre contient les paramètres suivants :
|
| EmptyDirs | String | Query | No | [{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}] | Configuration du montage d'un volume Kubernetes emptyDir dans un répertoire spécifié d'une instance de conteneur élastique. La configuration inclut les paramètres suivants :
|
Paramètres de réponse
|
Parameter |
Type |
Example |
Description |
|
ChangeOrderId |
String |
cd65b247-****-475b-ad4b-7039040d625c |
ID du processus de modification. Appelez l'opération GetChangeOrderInfo pour récupérer l'ID du processus de modification. |
|
Code |
Integer |
200 |
Code d'état HTTP. |
|
Message |
String |
success |
Message renvoyé indiquant si l'appel a réussi. |
|
RequestId |
String |
a5281053-08e4-47a5-b2ab-5c0323de* |
ID de la requête. |
Exemples
Exemples de requêtes
POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
Common request headers
{
"AppId": "e83acea6-****-47e1-96ae-c0e953772cdc"
}
Exemples de réponses réussies
XML format
<DeployK8sApplicationResponse>
<Message>success</Message>
<RequestId>a5281053-08e4-47a5-b2ab-5c0323de*****</RequestId>
<ChangeOrderId>cd65b247-****-475b-ad4b-7039040d625c</ChangeOrderId>
<Code>200</Code>
</DeployK8sApplicationResponse>
JSON format
{
"DeployK8sApplicationResponse": {
"Message": "success",
"RequestId": "a5281053-08e4-47a5-b2ab-5c0323de*****",
"ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",
"Code": 200
}
}
Codes d'erreur
Visitez le Centre d'erreurs pour afficher plus de codes d'erreur.
Pour une liste des codes d'erreur, visitez le Centre d'erreurs API.