Todos os produtos
Search
Central de documentação

Enterprise Distributed Application Service:InsertK8sApplication

Última atualização: Jun 28, 2026

Cria uma aplicação em um cluster Kubernetes ou em um cluster Serverless Kubernetes.

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:CreateApplication

create

*All Resource

*

Nenhuma Nenhuma

Sintaxe da solicitação

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

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

IntranetTargetPort

integer

Não

A porta de backend da instância SLB voltada para a rede interna. Esta também é a porta de serviço da aplicação. O valor deve estar no intervalo de 1 a 65535.

80

IntranetSlbPort

integer

Não

A porta de frontend da instância SLB voltada para a rede interna. O valor deve estar no intervalo de 1 a 65535.

80

ImageUrl

string

Não

O endereço da imagem. Este parâmetro é obrigatório quando você define PackageType como Image.

registry.cn-beijing.aliyuncs.com/****_test/****-cons****:1.0

ApplicationDescription

string

Não

A descrição da aplicação.

Production Environment

RepoId

string

Não

O ID do repositório de imagens.

ced********

Replicas

integer

Não

O número de instâncias da aplicação.

4

LimitCpu

integer

Não

O número máximo de núcleos de CPU que podem ser usados por uma instância da aplicação. Se você especificar LimitmCpu, este parâmetro será ignorado.

4

LimitMem

integer

Não

A quantidade máxima de memória que pode ser usada por uma instância da aplicação. Unidade: MB. O valor de LimitMem deve ser maior ou igual ao valor de RequestsMem.

2

RequestsCpu

integer

Não

O número de núcleos de CPU solicitados para uma instância da aplicação na criação. Unidade: núcleos. Um valor de 0 significa sem limite. Se você especificar RequestsmCpu, este parâmetro será ignorado.

0

RequestsMem

integer

Não

A quantidade de memória solicitada para uma instância da aplicação na criação. Unidade: MB. Um valor de 0 significa sem limite. O valor de RequestsMem não pode ser maior que o valor de LimitMem.

0

Command

string

Não

O comando de inicialização da aplicação. Se você definir este parâmetro, o comando de inicialização original da imagem será substituído.

ls

CommandArgs

string

Não

Os argumentos para o comando de inicialização. Os argumentos são uma matriz JSON de strings. Exemplo: [{"argument":"-c"},{"argument":"test"}]. Neste exemplo, -c e test são dois argumentos.

[{"argument":"-lh"}]

AppName

string

Sim

O nome da aplicação. O nome deve começar com uma letra e pode conter dígitos, letras e hifens (-). O nome pode ter até 36 caracteres.

doc-test

IntranetSlbProtocol

string

Não

O protocolo usado pela instância SLB voltada para a rede interna. Valores válidos: TCP, HTTP e HTTPS.

TCP

IntranetSlbId

string

Não

O ID da instância SLB voltada para a rede interna. Se você não especificar este parâmetro, o EDAS adquirirá automaticamente uma nova instância SLB para você.

ae93********

ClusterId

string

Sim

O ID do cluster. Você pode chamar a operação ListCluster para consultar o ID do cluster. Para mais informações, consulte ListCluster.

c9cd****

InternetSlbId

string

Não

O ID da instância SLB voltada para a internet. Se você não especificar este parâmetro, o EDAS adquirirá automaticamente uma nova instância SLB para você.

a3d4********

InternetSlbProtocol

string

Não

O protocolo usado pela instância SLB voltada para a internet. Valores válidos: TCP, HTTP e HTTPS.

TCP

InternetSlbPort

integer

Não

A porta de frontend da instância SLB voltada para a internet. O valor deve estar no intervalo de 1 a 65535.

80

InternetTargetPort

integer

Não

A porta de backend da instância SLB interna, que também serve como porta de serviço para a aplicação. O número da porta deve ser um número inteiro de 1 a 65535.

8080

Envs

string

Não

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

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

Você pode usar um ConfigMap para injetar o valor de uma chave específica em uma variável de ambiente do contêiner. O formato é o seguinte:

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

Você pode usar um Secret para injetar o valor de uma chave específica em uma variável 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 valor como uma matriz JSON vazia ([]).

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

PreStop

string

Não

O script que é executado antes que o contêiner seja interrompido. Exemplo: {"tcpSocket":{"host":"", "port":8080}}.

Para limpar esta configuração, defina o valor como "" ou {}. Se você não definir este parâmetro, ele será ignorado.

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

PostStart

string

Não

O script que é executado após o contêiner ser iniciado. Exemplo: {"exec":{"command":["cat","/etc/group"]}}.

Para limpar esta configuração, defina o valor como "" ou {}. Se você não definir este parâmetro, ele será ignorado.

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

Liveness

string

Não

A sonda de liveness do contêiner. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}.

Para limpar esta configuração, defina o valor como "" ou {}. Se você não definir este parâmetro, ele será ignorado.

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

Readiness

string

Não

A sonda de readiness do contêiner. Se a verificação falhar, o tráfego não será roteado para o contêiner através do Kubernetes Service. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}.

Para limpar esta configuração, defina o valor como "" ou {}. Se você não definir este parâmetro, ele será ignorado.

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

NasId

string

Não

O ID do sistema de arquivos NAS que você deseja montar. Se você não especificar este parâmetro, mas mountDescs for especificado, um novo sistema de arquivos NAS será adquirido automaticamente e montado em um vSwitch na VPC.

dfs23****

MountDescs

string

Não

A descrição da configuração de montagem. O valor é uma string JSON serializada. Exemplo: [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]. nasPath especifica o caminho de armazenamento do arquivo. mountPath especifica o caminho no qual o sistema de arquivos é montado no contêiner.

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

  • Sistemas de arquivos NAS de uso geral: Capacity e Performance

  • Sistemas de arquivos NAS extremos: 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"}]. Os seguintes parâmetros estão incluídos:

  • nodePath: o caminho no host.

  • mountPath: o caminho no contêiner.

  • type: o tipo de montagem.

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

Namespace

string

Não

O namespace do cluster Kubernetes. Este parâmetro determina o namespace do Kubernetes no qual sua aplicação será implantada. O valor padrão é default.

default

LogicalRegionId

string

Não

O ID do namespace do EDAS. Este parâmetro é obrigatório se você deseja usar um namespace não padrão.

cn-shenzhen:beta****

PackageType

string

Não

O tipo do pacote da aplicação. Valores válidos: FatJar, WAR e Image.

WAR

PackageUrl

string

Não

A URL do pacote de implantação. Este parâmetro é obrigatório para aplicações implantadas usando um pacote FatJar ou WAR.

Nota

A versão do SDK da API POP do EDAS para Java ou Python deve ser 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

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

20200720

JDK

string

Não

A versão do Java Development Kit (JDK) da qual o pacote de implantação depende. Valores válidos: Open JDK 7, Open JDK 8 e Custom OpenJDK. Este parâmetro não é suportado para implantações baseadas em imagem. Se você selecionar Custom OpenJDK, também deverá especificar o parâmetro UserBaseImageUrl.

Open JDK 8

WebContainer

string

Não

A versão do contêiner Tomcat da qual o pacote de implantação depende. Este parâmetro é aplicável a aplicações Spring Cloud e Dubbo implantadas usando um pacote WAR. Este parâmetro 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.

Nota

Este parâmetro não é suportado para implantações baseadas em imagem.

3.5.9

UriEncoding

string

Não

O esquema de codificação URI. Valores válidos: ISO-8859-1, GBK, GB2312 e UTF-8.

Nota

Se você não definir este parâmetro para a 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 para a aplicação, o valor padrão false será usado.

false

RequestsmCpu

integer

Não

O número de núcleos de CPU solicitados para uma instância da aplicação na criação. Unidade: milicores.

500

LimitmCpu

integer

Não

O número máximo de núcleos de CPU que podem ser usados por uma instância da aplicação. Unidade: milicores. Um valor de 0 significa sem limite.

1000

RuntimeClassName

string

Não

O tipo de runtime do contêiner. Este parâmetro é aplicável apenas a clusters que usam contêineres em sandbox.

runc

DeployAcrossZones

string

Não

Especifica se deve distribuir instâncias da aplicação para múltiplas zonas. Um valor de true significa sim. Outros valores significam não.

true

Timeout

integer

Não

O período de tempo limite para o processo de alteração. Unidade: segundos. O valor deve estar no intervalo de 1 a 1800. Se você não especificar este parâmetro, o valor padrão 1800 será usado.

60

EnableAhas

boolean

Não

Especifica se deve ativar o Application High Availability Service (AHAS):

  • true: Ativar o AHAS.

  • false: Não ativar o AHAS.

true

WebContainerConfig

string

Não

A configuração do contêiner Tomcat. Para limpar a configuração, defina o valor como "" ou "{}":

  • useDefaultConfig: Especifica se deve usar a configuração padrão. Se você definir este parâmetro como true, a configuração personalizada não será usada. Se você definir este parâmetro como false, a configuração personalizada será usada. Se você não usar a configuração personalizada, as seguintes configurações de parâmetros não terão efeito.

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

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

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

    • custom: Você deve especificar um caminho personalizado no parâmetro contextPath.

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

  • httpPort: O número da porta. O valor deve estar no intervalo 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 especificar este parâmetro, a porta padrão 8080 será usada.

  • maxThreads: O 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. Configure este parâmetro com a ajuda de um 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 especificar este parâmetro, o valor padrão ISO-8859-1 será usado.

  • useBodyEncoding: Especifica se deve usar BodyEncoding para URLs.

  • useAdvancedServerXml: Especifica se deve usar configurações avançadas para personalizar o arquivo server.xml. Se os tipos de parâmetros anteriores e parâmetros específicos não puderem atender aos seus requisitos, você pode usar configurações avançadas para editar diretamente o arquivo server.xml do Tomcat.

  • serverXml: O conteúdo do arquivo server.xml que é personalizado nas configurações avançadas. Este parâmetro só tem efeito quando useAdvancedServerXml é definido como 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 parâmetros de inicialização para uma aplicação Java. Você pode configurar memória, aplicação, política de coleta de lixo (GC), ferramentas, registro e descoberta de serviços, e parâmetros personalizados. A configuração adequada de parâmetros ajuda a reduzir a sobrecarga de GC, encurtar o tempo de resposta do servidor e melhorar a taxa de transferência. O valor é uma string JSON. original especifica o valor da configuração, e startup especifica 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. Para limpar a configuração, defina o valor como "" ou "{}". As chaves na string JSON são descritas da seguinte forma:

  • InitialHeapSize: o tamanho inicial do heap.

  • MaxHeapSize: o tamanho máximo do heap.

  • CustomParams: conteúdo personalizado, como parâmetros JVM -D.

  • Outras chaves: Você pode visualizar a estrutura JSON enviada pelo frontend.

{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"},"CustomParams":{"original":"-Dcustom.property.sample=false","startup":"-Dcustom.property.sample=false"}}

SlsConfigs

string

Não

A configuração do Logstore. Para limpar a configuração, defina o valor como "" ou "{}":

  • Configs:

    • type: O tipo de coleta. file indica o tipo de arquivo. stdout indica 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 e atenda às seguintes convenções de nomenclatura:

      • O nome pode conter apenas letras minúsculas, dígitos, hifens (-) e underscores (_).

      • O nome deve começar e terminar com uma letra minúscula ou um dígito.

      • O nome deve ter de 3 a 63 caracteres. Se você deixar este parâmetro vazio, o sistema gerará automaticamente um nome.

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

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

IsMultilingualApp

boolean

Não

Especifica se a aplicação é uma aplicação multilíngue.

true

DeployAcrossNodes

string

Não

Especifica se deve distribuir instâncias da aplicação para múltiplos nós. Um valor de true significa sim. Outros valores significam não.

true

PvcMountDescs

string

Não

A configuração para montar um Kubernetes PersistentVolumeClaim (PVC). Você pode montar um volume PVC do Kubernetes em um diretório especificado em um contêiner. Os seguintes parâmetros estão incluídos em PvcMountDescs:

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

  • mountPaths: A lista de diretórios de montagem. Você pode configurar múltiplos diretórios de montagem. Cada diretório de montagem suporta dois parâmetros.

    • mountPath: O caminho de montagem. O caminho deve ser um caminho absoluto que começa com uma barra (/).

    • readOnly: O modo de montagem. true especifica o modo somente leitura. false especifica o modo de leitura e gravação. Valor padrão: false.

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

ConfigMountDescs

string

Não

A configuração para montar ConfigMaps e Secrets do Kubernetes. Você pode montar ConfigMaps e Secrets em diretórios especificados em um contêiner. Os seguintes parâmetros estão incluídos em ConfigMountDescs:

  • name: O nome do ConfigMap ou Secret.

  • type: O tipo de configuração. Valores válidos: ConfigMap e Secret.

  • mountPath: O caminho de montagem. O caminho deve ser um caminho absoluto que começa com uma barra (/).

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

CsClusterId

string

Não

Você deve especificar CsClusterId apenas quando criar uma aplicação em um cluster que nunca foi importado.

abcdefg

EnableAsm

boolean

Não

Você deve definir este parâmetro como true apenas quando criar uma aplicação em um cluster que nunca foi importado e ativar o Service Mesh (ASM).

false

EnvFroms

string

Não

A configuração para variáveis de ambiente do tipo Kubernetes EnvFrom. Você pode montar um ConfigMap ou Secret especificado em um diretório especificado. Cada chave corresponde a um arquivo no diretório. O conteúdo do arquivo é o valor da chave.

Os seguintes parâmetros estão incluídos em EnvFroms:

  • configMapRef: A referência ao ConfigMap. Este campo inclui o seguinte parâmetro:

    • name: O nome do ConfigMap.

  • secretRef: A referência ao 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

A configuração para montar um volume emptyDir do Kubernetes. Você pode montar um volume emptyDir em um diretório especificado em um contêiner. Os seguintes parâmetros estão incluídos em EmptyDirs:

  • mountPath: O caminho de montagem no contêiner. Este parâmetro é obrigatório.

  • readOnly: Especifica se o volume é somente leitura. Este parâmetro é opcional. true especifica somente leitura. false especifica leitura e gravação. Valor padrão: false.

  • subPathExpr: A expressão do subdiretório. Este parâmetro é opcional.

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

BuildPackId

string

Não

A versão do EDAS Container. Este parâmetro entra em conflito com EdasContainerVersion. Use o parâmetro EdasContainerVersion em seu lugar.

-1

CustomAffinity

string

Não

A afinidade personalizada.

demo

CustomTolerations

string

Não

As tolerâncias personalizadas.

demo

ResourceGroupId

string

Não

O ID do grupo de recursos.

461

Annotations

string

Não

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

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

Labels

string

Não

Os labels do 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 pushes vazios:

  • true: Ativar a proteção contra pushes vazios.

  • false: Não ativar a proteção contra pushes vazios.

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 warm-up do serviço. Unidade: segundos. O valor deve estar no intervalo de 0 a 86400.

120

LosslessRuleDelayTime

integer

Não

O atraso do registro de serviço. Unidade: segundos. O valor deve estar no intervalo de 0 a 86400.

0

LosslessRuleFuncType

integer

Não

A curva de warm-up do serviço. O valor deve estar no intervalo de 0 a 20. Valor padrão: 2. Este valor é adequado para cenários normais de warm-up e indica que o tráfego que o provedor de serviço recebe segue uma curva quadrática durante o período de warm-up.

2

LosslessRuleAligned

boolean

Não

Especifica se deve ativar o modo de implantação rolling graceful no qual o registro de serviço é concluído antes que a sonda de readiness seja aprovada:

  • true: Uma URL de verificação de integridade é fornecida para a aplicação na porta 55199. O caminho é /health. A URL retorna 200 após o serviço ser registrado. Caso contrário, a URL retorna 500.

    Nota

    Se você também definir LosslessRuleRelated como true, esta URL será usada para verificar se o warm-up do serviço foi concluído.

  • false: Uma URL não é fornecida para a aplicação verificar se o serviço está registrado.

false

LosslessRuleRelated

boolean

Não

Especifica se deve ativar o modo de implantação rolling graceful no qual o warm-up do serviço é concluído antes que a sonda de readiness seja aprovada:

  • true: Uma URL de verificação de integridade é fornecida para a aplicação na porta 55199. O caminho é /health. A URL retorna 200 após o warm-up do serviço ser concluído. Caso contrário, a URL retorna 500.

  • false: Uma URL não é fornecida para a aplicação verificar se o warm-up do serviço foi concluído.

false

ServiceConfigs

string

Não

A configuração do Kubernetes Service.

[{"name": "test-svc-create","serviceType":"ClusterIP","portMappings":[{"servicePort": {"targetPort":8080,"port":80,"protocol":"TCP"}}]}]

AppTemplateName

string

Não

O nome do modelo de aplicação usado para criar a aplicação. Se você especificar um modelo de aplicação ao criar a aplicação, o modelo de aplicação e o parâmetro AppConfig serão usados preferencialmente para determinar a configuração da aplicação. Outras configurações são ignoradas.

app-template001

AppConfig

string

Não

A configuração da aplicação quando um modelo de aplicação é usado. O valor é uma string JSON.

{}

LimitEphemeralStorage

integer

Não

O armazenamento efêmero máximo. Unidade: GB. Um valor de 0 significa sem limite.

4

RequestsEphemeralStorage

integer

Não

O armazenamento efêmero mínimo. Unidade: GB. Um valor de 0 significa sem limite.

2

SecretName

string

Não

O nome do secret de pull de imagem. Você deve criar o secret.

edas-app-01-image-secret

ContainerRegistryId

string

Não

O ID do repositório usado para construir o repositório de imagens. Se você deixar este parâmetro vazio, o repositório padrão fornecido pelo EDAS será usado. Atualmente, apenas o repositório padrão fornecido pelo EDAS é suportado.

leave empty

WorkloadType

string

Não

O tipo de workload. Atualmente, apenas deployments são suportados.

Deployment

Sidecars

string

Não

Os contêineres sidecar para o pod da aplicação. Você pode definir a configuração do contêiner no formato YAML. O valor é a configuração YAML do contêiner sidecar codificada em Base64.

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

InitContainers

string

Não

Os contêineres de inicialização para o pod da aplicação. Você pode definir a configuração do contêiner no formato YAML. O valor é a configuração YAML do contêiner de inicialização codificada em Base64.

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

UserBaseImageUrl

string

Não

Se você usar um runtime JDK personalizado, deverá configurar o endereço da imagem base. O endereço deve ser acessível pela internet. O servidor EDAS faz o pull da imagem para construir uma imagem de aplicação.

openjdk:8u302

TerminateGracePeriod

integer

Não

O período de tempo limite para uma parada graceful. Unidade: segundos.

120

ImagePlatforms

string

Não

A arquitetura da plataforma de imagem. Este parâmetro é válido quando você usa um pacote WAR ou JAR para implantação. Exemplos:

  • Para especificar a arquitetura x86-64, insira linux/amd64.

  • Para especificar a arquitetura ARM64, insira linux/arm64.

  • Para construir uma imagem de arquitetura dupla, insira 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 sonda de inicialização. Você pode usar uma sonda de inicialização para verificar a integridade de um contêiner de inicialização lenta e evitar que o contêiner seja encerrado antes de ser iniciado. Exemplo: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}.

Para limpar esta configuração, defina o valor como "" ou {}. Se você não definir este parâmetro, ele será ignorado.

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

FeatureConfig

string

Não

A configuração da solução personalizada de monitoramento e administração.

{"features":[{"name":"base.combination.arms","enable":true},{"name":"base.combination.mse","enable":true}]}

CustomAgentVersion

string

Não

A versão do agente.

2.8.3,3.2.10,4.3.1

SecurityContext

string

Não

O atributo 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

A resposta à solicitação.

Code

integer

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

200

Message

string

As informações adicionais.

success

RequestId

string

O ID da solicitação.

b197-40ab-9155-****

ApplicationInfo

object

Os detalhes da aplicação.

ChangeOrderId

string

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

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

AppName

string

O nome da aplicação.

test

Dockerize

boolean

Indica se a aplicação é uma aplicação Docker.

  • true: A aplicação é uma aplicação Docker.

  • false: A aplicação não é uma aplicação Docker.

true

Owner

string

O proprietário da aplicação.

zp

EdasId

string

O ID da conta de usuário.

1172****6608****

ClusterType

integer

O tipo de cluster no qual a aplicação está implantada.

  • 0: cluster Docker regular.

  • 1: cluster Swarm (descontinuado).

  • 2: cluster ECS.

  • 3: cluster Kubernetes autogerenciado no EDAS (descontinuado).

  • 4: cluster para aplicações que são registradas automaticamente no Pandora.

  • 5: clusters Kubernetes e clusters Serverless Kubernetes.

5

AppId

string

O ID da aplicação. Você pode chamar a operação ListApplication para consultar o ID da aplicação. Para mais informações, consulte ListApplication.

e83acea6-****-47e1-96ae-c0e95377****

UserId

string

A conta Alibaba Cloud usada para criar a aplicação.

edas_test****@aliyun****.com

RegionId

string

O ID da região.

cn-beijing

Exemplos

Resposta de sucesso

JSON formato

{
  "Code": 200,
  "Message": "success",
  "RequestId": "b197-40ab-9155-****",
  "ApplicationInfo": {
    "ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",
    "AppName": "test",
    "Dockerize": true,
    "Owner": "zp",
    "EdasId": "1172****6608****",
    "ClusterType": 5,
    "AppId": "e83acea6-****-47e1-96ae-c0e95377****",
    "UserId": "edas_test****@aliyun****.com",
    "RegionId": "cn-beijing"
  }
}

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.