Todos os produtos
Search
Central de documentação

Enterprise Distributed Application Service:DeployK8sApplication

Última atualização: Jun 28, 2026

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

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

edas:ManageApplication

update

*Application

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

Nenhuma Nenhuma

Sintaxe da solicitação

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

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

PreStop

string

Não

O script a ser executado antes de parar o contêiner. Exemplo: {"tcpSocket":{"host":"", "port":8080}}. Para excluir esta configuração, defina o parâmetro como {}. Se você não definir este parâmetro, a configuração será ignorada.

{ "exec":{ "command":[ "ls", "/" ] } }

Envs

string

Não

As variáveis de ambiente para a implantação. O valor deve ser um array JSON de objetos. Três tipos de variáveis de ambiente são suportados: regulares, ConfigMap do Kubernetes e Secret do Kubernetes. O formato para uma variável de ambiente regular é o seguinte:

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

Uma variável de ambiente ConfigMap injeta o valor de uma chave especificada de um ConfigMap nas variáveis de ambiente do contêiner. O formato é o seguinte:

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

Uma variável de ambiente Secret injeta o valor de uma chave especificada de um Secret nas variáveis de ambiente do contêiner. O formato é o seguinte:

{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }

Nota

Para limpar esta configuração, defina o parâmetro como um array JSON vazio `[]`.

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

ImageTag

string

Não

A tag da imagem.

latest

BatchWaitTime

integer

Não

O intervalo mínimo para uma liberação em fases de pods. Para mais informações, consulte minReadySeconds.

0

Command

string

Não

O comando de inicialização do contêiner.

Nota

Para limpar esta configuração, defina o parâmetro como uma string vazia "".

ls

AppId

string

Sim

O ID da aplicação. Obtenha o ID chamando a operação ListApplication. Para mais informações, consulte ListApplication.

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

PostStart

string

Não

O script a ser executado após a inicialização do contêiner. Exemplo: {"exec":{"command":["cat","/etc/group"]}}. Para excluir esta configuração, defina o parâmetro como {}. Se você não definir este parâmetro, a configuração será ignorada.

{ "exec":{ "command":[ "ls", "/" ] } }

Readiness

string

Não

A sondagem de prontidão para o contêiner. Se a sondagem falhar, o tráfego do serviço Kubernetes não será roteado para o contêiner. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}. Para excluir esta configuração, defina o parâmetro como "" ou {}. Se você não definir este parâmetro, a configuração será ignorada.

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

Liveness

string

Não

A sondagem de atividade para o contêiner. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}. Para excluir esta configuração, defina o parâmetro como "" ou {}. Se você não definir este parâmetro, a configuração será ignorada.

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

Args

string

Não

Os argumentos para o comando de inicialização do contêiner. O valor deve ser um array JSON de strings, como ["Argument 1", "Argument 2"]. Para limpar os argumentos, defina o parâmetro como um array JSON vazio "[]".

["args1","args2"]

Replicas

integer

Não

O número de instâncias da aplicação. O valor mínimo é 0.

1

Image

string

Não

A URL completa da imagem. Este parâmetro sobrescreve o parâmetro ImageTag.

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

CpuLimit

integer

Não

O limite de CPU para a instância da aplicação durante a execução. Unidade: núcleos. Um valor de 0 significa sem limite.

1

MemoryLimit

integer

Não

O limite de memória para a instância da aplicação durante a execução. Unidade: MB. Um valor de 0 significa sem limite.

0

CpuRequest

integer

Não

A cota de CPU a ser solicitada para a instância da aplicação durante a execução. Recomenda-se definir este parâmetro. Unidade: núcleos. Um valor de 0 significa sem limite.

Nota

Se você definir este parâmetro, defina também o parâmetro CpuLimit. O valor de CpuRequest deve ser menor ou igual ao valor de CpuLimit.

0

MemoryRequest

integer

Não

A cota de memória a ser solicitada para a instância da aplicação durante a execução. Recomenda-se definir este parâmetro. Unidade: MB. Um valor de 0 significa sem solicitação.

Nota

Se você definir este parâmetro, defina também o parâmetro MemoryLimit. O valor de MemoryRequest deve ser menor ou igual ao valor de MemoryLimit.

0

NasId

string

Não

