Tous les produits
Search
Centre de documentation

:DeployK8sApplication

Dernière mise à jour :Aug 10, 2026

Déploie une application dans un cluster Container Service for Kubernetes (ACK) ou un cluster Kubernetes serverless.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Pour plus de commodité, nous vous recommandons d'appeler cette opération dans OpenAPI Explorer. OpenAPI Explorer génère dynamiquement l'exemple de code de l'opération pour différents SDK.

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 : {"tcpSocket":{"host":"", "port":8080}}.

Pour annuler cette configuration, définissez ce paramètre sur "" ou {}. Si vous ne spécifiez pas ce paramètre, cette configuration est ignorée.

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 : {"exec":{"command":["cat","/etc/group"]}}. Pour annuler cette configuration, définissez ce paramètre sur "" ou {}. Si vous ne spécifiez pas ce paramètre, cette configuration est ignorée.

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 : {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}. Pour annuler cette configuration, définissez ce paramètre sur "" ou {}. Si vous ne spécifiez pas ce paramètre, cette configuration est ignorée.

Liveness String Query No null

Configuration du test de vivacité (liveness) du conteneur. Exemple : {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}. Pour annuler cette configuration, définissez ce paramètre sur "" ou {}. Si vous ne spécifiez pas ce paramètre, cette configuration est ignorée.

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 ["args1","args2"], où chaque clé est définie comme une chaîne. Pour annuler cette configuration, définissez ce paramètre sur un tableau JSON vide 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 : [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]. Le paramètre nasPath spécifie le chemin de stockage du fichier, et le paramètre mountPath spécifie le chemin de montage du système de fichiers dans le conteneur où s'exécute l'application.

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 : [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]. Le paramètre nodePath spécifie le chemin hôte, le paramètre mountPath spécifie le chemin dans le conteneur, et le paramètre type spécifie le type de montage.

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.

  • Exemple 1 : Une instance pour un déploiement canari + Deux lots suivants + Mise en lots automatique + Intervalle de lot de 1 minute. {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}
  • Exemple 2 : Une instance pour un déploiement canari + Deux lots suivants + Mise en lots manuelle. {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}
  • Exemple 3 : Deux lots + Mise en lots automatique + Intervalle de lot de 0 minute. {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}
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 "" ou "{}". La configuration inclut les paramètres suivants :

  • useDefaultConfig : indique s'il faut utiliser la configuration par défaut. La valeur true signifie utiliser la configuration par défaut. La valeur false signifie utiliser la configuration personnalisée. Si la configuration par défaut est utilisée, les paramètres suivants ne prennent pas effet.
  • contextInputType : type de chemin d'accès pour l'application. Valeurs valides :
    • war : Le chemin d'accès pour l'application est le nom du package WAR. Vous n'avez pas besoin de spécifier un chemin personnalisé.
    • root : Le chemin d'accès pour l'application est /. Vous n'avez pas besoin de spécifier un chemin personnalisé.
    • custom : Si vous sélectionnez cette option, vous devez spécifier un chemin personnalisé pour le paramètre contextPath.
  • contextPath : chemin d'accès personnalisé pour l'application. Ce paramètre est requis uniquement lorsque vous définissez le paramètre contextInputType sur custom.
  • httpPort : numéro de port. Le numéro de port varie de 1024 à 65535. Bien que les permissions d'administrateur soient configurées pour le conteneur, les permissions root sont requises pour effectuer des opérations sur les ports dont le numéro est inférieur à 1024. Par conséquent, saisissez une valeur supérieure à 1024 dans la plage valide. Si vous ne spécifiez pas ce paramètre, le numéro de port par défaut 8080 est utilisé.
  • maxThreads : nombre maximal de connexions dans le pool de connexions. Valeur par défaut : 400.
    Remarque Ce paramètre affecte considérablement les performances de l'application. Nous vous recommandons de définir ce paramètre sous la supervision d'un professionnel.
  • uriEncoding : schéma d'encodage URI dans le conteneur Tomcat. Valeurs valides : UTF-8, ISO-8859-1, GBK et GB2312. Si vous ne spécifiez pas ce paramètre, la valeur par défaut ISO-8859-1 est utilisée.
  • useBodyEncoding : 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.
  • useAdvancedServerXml : indique s'il faut utiliser des configurations avancées pour personnaliser le fichier server.xml. Si les types de paramètres précédents et les paramètres spécifiques ne répondent pas à vos besoins, vous pouvez utiliser des configurations avancées pour personnaliser le fichier server.xml de Tomcat.
  • serverXml : contenu du fichier server.xml personnalisé à l'aide de configurations avancées. Ce paramètre prend effet uniquement lorsque vous définissez le paramètre useAdvancedServerXml sur true.
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 "" ou "{}".

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 "" ou "{}".

  • La configuration inclut les paramètres suivants :
    • type : type de collecte. Définissez ce paramètre sur file pour spécifier le type fichier. Définissez ce paramètre sur stdout pour spécifier le type sortie standard.
    • logstore : nom du Logstore. Assurez-vous que le nom du Logstore est unique dans le cluster. Le nom doit respecter les règles suivantes :
      • Le nom ne peut contenir que des lettres minuscules, des chiffres, des traits d'union (-) et des underscores (_).
      • Le nom doit commencer et se terminer par une lettre minuscule ou un chiffre.
      • Le nom doit comporter entre 3 et 63 caractères. Si vous laissez ce paramètre vide, le système génère automatiquement un nom.
    • logDir : Si le type sortie standard est utilisé, le chemin de collecte est stdout.log. Si le type fichier est utilisé, le chemin de collecte est le chemin du fichier collecté. Les jokers (*) sont pris en charge. Le chemin de collecte doit correspondre à l'expression régulière suivante : ^/(.+)/(.*)^/$.
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 :

  • pvcName : nom du volume PVC. Assurez-vous que le volume PVC est un volume existant et se trouve à l'état Bound.
  • mountPaths : répertoire dans lequel vous souhaitez monter le volume PVC. Vous pouvez configurer plusieurs répertoires. Vous pouvez définir les deux paramètres suivants pour chaque répertoire de montage :
    • mountPath : chemin de montage. Le chemin de montage doit être un chemin absolu commençant par une barre oblique (/) si vous souhaitez monter un volume PVC dans une instance de conteneur élastique.
    • readOnly : mode de montage. La valeur true indique le mode lecture seule. La valeur false indique le mode lecture/écriture. Valeur par défaut : false.
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 :

  • name : nom du Kubernetes ConfigMap ou Secret.
  • type : type d'objet API que vous souhaitez monter. Vous pouvez monter un Kubernetes ConfigMap ou Secret.
  • mountPath : chemin de montage. Le chemin de montage doit être un chemin absolu commençant par une barre oblique (/) si vous souhaitez monter un Kubernetes ConfigMap ou Secret dans une instance de conteneur élastique.
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 :

  • configMapRef : ConfigMap référencé. Ce paramètre contient le paramètre suivant :
    • name : nom du ConfigMap.
  • secretRef : Secret référencé. Ce paramètre contient le paramètre suivant :
    • name : nom du Secret.
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 :

  • mountPath : obligatoire. Chemin de montage dans le conteneur.
  • readOnly : facultatif. Mode de montage. La valeur true indique le mode lecture seule. La valeur false indique le mode lecture/écriture. Valeur par défaut : false.
  • subPathExpr : facultatif. Expression régulière utilisée pour faire correspondre le sous-répertoire.

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.