Tous les produits
Search
Centre de documentation

:DeployK8sApplication

Dernière mise à jour :Aug 07, 2026

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

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

edas:ManageApplication

update

*Application

acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}

Aucune Aucune

Syntaxe de la requête

POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

PreStop

string

Non

Le script à exécuter avant l'arrêt du conteneur. Exemple : {"tcpSocket":{"host":"", "port":8080}}. Pour supprimer cette configuration, définissez le paramètre sur {}. Si vous ne définissez pas ce paramètre, la configuration est ignorée.

{

Envs

string

Non

Les variables d'environnement pour le déploiement. La valeur doit être un tableau JSON d'objets. Trois types de variables d'environnement sont pris en charge : standard, Kubernetes ConfigMap et Kubernetes Secret. Le format d'une variable d'environnement standard est le suivant :

[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]

ImageTag

string

Non

Le tag de l'image.

latest

BatchWaitTime

integer

Non

L'intervalle minimum pour un déploiement progressif des pods. Pour plus d'informations, consultez minReadySeconds.

0

Command

string

Non

La commande de démarrage du conteneur.

ls

AppId

string

Oui

L'identifiant de l'application. Obtenez l'identifiant en appelant l'opération ListApplication. Pour plus d'informations, consultez ListApplication.

e83acea6-****-47e1-96ae-c0e953772cdc

PostStart

string

Non

Le script à exécuter après le démarrage du conteneur. Exemple : {"exec":{"command":["cat","/etc/group"]}}. Pour supprimer cette configuration, définissez le paramètre sur {}. Si vous ne définissez pas ce paramètre, la configuration est ignorée.

{

Readiness

string

Non

La sonde de disponibilité pour le conteneur. Si la sonde échoue, le trafic provenant du service Kubernetes n'est pas routé vers le conteneur. Exemple : {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}. Pour supprimer cette configuration, définissez le paramètre sur "" ou {}. Si vous ne définissez pas ce paramètre, la configuration est ignorée.

{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}

Liveness

string

Non

La sonde de vivacité pour le conteneur. Exemple : {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}. Pour supprimer cette configuration, définissez le paramètre sur "" ou {}. Si vous ne définissez pas ce paramètre, la configuration est ignorée.

{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}

Args

string

Non

Les arguments pour la commande de démarrage du conteneur. La valeur doit être un tableau JSON de chaînes, tel que ["Argument 1", "Argument 2"]. Pour effacer les arguments, définissez le paramètre sur un tableau JSON vide "[]".

["args1","args2"]

Replicas

integer

Non

Le nombre d'instances d'application. La valeur minimale est 0.

1

Image

string

Non

L'URL complète de l'image. Ce paramètre remplace le paramètre ImageTag.

registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1

CpuLimit

integer

Non

La limite de CPU pour l'instance d'application pendant l'exécution. Unité : cœurs. Une valeur de 0 signifie aucune limite.

1

MemoryLimit

integer

Non

La limite de mémoire pour l'instance d'application pendant l'exécution. Unité : Mo. Une valeur de 0 signifie aucune limite.

0

CpuRequest

integer

Non

Le quota de CPU à demander pour l'instance d'application pendant l'exécution. Il est recommandé de définir ce paramètre.

0

MemoryRequest

integer

Non

Le quota de mémoire à demander pour l'instance d'application pendant l'exécution. Il est recommandé de définir ce paramètre. Unité : Mo. Une valeur de 0 signifie aucune demande.

0

NasId

string

Non

L'identifiant du système de fichiers Apsara File Storage NAS (NAS) à monter. Le système de fichiers NAS doit se trouver dans la même région que le cluster. Il doit disposer d'un quota de cible de montage disponible, ou sa cible de montage doit se trouver sur un vSwitch dans le VPC. Si vous ne définissez pas ce paramètre mais que le champ mountDescs existe, un système de fichiers NAS est automatiquement acheté et monté sur un vSwitch dans le VPC par défaut.

dfs23****

MountDescs

string

Non

Les configurations de montage, qui sont une chaîne JSON sérialisée. Exemple : [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]. Dans cet exemple, nasPath est le chemin de stockage des fichiers et mountPath est le chemin dans le conteneur sur lequel le système de fichiers est monté.

[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]

StorageType

string

Non

Le type de stockage du système de fichiers NAS. Valeurs valides :

Performance

LocalVolume

string

Non

La configuration pour le montage d'un fichier hôte sur un conteneur. Exemple : [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]. Dans cet exemple, nodePath est le chemin de l'hôte, mountPath est le chemin dans le conteneur, et type est le type de montage.

[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]

PackageUrl

string

Non

L'URL du package de déploiement. Configurez ce paramètre pour les applications déployées à l'aide d'un package FatJar ou WAR.

https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar

PackageVersion

string

Non

Le numéro de version du package de déploiement. Ce paramètre est requis pour les packages WAR et FatJar. Vous pouvez définir la signification du numéro de version.

20200720

JDK

string

Non

La version du JDK dont dépend le package de déploiement. Valeurs valides : Open JDK 7, Open JDK 8 ou Custom OpenJDK. Ce paramètre n'est pas pris en charge pour les déploiements basés sur des images. Si vous utilisez Custom OpenJDK, vous devez également configurer le champ UserBaseImageUrl.

Open JDK 8

WebContainer

string

Non

La version de Tomcat dont dépend le package de déploiement. Ce paramètre s'applique aux applications Spring Cloud et Dubbo déployées à l'aide de packages WAR. Il n'est pas pris en charge pour les déploiements basés sur des images.

apache-tomcat-7.0.91

EdasContainerVersion

string

Non

La version d'EDAS Container dont dépend le package de déploiement. Ce paramètre s'applique aux applications HSF déployées à l'aide de packages WAR. Il n'est pas pris en charge pour les déploiements basés sur des images.

3.5.9

UriEncoding

string

Non

Le format d'encodage de l'URI. Formats pris en charge : ISO-8859-1, GBK, GB2312 et UTF-8.

GBK

UseBodyEncoding

boolean

Non

Indique si useBodyEncodingForURI doit être activé.

false

UpdateStrategy

string

Non

La stratégie de déploiement progressif.

{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

McpuRequest

integer

Non

L'exigence minimale en ressources CPU. Unité : cœurs. Une valeur de 0 signifie aucune limite.

4

McpuLimit

integer

Non

Le CPU maximum pouvant être utilisé. Unité : cœurs. Une valeur de 0 signifie aucune limite.

0

VolumesStr

string

Non

Les volumes de données.

test

PackageVersionId

string

Non

L'identifiant de la version du package de déploiement.

2bcc********

ChangeOrderDesc

string

Non

La description de l'enregistrement de modification.

Mise à niveau

RuntimeClassName

string

Non

Le type d'exécution du conteneur :

runc

DeployAcrossZones

string

Non

Indique si les instances d'application doivent être réparties sur plusieurs zones. true indique oui, et les autres valeurs indiquent non.

true

BatchTimeout

integer

Non

Le délai d'expiration pour le déploiement d'un lot unique. Unité : secondes.

60

EnableAhas

boolean

Non

Indique s'il faut se connecter à Application High Availability Service (AHAS).

true

WebContainerConfig

string

Non

La configuration du conteneur Tomcat. Définissez sur "" ou "{}" pour supprimer la configuration :

{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false}

JavaStartUpConfig

string

Non

Les paramètres de démarrage Java. Vous pouvez configurer la mémoire, l'application, la stratégie de ramasse-miettes (GC), les outils, l'enregistrement et la découverte de services, ainsi que les paramètres personnalisés. Une configuration correcte de ces paramètres permet de réduire la surcharge du GC, de raccourcir le temps de réponse du serveur et d'améliorer le débit. Le paramètre est une chaîne JSON. original est la valeur de configuration, et startup est le paramètre de démarrage. Le système concatène automatiquement toutes les valeurs startup en tant que paramètres de démarrage Java pour l'application. Définissez sur "" ou "{}" pour supprimer la configuration.

{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}

SlsConfigs

string

Non

La configuration du Logstore. Définissez sur "" ou "{}" pour supprimer la configuration :

[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]

DeployAcrossNodes

string

Non

Indique si les instances d'application doivent être réparties sur plusieurs nœuds. true indique oui, et les autres valeurs indiquent non.

true

TrafficControlStrategy

string

Non

La stratégie de contrôle du trafic pour le déploiement progressif.

{"http":{"rules":[{"conditionType":"percent","percent":10}]}}

PvcMountDescs

string

Non

Configure les montages Kubernetes PersistentVolumeClaim (PVC). Cela vous permet de monter un volume PVC Kubernetes sur un répertoire de conteneur spécifié. Les paramètres pour PvcMountDescs sont les suivants :

[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]

ConfigMountDescs

string

Non

Configure les montages Kubernetes ConfigMap et Secret. Cela vous permet de monter un ConfigMap ou un Secret sur un répertoire de conteneur spécifié. Les paramètres pour ConfigMountDescs sont les suivants :

[

EnvFroms

string

Non

Configure les variables d'environnement de type Kubernetes EnvFrom. Cela monte un ConfigMap ou un Secret spécifié sur un répertoire. Chaque clé correspond à un fichier dans le répertoire, et le contenu du fichier est la valeur de la clé.

[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]

EmptyDirs

string

Non

Configure les montages Kubernetes emptyDir. Cela permet de monter un volume emptyDir sur un répertoire de conteneur spécifié. Les paramètres pour EmptyDirs sont les suivants :

[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]

CustomAffinity

string

Non

La configuration d'affinité des pods. Ce paramètre ne prend effet que lorsque DeployAcrossNodes et DeployAcrossZones sont tous deux définis sur false.

{"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

Non

La configuration de tolérance de planification des pods. Ce paramètre ne prend effet que lorsque DeployAcrossNodes et DeployAcrossZones sont tous deux définis sur false.

[{"key":"edas-taint-key2","operator":"Exists","effect":"NoExecute","tolerationSeconds":50},{"key":"edas-taint-key","operator":"Equal","value":"edas-taint-value","effect":"PreferNoSchedule"}]

BuildPackId

string

Non

Le numéro de package de build pour EDAS Container :

59

Annotations

string

Non

Les annotations du pod de l'application.

{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}

Labels

string

Non

Les labels du pod de l'application.

{"label-name-1":"label-value-1","label-name-2":"label-value-2"}

EnableEmptyPushReject

boolean

Non

Indique si la protection contre les pushs vides doit être activée :

false

EnableLosslessRule

boolean

Non

Indique si la règle de démarrage progressif doit être activée :

true

LosslessRuleWarmupTime

integer

Non

La durée de préchargement du service. Unité : secondes. La valeur est comprise entre 0 et 86400.

120

LosslessRuleDelayTime

integer

Non

La latence d'enregistrement du service. Unité : secondes. La valeur est comprise entre 0 et 86400.

0

LosslessRuleFuncType

integer

Non

La courbe de préchargement du service. La valeur est comprise entre 0 et 20. La valeur par défaut est 2, ce qui convient aux scénarios de préchargement généraux. Cela indique que la courbe de réception du trafic du fournisseur de services suit une courbe quadratique pendant la période de préchargement.

2

LosslessRuleAligned

boolean

Non

Indique si le mode de déploiement progressif sans interruption doit être activé pour terminer l'enregistrement du service avant que la sonde de disponibilité ne réussisse :

false

LosslessRuleRelated

boolean

Non

Indique si le mode de déploiement progressif sans interruption doit être activé pour terminer le préchargement du service avant que la sonde de disponibilité ne réussisse :

false

LimitEphemeralStorage

integer

Non

La limite supérieure de l'exigence en ressources de stockage temporaire. Unité : Go. Une valeur de 0 signifie qu'il n'y a aucune limite.

4

RequestsEphemeralStorage

integer

Non

L'exigence minimale en ressources de stockage temporaire. Unité : Go. Une valeur de 0 signifie qu'il n'y a aucune limite.

2

Sidecars

string

Non

Définit un conteneur sidecar pour le pod de l'application. La configuration du conteneur est au format YAML. La valeur correspond à la configuration YAML du conteneur sidecar encodée en base64.

[

InitContainers

string

Non

Définit un conteneur d'initialisation pour le pod de l'application. La configuration du conteneur est au format YAML. La valeur correspond à la configuration YAML du conteneur d'initialisation encodée en base64.

[

UserBaseImageUrl

string

Non

Lors de l'utilisation d'un environnement d'exécution JDK personnalisé, l'adresse de l'image de base doit être configurée. Cette adresse doit être accessible publiquement. Le serveur EDAS récupère cette image pour construire l'image de l'application.

openjdk:8u302

CanaryRuleId

string

Non

L'identifiant de la stratégie de règle de déploiement canari.

a8daf22e-****-968c7ff2ea34

TerminateGracePeriod

integer

Non

Le délai d'expiration de l'arrêt progressif pour l'application. Unité : secondes.

120

ImagePlatforms

string

Non

L'architecture de la plateforme cible pour l'image. Ce paramètre est valide lors du déploiement avec un fichier WAR ou JAR. Exemples :

linux/arm64,linux/amd64

Startup

string

Non

La sonde de démarrage peut être utilisée pour effectuer des vérifications de vivacité sur les conteneurs à démarrage lent afin d'éviter qu'ils ne soient terminés avant d'être opérationnels. Exemple : {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}.

{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}

CustomAgentVersion

string

Non

Définit la version de l'agent Application Real-Time Monitoring Service (ARMS) personnalisé à monter sur l'application.

3.1.4

SecurityContext

string

Non

Définit la propriété SecurityContext pour le conteneur du pod de l'application. La valeur correspond à la configuration YAML de SecurityContext encodée en base64.

{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}

Éléments de réponse

Élément

Type

Description

Exemple

object

L'objet de réponse.

ChangeOrderId

string

L'identifiant du processus de modification. Vous pouvez appeler l'opération GetChangeOrderInfo pour l'obtenir. Pour plus d'informations, consultez GetChangeOrderInfo.

cd65b247-****-475b-ad4b-7039040d625c

Code

integer

L'état de l'interface ou un code d'erreur POP.

200

Message

string

Informations supplémentaires.

success

RequestId

string

L'identifiant de la requête.

a5281053-08e4-47a5-b2ab-5c0323de*****

Exemples

JSON format

{
  "ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",
  "Code": 200,
  "Message": "success",
  "RequestId": "a5281053-08e4-47a5-b2ab-5c0323de*****"
}

Codes d'erreur

Consultez Codes d'erreurCodes d'erreur pour la liste complète.

Notes de version

Consultez Notes de versionNotes de version pour la liste complète.