O ID do sistema de arquivos do Apsara File Storage NAS (NAS) a ser montado. O sistema de arquivos NAS deve estar na mesma região do cluster. Ele deve ter uma cota de destino de montagem disponível, ou seu destino de montagem deve estar em um vSwitch na VPC. Se você não definir este parâmetro, mas o campo mountDescs existir, um sistema de arquivos NAS será comprado e montado automaticamente em um vSwitch na VPC por padrão.

dfs23****

MountDescs

string

Não

As configurações de montagem, que são uma string JSON serializada. Exemplo: [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]. Neste exemplo, nasPath é o caminho de armazenamento de arquivos e mountPath é o caminho no contêiner onde o sistema de arquivos é montado.

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

StorageType

string

Não

O tipo de armazenamento do sistema de arquivos NAS. Valores válidos:

  • NAS de uso geral: `Capacity` e `Performance`

  • NAS extremo: `standard` e `advance`

Atualmente, apenas o tipo `Performance` é suportado.

Performance

LocalVolume

string

Não

A configuração para montar um arquivo do host em um contêiner. Exemplo: [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]. Neste exemplo, nodePath é o caminho do host, mountPath é o caminho no contêiner e type é o tipo de montagem.

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

PackageUrl

string

Não

A URL do pacote de implantação. Configure este parâmetro para aplicações implantadas usando um pacote FatJar ou WAR.

Nota

O SDK Java ou Python para a API POP do EDAS deve ser da versão 2.44.0 ou posterior.

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

PackageVersion

string

Não

O número da versão do pacote de implantação. Este parâmetro é obrigatório para pacotes WAR e FatJar. Você pode definir o significado do número da versão.

Nota

O SDK Java ou Python para a API POP do EDAS deve ser da versão 2.44.0 ou posterior.

20200720

JDK

string

Não

A versão do JDK da qual o pacote de implantação depende. Valores válidos: Open JDK 7, Open JDK 8 ou Custom OpenJDK. Este parâmetro não é suportado para implantações baseadas em imagem. Se você usar Custom OpenJDK, também deverá configurar o campo UserBaseImageUrl.

Open JDK 8

WebContainer

string

Não

A versão do Tomcat da qual o pacote de implantação depende. Este parâmetro se aplica a aplicações Spring Cloud e Dubbo implantadas usando pacotes WAR. Não é suportado para implantações baseadas em imagem.

apache-tomcat-7.0.91

EdasContainerVersion

string

Não

A versão do EDAS Container da qual o pacote de implantação depende. Este parâmetro se aplica a aplicações HSF implantadas usando pacotes WAR. Não é suportado para implantações baseadas em imagem.

3.5.9

UriEncoding

string

Não

O formato de codificação URI. Formatos suportados: ISO-8859-1, GBK, GB2312 e UTF-8.

Nota

Se você não definir este parâmetro na configuração da aplicação, o valor padrão do Tomcat será usado.

GBK

UseBodyEncoding

boolean

Não

Especifica se deve ativar useBodyEncodingForURI.

Nota

Se você não definir este parâmetro na configuração da aplicação, o valor padrão false será usado.

false

UpdateStrategy

string

Não

