Todos os produtos
Search
Central de documentação

:DeployK8sApplication

Última atualização: Jul 08, 2026

Implanta uma aplicação em um cluster do Container Service for Kubernetes (ACK) ou em um cluster serverless do Kubernetes.

Depuração

O OpenAPI Explorer calcula automaticamente o valor da assinatura. Para sua conveniência, recomendamos chamar esta operação no OpenAPI Explorer. O OpenAPI Explorer gera dinamicamente o código de exemplo da operação para diferentes SDKs.

Cabeçalhos da requisição

Esta operação utiliza apenas cabeçalhos de requisição comuns. Para mais informações, consulte o tópico sobre parâmetros de requisição comuns.

Sintaxe da requisição

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

Parâmetros da requisição

Parâmetro Tipo Posição Obrigatório Exemplo Descrição
AppId String Query Sim e83acea6-****-47e1-96ae-c0e953772cdc

ID da aplicação. Chame a operação ListApplication para consultar o ID da aplicação.

PreStop String Query Não {\"exec\":{\"command\":[\"ls\",\"/\"]}}"

Script de pré-parada. Exemplo: {"tcpSocket":{"host":"", "port":8080}}.

Para cancele essa configuração, defina este parâmetro como "" ou {}. Se você não especifique este parâmetro, a configuração será ignorada.

Envs String Query Não [{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]

Variáveis de ambiente usadas na implantação da aplicação. O valor deve ser um array JSON. Defina este parâmetro para especifique variáveis de ambiente padrão, variáveis de ambiente do ConfigMap do Kubernetes ou variáveis de ambiente do Secret do Kubernetes. Especifique variáveis de ambiente padrão no seguinte formato:

{"name":"x", "value": "y"}

Especifique variáveis de ambiente do ConfigMap do Kubernetes no seguinte formato para referenciar valores de ConfigMaps:

{ "name": "x2", "valueFrom": { "configMapKeyRef": { "name": "my-config", "key": "y2" } } }

Especifique variáveis de ambiente do Secret do Kubernetes no seguinte formato para referenciar valores de Secrets:

{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }
Nota Para cancele essa configuração, defina este parâmetro como um array JSON vazio, no formato "".
ImageTag String Query Não latest

Tag da imagem.

BatchWaitTime Integer Query Não 0

Intervalo mínimo de tempo para a liberação faseada de pods. Para mais informações, consulte minReadySeconds.

Command String Query Não ls

Comando usado para iniciar o contêiner.

Nota Para cancele essa configuração, defina este parâmetro como uma string vazia no formato "".
PostStart String Query Não {\"exec\":{\"command\":[\"ls\",\"/\"]}}"

Script pós-início. Exemplo: {"exec":{"command":["cat","/etc/group"]}}. Para cancele essa configuração, defina este parâmetro como "" ou {}. Se você não especifique este parâmetro, a configuração será ignorada.

Readiness String Query Não null

Configuração da verificação de prontidão do contêiner. Se a verificação falhar, o tráfego que passa pelo serviço do Kubernetes não será transmitido ao contêiner. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}. Para cancele essa configuração, defina este parâmetro como "" ou {}. Se você não especifique este parâmetro, a configuração será ignorada.

Liveness String Query Não null

Configuração da verificação de atividade do contêiner. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}. Para cancele essa configuração, defina este parâmetro como "" ou {}. Se você não especifique este parâmetro, a configuração será ignorada.

Args String Query Não ["args1","args2"]

Array de argumentos no comando de inicialização do contêiner. Defina este parâmetro como um array JSON no formato ["args1","args2"], onde cada chave é definida como uma string. Para cancele essa configuração, defina este parâmetro como um array JSON vazio no formato [].

Replicas Integer Query Não 1

Número de instâncias da aplicação. Valor mínimo: 0.

Image String Query Não registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1

URL absoluta da imagem. Esta definição de parâmetro substitui a definição do parâmetro ImageTag.

CpuLimit Integer Query Não 1

Número máximo de núcleos de CPU permitidos para cada instância da aplicação durante a execução. Unidade: núcleo. Um valor de 0 indica que não há limite.

MemoryLimit Integer Query Não 0

Quantidade máxima de memória permitida para cada instância da aplicação durante a execução. Unidade: MB. Um valor de 0 indica que não há limite.

CpuRequest Integer Query Não 0

Número de núcleos de CPU solicitados para cada instância da aplicação durante a execução. Recomendamos defina este parâmetro.

Unidade: núcleo. Um valor de 0 indica que não há limite.

Nota Defina este parâmetro juntamente com o parâmetro CpuLimit. Certifique-se de que o valor deste parâmetro não exceda o valor do parâmetro CpuLimit.
MemoryRequest Integer Query Não 0

Quantidade de memória solicitada para cada instância da aplicação durante a execução. Recomendamos defina este parâmetro. Unidade: MB. Se não desejar solicitar uma cota de memória, defina este parâmetro como 0.

Nota Defina este parâmetro juntamente com o parâmetro MemoryLimit. Certifique-se de que o valor deste parâmetro não exceda o valor do parâmetro MemoryLimit.
NasId String Query Não dfs23****

ID do sistema de arquivos Apsara File Storage NAS montado no contêiner onde a aplicação está em execução. O sistema de arquivos NAS deve estar na mesma região do cluster e ter um destino de montagem disponível ou possuir um destino de montagem no vSwitch da Virtual Private Cloud (VPC) onde a aplicação está localizada. Se você não especifique este parâmetro, mas especifique o parâmetro MountDescs, um sistema de arquivos NAS será adquirido e montado automaticamente no vSwitch da VPC.

MountDescs String Query Não [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]

Descrição da configuração de montagem do NAS. Defina este parâmetro como uma string JSON serializada. Exemplo: [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]. O parâmetro nasPath especifica o caminho de armazenamento de arquivos, e o parâmetro mountPath especifica o caminho para montar o sistema de arquivos no contêiner onde a aplicação está em execução.

StorageType String Query Não Performance

Tipo de armazenamento. Apenas SSD é suportado.

LocalVolume String Query Não [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]

Configuração para montar arquivos do host no contêiner onde a aplicação está em execução. Exemplo: [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]. O parâmetro nodePath especifica o caminho do host, o parâmetro mountPath especifica o caminho dentro do contêiner e o parâmetro type especifica o tipo de montagem.

PackageUrl String Query Não https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar

URL do pacote de implantação. Este parâmetro é obrigatório se você usar um pacote FatJar ou WAR para implantar a aplicação.

Nota A versão do Enterprise Distributed Application Service (EDAS) SDK para Java ou Python deve ser V2.44.0 ou posterior.
PackageVersion String Query Não 20200720

Versão do pacote de implantação. Este parâmetro é obrigatório se você usar um pacote FatJar ou WAR para implantar a aplicação. É necessário especifique uma versão.

Nota A versão do EDAS SDK para Java ou Python deve ser V2.44.0 ou posterior.
JDK String Query Não Open JDK 8

Versão do Java Development Kit (JDK) da qual o pacote de implantação da aplicação depende. Open JDK 7 e Open JDK 8 são suportados. Este parâmetro não está disponível se você implantar aplicações usando imagens.

WebContainer String Query Não apache-tomcat-7.0.91

Versão do contêiner Tomcat da qual o pacote de implantação da aplicação depende. Este parâmetro aplica-se a aplicações Spring Cloud e Dubbo implantadas com pacotes WAR. Este parâmetro não está disponível se você implantar aplicações usando imagens.

EdasContainerVersion String Query Não 3.5.9

Versão do EDAS Container da qual o pacote de implantação da aplicação depende. Este parâmetro aplica-se a aplicações High-Speed Service Framework (HSF) implantadas com pacotes WAR. Este parâmetro não está disponível se você implantar aplicações usando imagens.

UriEncoding String Query Não GBK

Esquema de codificação do Uniform Resource Identifier (URI). Valores válidos: ISO-8859-1, GBK, GB2312 e UTF-8.

Nota Se você não especifique este parâmetro nas configurações da aplicação, o esquema de codificação URI padrão do contêiner Tomcat será aplicado.
UseBodyEncoding Boolean Query Não false

Define se deve ser usado o esquema de codificação especificado no corpo da requisição para parâmetros de consulta URI.

Nota Se você não especifique este parâmetro nas configurações da aplicação, o valor padrão false será aplicado.
UpdateStrategy String Query Não null

Política de liberação faseada.

  • Exemplo 1: Uma instância para liberação canário + Dois lotes subsequentes + Lote automático + Intervalo de 1 minuto entre lotes. {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}
  • Exemplo 2: Uma instância para liberação canário + Dois lotes subsequentes + Lote manual. {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}
  • Exemplo 3: Dois lotes + Lote automático + Intervalo de 0 minutos entre lotes. {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}
McpuRequest Integer Query Não 4

Número mínimo de núcleos de CPU necessários. Unidade: núcleo. Um valor de 0 indica que não há limite.

Nota Defina este parâmetro juntamente com o parâmetro CpuLimit. Certifique-se de que o valor deste parâmetro não exceda o valor do parâmetro CpuLimit.
McpuLimit Integer Query Não 0

Número máximo de núcleos de CPU permitidos. Unidade: núcleo. Um valor de 0 indica que não há limite.

VolumesStr String Query Não test

Volume de dados.

PackageVersionId String Query Não 2bcc********

ID da versão do pacote de implantação.

ChangeOrderDesc String Query Não Upgrade

Descrição do processo de alteração.

RuntimeClassName String Query Não runc

Tipo de runtime do contêiner. Este parâmetro aplica-se apenas a clusters que usam contêineres em sandbox.

DeployAcrossZones String Query Não true

Define se as instâncias da aplicação devem ser distribuídas por múltiplas zonas. O valor true indica sim, enquanto outros valores indicam não.

BatchTimeout Integer Query Não 60

Tempo limite para uma liberação em lote. Unidade: segundos.

EnableAhas Boolean Query Não true

Define se o acesso ao Application High Availability Service (AHAS) deve ser ativado.

WebContainerConfig String Query Não null

Configuração do contêiner Tomcat. Para cancele essa configuração, defina este parâmetro como "" ou "{}". A configuração inclui os seguintes parâmetros:

  • useDefaultConfig: define se a configuração padrão deve ser usada. O valor true indica o uso da configuração padrão. O valor false indica o uso da configuração personalizada. Se a configuração padrão for usada, os parâmetros a seguir não terão efeito.
  • contextInputType: tipo de caminho de acesso da aplicação. Valores válidos:
    • war: O caminho de acesso da aplicação é o nome do pacote WAR. Não é necessário especifique um caminho personalizado.
    • root: O caminho de acesso da aplicação é /. Não é necessário especifique um caminho personalizado.
    • custom: Se selecione esta opção, especifique um caminho personalizado para o parâmetro contextPath.
  • contextPath: caminho de acesso personalizado da aplicação. Este parâmetro é necessário apenas quando você defina o parâmetro contextInputType como custom.
  • httpPort: número da porta. Varia de 1024 a 65535. Embora as permissões de administrador estejam configuradas para o contêiner, são necessárias permissões de root para executar operações em portas com número inferior a 1024. Portanto, insira um valor maior que 1024 dentro do intervalo válido. Se você não especifique este parâmetro, o número de porta padrão 8080 será usado.
  • maxThreads: número máximo de conexões no pool de conexões. Valor padrão: 400.
    Nota Este parâmetro afeta significativamente o desempenho da aplicação. Recomendamos defina este parâmetro sob orientação profissional.
  • uriEncoding: esquema de codificação URI no contêiner Tomcat. Valores válidos: UTF-8, ISO-8859-1, GBK e GB2312. Se você não especifique este parâmetro, o valor padrão ISO-8859-1 será usado.
  • useBodyEncoding: define se deve ser usado o esquema de codificação especificado no corpo da requisição para parâmetros de consulta URI.
  • useAdvancedServerXml: define se configurações avançadas devem ser usadas para personalizar o arquivo server.xml. Se os tipos de parâmetros anteriores e os parâmetros específicos não atenderem aos seus requisitos, use configurações avançadas para personalizar o arquivo server.xml do Tomcat.
  • serverXml: conteúdo do arquivo server.xml personalizado usando configurações avançadas. Este parâmetro só tem efeito quando você defina o parâmetro useAdvancedServerXml como true.
JavaStartUpConfig String Query Não null

Configuração dos parâmetros de inicialização Java para uma aplicação Java. Esses parâmetros envolvem memória, aplicação, política de coleta de lixo (GC), ferramentas, registro e descoberta de serviços e configurações personalizadas. Definições adequadas ajudam a reduzir a sobrecarga de GC, diminuir o tempo de resposta do servidor e melhorar o throughput. Defina este parâmetro como uma string JSON. No exemplo, original indica o valor da configuração e startup indica um parâmetro de inicialização. O sistema concatena automaticamente todos os valores de startup como as definições dos parâmetros de inicialização Java da aplicação. Para cancele essa configuração, defina este parâmetro como "" ou "{}".

SlsConfigs String Query Não [{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]

Configuração do Logstore. Para cancele essa configuração, defina este parâmetro como "" ou "{}".

  • A configuração inclui os seguintes parâmetros:
    • type: tipo de coleta. Defina este parâmetro como file para especifique o tipo de arquivo. Defina este parâmetro como stdout para especifique o tipo de saída padrão.
    • logstore: nome do Logstore. Certifique-se de que o nome do Logstore seja exclusivo no cluster. O nome deve obedecer às seguintes regras:
      • O nome pode conter apenas letras minúsculas, dígitos, hifens (-) e sublinhados (_).
      • O nome deve começar e terminar com uma letra minúscula ou um dígito.
      • O nome deve ter entre 3 e 63 caracteres. Se deixar este parâmetro vazio, o sistema gerará um nome automaticamente.
    • logDir: Se o tipo de saída padrão for usado, o caminho de coleta será stdout.log. Se o tipo de arquivo for usado, o caminho de coleta será o caminho do arquivo coletado. Caracteres curinga (*) são suportados. O caminho de coleta deve corresponder à seguinte expressão regular: ^/(.+)/(.*)^/$.
DeployAcrossNodes String Query Não true

Define se as instâncias da aplicação devem ser distribuídas por múltiplos nós. O valor true indica sim, enquanto outros valores indicam não.

TrafficControlStrategy String Query Não null

Política de ajuste de tráfego para uma liberação canário.

PvcMountDescs String Query Não [{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]

Configuração para montar um volume PersistentVolumeClaim (PVC) do Kubernetes em um diretório especificado em uma instância de contêiner elástica. A configuração inclui os seguintes parâmetros:

  • pvcName: nome do volume PVC. Certifique-se de que o volume PVC exista e esteja no estado Bound.
  • mountPaths: diretório onde montar o volume PVC. É possível configure múltiplos diretórios. Defina os dois parâmetros a seguir para cada diretório de montagem:
    • mountPath: caminho de montagem. Deve ser um caminho absoluto que comece com uma barra (/) para montar um volume PVC em uma instância de contêiner elástica.
    • readOnly: modo de montagem. O valor true indica o modo somente leitura. O valor false indica o modo leitura/gravação. Valor padrão: false.
ConfigMountDescs String Query Não [{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}]

Configuração para montar um ConfigMap ou Secret do Kubernetes em um diretório especificado em uma instância de contêiner elástica. A configuração inclui os seguintes parâmetros:

  • name: nome do ConfigMap ou Secret do Kubernetes.
  • type: tipo de objeto de API a ser montado. É possível montar um ConfigMap ou Secret do Kubernetes.
  • mountPath: caminho de montagem. Deve ser um caminho absoluto que comece com uma barra (/) para montar um ConfigMap ou Secret do Kubernetes em uma instância de contêiner elástica.
EnvFroms String Query Não [{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]

Variáveis de ambiente do Kubernetes configuradas no modo EnvFrom. Um ConfigMap ou Secret especificado é montado em um diretório específico. Cada chave corresponde a um arquivo no diretório, e o conteúdo do arquivo é o valor correspondente à chave.

Este parâmetro contém os seguintes parâmetros:

  • configMapRef: ConfigMap referenciado. Este parâmetro contém o seguinte parâmetro:
    • name: nome do ConfigMap.
  • secretRef: Secret referenciado. Este parâmetro contém o seguinte parâmetro:
    • name: nome do Secret.
EmptyDirs String Query Não [{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]

Configuração para montar um volume emptyDir do Kubernetes em um diretório especificado em uma instância de contêiner elástica. A configuração inclui os seguintes parâmetros:

  • mountPath: obrigatório. Caminho de montagem no contêiner.
  • readOnly: opcional. Modo de montagem. O valor true indica o modo somente leitura. O valor false indica o modo leitura/gravação. Valor padrão: false.
  • subPathExpr: opcional. Expressão regular usada para corresponder ao subdiretório.

Parâmetros de resposta

Parâmetro

Tipo

Exemplo

Descrição

ChangeOrderId

String

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

ID do processo de alteração. Chame a operação GetChangeOrderInfo para consultar o ID do processo de alteração.

Code

Integer

200

Código de status HTTP.

Message

String

success

Mensagem retornada que indica se a chamada foi bem-sucedida.

RequestId

String

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

ID da requisição.

Exemplos

Exemplos de requisições

POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
Common request headers
{
"AppId": "e83acea6-****-47e1-96ae-c0e953772cdc"
}

Exemplos de respostas de sucesso

Formato XML

<DeployK8sApplicationResponse>
  <Message>success</Message>
  <RequestId>a5281053-08e4-47a5-b2ab-5c0323de*****</RequestId>
  <ChangeOrderId>cd65b247-****-475b-ad4b-7039040d625c</ChangeOrderId>
  <Code>200</Code>
</DeployK8sApplicationResponse>

Formato JSON

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

Códigos de erro

Acesse o Centro de Erros para ver mais códigos de erro.

Para obter uma lista de códigos de erro, visite o API Error Center.