A política de liberação em fases.

  • Exemplo 1: Liberação em fases com uma instância canary, seguida por dois lotes, loteamento automático e um intervalo de 1 minuto. {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

  • Exemplo 2: Liberação em fases com uma instância canary, seguida por dois lotes e loteamento manual. {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}

  • Exemplo 3: Liberação em fases em dois lotes, com loteamento automático e um intervalo de 0 minuto. {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}

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

McpuRequest

integer

Não

O requisito mínimo de recurso de CPU. Unidade: núcleos. Um valor de 0 significa sem limite.

Nota

Se você definir este parâmetro, também deverá definir o parâmetro CpuLimit. O valor deve ser menor ou igual ao valor de CpuLimit.

4

McpuLimit

integer

Não

A CPU máxima que pode ser usada. Unidade: núcleos. Um valor de 0 significa sem limite.

0

VolumesStr

string

Não

Os volumes de dados.

test

PackageVersionId

string

Não

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

2bcc********

ChangeOrderDesc

string

Não

A descrição do registro de alteração.

Upgrade

RuntimeClassName

string

Não

O tipo de tempo de execução do contêiner:

  • runc: tempo de execução de contêiner regular.

  • runv: contêiner em sandbox.

Este parâmetro se aplica apenas a clusters que usam contêineres em sandbox.

runc

DeployAcrossZones

string

Não

Especifica se as instâncias da aplicação devem ser distribuídas por várias zonas. true indica sim, e outros valores indicam não.

true

BatchTimeout

integer

Não

O período de tempo limite para uma liberação de lote único. Unidade: segundos.

60

EnableAhas

boolean

Não

Especifica se deve conectar ao Application High Availability Service (AHAS).

true

WebContainerConfig

string

Não

A configuração do contêiner Tomcat. Defina como "" ou "{}" para excluir a configuração:

  • useDefaultConfig: Especificifica se deve usar uma configuração personalizada. Se true, a configuração personalizada não é usada. Se false, a configuração personalizada é usada. Se você não usar uma configuração personalizada, as seguintes configurações de parâmetro não terão efeito.

  • contextInputType: O caminho de acesso da aplicação.

    • war: Você não precisa inserir um caminho personalizado. O caminho de acesso é o nome do pacote WAR.

    • root: Você não precisa inserir um caminho personalizado. O caminho de acesso é /.

    • custom: Você precisa inserir um caminho personalizado no parâmetro contextPath abaixo.

  • contextPath: O caminho personalizado. Este parâmetro é obrigatório apenas quando contextInputType é definido como custom.

  • httpPort: O número da porta. O intervalo válido é de 1024 a 65535. Portas menores que 1024 requerem permissões de root. Como o contêiner é configurado com permissões de administrador, especifique um número de porta maior que 1024. Se você não configurar isso, a porta padrão será 8080.

  • maxThreads: O tamanho do pool de conexões. O valor padrão é 400.

    Nota

    Esta configuração afeta muito o desempenho da aplicação. Configure-a sob orientação profissional.

  • uriEncoding: O formato de codificação para o Tomcat. Valores válidos: UTF-8, ISO-8859-1, GBK e GB2312. Se você não definir isso, o padrão é ISO-8859-1.

  • useBodyEncoding: Especifica se deve usar BodyEncoding para URLs.

  • useAdvancedServerXml: Especifica se deve usar a configuração avançada para personalizar o arquivo server.xml. Se os tipos e valores de parâmetros anteriores não atenderem às suas necessidades, você pode usar as configurações avançadas para editar diretamente o arquivo Server.xml do Tomcat.

  • serverXml: O conteúdo do arquivo de texto server.xml personalizado na configuração avançada. Isso entra em vigor quando useAdvancedServerXml é true.

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

JavaStartUpConfig

string

Não

Os parâmetros de inicialização do Java. Você pode configurar memória, aplicação, política de coleta de lixo (GC), ferramentas, registro e descoberta de serviços e configurações personalizadas. Configurar corretamente esses parâmetros ajuda a reduzir a sobrecarga de GC, encurtar o tempo de resposta do servidor e melhorar a taxa de transferência. O parâmetro é uma string JSON. original é o valor de configuração e startup é o parâmetro de inicialização. O sistema concatena automaticamente todos os valores de startup como os parâmetros de inicialização do Java para a aplicação. Defina como "" ou "{}" para excluir a configuração.

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

SlsConfigs

string

Não

A configuração do Logstore. Defina como "" ou "{}" para excluir a configuração:

  • Configs:

    • type: O tipo de coleta. file para o tipo de arquivo, stdout para o tipo de saída padrão.

    • Logstore: O nome do Logstore. Certifique-se de que o nome do Logstore seja exclusivo no mesmo cluster. O nome deve seguir estas regras:

      • Pode conter apenas letras minúsculas, números, hifens (-) e sublinhados (_).

      • Deve começar e terminar com uma letra minúscula ou um número.

      • O nome deve ter de 3 a 63 caracteres. Se deixado em branco, o sistema gera um nome automaticamente.

    • LogDir: Se o tipo for saída padrão, o caminho de coleta é stdout.log. Se o tipo for arquivo, este é o caminho do arquivo a ser coletado. Curingas são suportados. O caminho de coleta deve corresponder à expressão regular: ^/(.+)/(.*)^/$.

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

DeployAcrossNodes

string

Não

Especifica se as instâncias da aplicação devem ser distribuídas por vários nós. true indica sim, e outros valores indicam não.

true

TrafficControlStrategy

string

Não

A política de controle de tráfego para liberação em fases.

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

PvcMountDescs

string

Não

Configura as montagens de PersistentVolumeClaim (PVC) do Kubernetes. Isso permite montar um volume PVC do Kubernetes em um diretório de contêiner especificado. Os parâmetros para PvcMountDescs são os seguintes:

  • pvcName: O nome do volume PVC. O volume PVC já deve existir e estar no estado Bound.

  • mountPaths: Uma lista de diretórios de montagem. Você pode configurar vários diretórios de montagem. Cada diretório de montagem suporta os seguintes dois parâmetros:

    • mountPath: O caminho de montagem. Um caminho absoluto no contêiner que começa com uma barra (/).

    • readOnly: O modo de montagem. true para somente leitura, false para leitura e gravação. O padrão é false.

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

ConfigMountDescs

string

Não

Configura as montagens de ConfigMap e Secret do Kubernetes. Isso permite montar um ConfigMap ou Secret em um diretório de contêiner especificado. Os parâmetros para ConfigMountDescs são os seguintes:

  • name: O nome do ConfigMap ou Secret.

  • type: O tipo de configuração. ConfigMap e Secret são suportados.

  • mountPath: O caminho de montagem. Um caminho absoluto no contêiner que começa com uma barra (/).

[ { "name": "nginx-config", "type": "ConfigMap", "mountPath": "/etc/nginx" }, { "name": "tls-secret", "type": "Secret", "mountPath": "/etc/ssh" } ]

EnvFroms

string

Não

Configura variáveis de ambiente do tipo EnvFrom do Kubernetes. Isso monta um ConfigMap ou Secret especificado em um diretório. Cada chave corresponde a um arquivo no diretório, e o conteúdo do arquivo é o valor da chave.

Os parâmetros para EnvFroms são os seguintes.

  • configMapRef: Uma referência a um ConfigMap. Este campo inclui o seguinte parâmetro:

    • name: O nome do ConfigMap.

  • secretRef: Uma referência a um Secret. Este campo inclui o seguinte parâmetro:

    • name: O nome do Secret.

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

EmptyDirs

string

Não

Configura as montagens emptyDir do Kubernetes. Isso permite montar um volume emptyDir em um diretório de contêiner especificado. Os parâmetros para EmptyDirs são os seguintes:

  • mountPath: O caminho de montagem do contêiner. Isso é obrigatório.

  • readOnly: Especifica se o volume é somente leitura. Opcional. true para somente leitura, false para leitura e gravação. O padrão é false.

  • subPathExpr: A expressão do subdiretório. Opcional.

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

CustomAffinity

string

Não

A configuração de afinidade de pod. Isso entra em vigor apenas quando DeployAcrossNodes e DeployAcrossZones são 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

Não

A configuração de tolerância de agendamento de pod. Isso entra em vigor apenas quando DeployAcrossNodes e DeployAcrossZones são 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

Não

O número do pacote de compilação para o EDAS Container:

  • Se você não precisar alterar a versão do EDAS Container durante a implantação, poderá deixar este parâmetro indefinido.

  • Para atualizar a versão do EDAS Container da aplicação de destino durante esta implantação, você deve definir este parâmetro.

Você pode obter o número de duas maneiras:

  • Chame a operação ListBuildPack para consultar a lista de versões do contêiner. Para mais informações, consulte ListBuildPack.

  • Obtenha-o na coluna Número do Pacote de Compilação na tabela Guia de versões. Por exemplo, 59 indica EDAS Container 3.5.8.

59

Annotations

string

Não

As anotações para o pod da aplicação.

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

Labels

string

Não

Os rótulos para o pod da aplicação.

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

EnableEmptyPushReject

boolean

Não

Especifica se deve ativar a proteção contra push vazio:

  • true: Ativar a proteção contra push vazio.

  • false: Não ativar a proteção contra push vazio.

false

EnableLosslessRule

boolean

Não

Especifica se deve ativar a regra de inicialização graceful:

  • true: Ativar a regra de inicialização graceful.

  • false: Não ativar a regra de inicialização graceful.

true

LosslessRuleWarmupTime

integer

Não

A duração do prefetch do serviço. Unidade: segundos. O valor varia de 0 a 86400.

120

LosslessRuleDelayTime

integer

Não

A latência de registro do serviço. Unidade: segundos. O valor varia de 0 a 86400.

0

LosslessRuleFuncType

integer

Não

A curva de prefetch do serviço. O valor varia de 0 a 20. O padrão é 2, o que é adequado para cenários gerais de prefetch. Isso indica que a curva de recebimento de tráfego do provedor de serviços segue uma curva quadrática durante o período de prefetch.

2

LosslessRuleAligned

boolean

Não

Especifica se deve ativar o modo de implantação rolling graceful para concluir o registro do serviço antes que a sondagem de prontidão seja bem-sucedida:

  • true: Esta opção fornece uma verificação de integridade para a aplicação na porta 55199 e no caminho /health sem intrusão. Quando o registro do serviço é concluído, a interface retorna 200. Caso contrário, retorna 500.

Nota

Se LosslessRuleRelated também estiver definido como true, esta interface verifica se o prefetch do serviço foi concluído.

  • false: Não fornece uma interface para a aplicação verificar se o registro do serviço foi concluído.

false

LosslessRuleRelated

boolean

Não

Especifica se deve ativar o modo de implantação rolling graceful para concluir o prefetch do serviço antes que a sondagem de prontidão seja bem-sucedida:

  • true: Esta opção fornece uma verificação de integridade para a aplicação na porta 55199 e no caminho /health sem intrusão. Quando o prefetch do serviço é concluído, a interface retorna 200. Caso contrário, retorna 500.

  • false: Não fornece uma interface para a aplicação verificar se o prefetch do serviço foi concluído.

false

LimitEphemeralStorage

integer

Não

O limite superior do requisito de recurso de armazenamento temporário. Unidade: GB. Um valor de 0 significa sem limite.

4

RequestsEphemeralStorage

integer

Não

O requisito mínimo de recurso de armazenamento temporário. Unidade: GB. Um valor de 0 significa sem limite.

2

Sidecars

string

Não

Define um contêiner sidecar para o pod da aplicação. A configuração do contêiner está no formato YAML. O valor é a configuração YAML do contêiner sidecar codificada em base64.

[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg==" } ]

InitContainers

string

Não

Define um contêiner de inicialização para o pod da aplicação. A configuração do contêiner está no formato YAML. O valor é a configuração YAML do contêiner de inicialização codificada em base64.

[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo=" } ]

UserBaseImageUrl

string

Não

Ao usar um tempo de execução JDK personalizado, você deve configurar o endereço da imagem base. Este endereço deve ser acessível publicamente. O servidor EDAS extrai esta imagem para compilar a imagem da aplicação.

openjdk:8u302

CanaryRuleId

string

Não

O ID da política de regra de liberação canary.

a8daf22e-****-968c7ff2ea34

TerminateGracePeriod

integer

Não

O período de tempo limite para parada graceful da aplicação. Unidade: segundos.

120

ImagePlatforms

string

Não

A arquitetura da plataforma de destino para a imagem. Isso é válido ao implantar com um arquivo WAR ou JAR. Exemplos:

  • Para especificar a arquitetura x86-64: `linux/amd64`

  • Para especificar a arquitetura ARM 64: `linux/arm64`

  • Para compilar uma imagem de arquitetura dupla: `linux/amd64,linux/arm64`

  • Se você não inserir um valor, a arquitetura padrão será usada.

linux/arm64,linux/amd64

Startup

string

Não

A sondagem de inicialização pode ser usada para realizar verificações de atividade em contêineres de inicialização lenta para evitar que sejam encerrados antes de estarem prontos e em execução. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}.

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

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

CustomAgentVersion

string

Não

Define a versão do agente personalizado do Application Real-Time Monitoring Service (ARMS) a ser montado na aplicação.

Nota

Este recurso está disponível apenas para usuários na lista de permissões. Para usar este recurso, envie um ticket para ser adicionado à lista de permissões.

3.1.4

SecurityContext

string

Não

Define a propriedade SecurityContext para o contêiner do pod da aplicação. O valor é a configuração YAML do SecurityContext codificada em base64.

{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

O objeto de resposta.

ChangeOrderId

string

O ID do processo de alteração. Você pode chamar a operação GetChangeOrderInfo para obtê-lo. Para mais informações, consulte GetChangeOrderInfo.

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

Code

integer

O status da interface ou um código de erro POP.

200

Message

string

Informações adicionais.

success

RequestId

string

O ID da solicitação.

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

Exemplos

Resposta de sucesso

JSON formato

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

Códigos de erro

Consulte Códigos de ErroCódigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de VersãoNotas de Versão para uma lista completa.