Todos os produtos
Search
Central de documentação

Enterprise Distributed Application Service:Deploy a Java application in an ACK Serverless cluster using a JAR or WAR package

Última atualização: Jul 02, 2026

Os clusters ACK Serverless escalam sob demanda sem gerenciamento de nós, o que os torna ideais para cargas de trabalho com tráfego variável. O Enterprise Distributed Application Service (EDAS) integra-se ao Container Service for Kubernetes (ACK) para gerenciar todo o ciclo de vida de aplicações conteinerizadas nesses clusters.

Este tutorial orienta você na implantação de uma aplicação Java em um cluster ACK Serverless usando um pacote JAR ou WAR de demonstração fornecido pelo EDAS.

A implantação segue três fases:

  1. Crie um cluster ACK Serverless no console do ACK.

  2. Importe o cluster para o EDAS para que o serviço gerencie as aplicações nele.

  3. Implante uma aplicação usando um pacote JAR ou WAR por meio do console do EDAS.

Procedure of deploying an application in a Kubernetes cluster

Caso já tenha um cluster ACK Serverless, pule para a Etapa 2: Importar o cluster para o EDAS. Se o cluster já estiver importado, vá diretamente para a Etapa 3: Implantar a aplicação.

Pré-requisitos

Antes de começar, certifique-se de ter:

Etapa 1: Criar um cluster ACK Serverless

Faça login no console do ACK e crie um cluster ACK Serverless. Para obter instruções, consulte Criar um cluster ASK.

Etapa 2: Importar o cluster para o EDAS

Ao importar um cluster ACK, o EDAS instala automaticamente os seguintes componentes:

Componente

Finalidade

ack-ahas-sentinel-pilot

Proteção contra limitação de taxa e degradação

ack-arms-pilot

Agente do Application Real-Time Monitoring Service (ARMS)

ack-arms-prometheus

Monitoramento Prometheus

Para importar o cluster:

  1. Faça login no console do EDAS. No painel de navegação à esquerda, escolha Resource Management > Serverless Kubernetes Clusters.

  2. Na barra de navegação superior, selecione a região e o namespace de microsserviços onde reside seu cluster ACK Serverless. Clique em Synchronize Serverless Kubernetes Cluster.

  3. Localize o cluster desejado e clique em Import na coluna Actions.

  4. Na mensagem de Warning, clique em OK.

  5. Na caixa de diálogo Precheck for Import, clique em Continue.

  6. Na caixa de diálogo Import Kubernetes Cluster, selecione um namespace de microsserviços na lista suspensa Microservice Namespace, ative ou desative o Service Mesh conforme necessário e clique em Import.

Verificar a importação

Após a conclusão da importação, confirme se a coluna Cluster Status exibe Running e se a coluna Import Status mostra Imported.

Etapa 3: Implantar a aplicação

Esta etapa abrange a criação de uma aplicação e sua implantação com um pacote JAR ou WAR. O processo geral é idêntico para ambos os tipos de pacote. A única diferença está na seleção do ambiente de execução:

Tipo de pacote

Ambiente de execução

Parâmetros configuráveis

JAR

Java (Dubbo ou Spring Boot)

Java Environment

WAR

Tomcat (Dubbo ou Spring)

Java Environment, Container Version

WAR ou FatJar

EDAS-Container (HSF) (High-Speed Service Framework)

Java Environment, Pandora Version, Ali-Tomcat Version

Os passos a seguir usam um pacote JAR como exemplo. Para implantar um pacote WAR, selecione Tomcat ou EDAS-Container (HSF) em vez de Java na etapa Basic Information.

3a. Criar uma aplicação

  1. Faça login no console do EDAS. No painel de navegação à esquerda, escolha Application Management > Applications.

  2. Na barra de navegação superior, selecione uma região e um namespace de microsserviços. Clique em Create Application.

3b. Configurar informações básicas

Na etapa Basic Information, configure os parâmetros abaixo e clique em Next.

Parâmetro

Descrição

Cluster Type

Selecione Kubernetes Clusters.

Application Source Type

Escolha Default.

Hosted Applications

Defina a linguagem de programação. Este tutorial usa Java. Para implantar uma aplicação PHP ou multilíngue, consulte Criar aplicações PHP a partir do código-fonte e implantá-las em clusters ACK.

Select Application

Escolha o ambiente de execução conforme o tipo de aplicação e o pacote de implantação. Consulte a tabela de opções de execução acima. Para implantar usando uma imagem, veja Usar uma imagem para implantar uma aplicação de microsserviços Java em um cluster Kubernetes.

Compatibilidade com OpenJDK 17

O OpenJDK 17 é compatível com Dubbo 2.7.14 ou posterior e Dubbo 3.0.6 ou posterior. A tabela a seguir lista as combinações de versões testadas.

Versão do Dubbo

Versão do Spring Boot

Versão do cliente Nacos

Chamada de API

Monitoramento ARMS

Lista de serviços

2.7.14

2.7.9

1.4.4

Suportado

Suportado

Suportado

2.7.14

2.7.9

2.1.2

Suportado

Suportado

Suportado

2.7.14

2.7.9

2.2.0

Suportado

Suportado

Suportado

2.7.22

2.7.9

1.4.4

Suportado

Suportado

Suportado

2.7.22

2.7.9

2.1.2

Suportado

Suportado

Suportado

2.7.22

2.7.9

2.2.0

Suportado

Suportado

Suportado

3.0.6

2.7.9

1.4.4

Suportado

Suportado

Suportado

3.0.6

2.7.9

2.1.2

Suportado

Suportado

Suportado

3.0.6

2.7.9

2.2.0

Suportado

Suportado

Suportado

3.1.7

2.7.9

1.4.4

Suportado

Suportado

Suportado

3.1.7

2.7.9

2.1.2

Suportado

Suportado

Suportado

3.1.7

2.7.9

2.2.0

Suportado

Suportado

Suportado

3c. Configurar definições de implantação

Na etapa Configurations, ajuste os parâmetros seguintes e clique em Next.

Definições de ambiente e cluster:

Parâmetro

Descrição

Microservice Namespace

Selecione o namespace de microsserviços criado. O valor padrão é Default caso nenhum seja escolhido. Para criar um novo, clique em Create Microservice Namespace. Consulte a seção "Criar um namespace" em Gerenciar namespaces de microsserviços.

Cluster

Escolha o cluster ACK Serverless importado. Se o cluster ainda não foi importado para o EDAS, marque This cluster is used for the first time in EDAS para importá-lo durante a criação da aplicação. Não é necessário que o cluster pertença ao mesmo namespace de microsserviços da aplicação.

K8s Namespace

Defina o namespace Kubernetes. Valores válidos: default, kube-system, kube-public. Selecione default para este tutorial. Para criar um namespace personalizado, clique em Create Kubernetes Namespace e insira um nome (1-63 caracteres; letras minúsculas, dígitos e hifens; deve começar e terminar com letra ou dígito).

Definições da aplicação:

Parâmetro

Descrição

Application Name

Insira um nome (até 36 caracteres; inicia com letra; permite letras, dígitos e hifens).

Application Description

Opcional. Até 128 caracteres.

Pacote de implantação:

Parâmetro

Descrição

Source of Deployment Package

Escolha uma fonte de implantação.

  • Custom Program: Faça upload do seu próprio pacote. Defina File Uploading Method como Upload JAR Package (upload direto) ou JAR Package Address (forneça uma URL).

  • Official Demo: Escolha uma demonstração pré-construída: Spring Cloud Server Application, Spring Cloud Client Application, Dubbo Server Application ou Dubbo Client Application.

Definições de versão e recursos:

Parâmetro

Descrição

Version

Insira um número de versão ou clique em Use Timestamp as Version Number para gerar um automaticamente.

Time Zone

Selecione o fuso horário da aplicação.

Total Pods

Defina a quantidade de pods para a aplicação. O máximo depende da capacidade do cluster.

Single-pod Resource Quota

Estabeleça limites de CPU, memória e armazenamento efêmero por pod. O valor padrão 0 indica ausência de limite. As cotas máximas variam conforme a capacidade do cluster.

Configurações da imagem base OpenJDK

O parâmetro OpenJDK Base Image aparece apenas se você tiver selecionado Custom OpenJDK para Java Environment na etapa Basic Information.

Configure a origem da imagem base:

  • Current Account: Especifique Region, Container Registry, Image Repository Namespace e Image Repository Name.

  • Other Alibaba Cloud Accounts: Informe o Full Image Address para um repositório público.

Importante

Somente JDK 7 e JDK 8 são suportados. O servidor EDAS baixa a imagem base para construir a imagem da aplicação; portanto, a imagem base deve ter permissões públicas de pull.

Configurações do Container Registry (apenas clusters ACK)

O parâmetro Container Registry Repository Type está disponível somente para aplicações Java, Tomcat ou EDAS-Container (HSF) implantadas em clusters ACK. Ele não se aplica a clusters ACK Serverless.

Parâmetro

Descrição

Container Registry Repository Type

Escolha Container Registry Personal Edition ou Container Registry Enterprise Edition para armazenar a imagem construída. O componente aliyun-acr-credential-helper é obrigatório. Consulte Usar o componente aliyun-acr-credential-helper para fazer pull de imagens sem secrets. Para a Enterprise Edition, configure primeiro o acesso via VPC. Veja Configurar acesso via VPCs.

Region of Container Registry

Obrigatório apenas para a Enterprise Edition. Selecione a região da sua imagem no Container Registry (ACR).

Container Registry

Obrigatório apenas para a Enterprise Edition. Escolha sua imagem de contêiner.

Image Repository Namespace

Selecione o namespace do repositório de imagens ou clique em + Create Namespace para criar um novo.

As tarefas de construção de imagem são executadas no seu cluster e consomem recursos dele. O limite padrão de recursos para uma única tarefa de construção é de 1 GB por núcleo. Para ajustar esse limite, consulte Ajustar limites de recursos para construção de imagens.

Regras de agendamento de tarefas de construção:

Regra

Comportamento

Exclusão

O EDAS não agenda tarefas de construção em nós rotulados com edas.image.build=disable.

Preferência

O sistema prioriza nós rotulados com edas.image.build=enable para tarefas de construção, mas também pode usar nós sem rótulo.

Tolerância

As tarefas de construção toleram nós com a taint key=edas.image.build, effect=NoSchedule.

Dica: Para dedicar um nó exclusivamente a tarefas de construção, adicione o rótulo edas.image.build=enable e a taint key=edas.image.build, effect=NoSchedule . Isso impede que outros pods sejam agendados nesse nó.

3d. Configurar definições avançadas (opcional)

Na etapa Advanced Settings, configure os itens abaixo conforme necessário:

3e. Criar e implantar

  1. Após configurar todas as definições, clique em Create Application. Na etapa Creation Completed, clique novamente em Create Application.

  2. Na caixa de diálogo Confirm Application Change Precheck, clique em Start Precheck.

  3. Revise os resultados da verificação prévia e clique em Continue. Caso tenha modificado algum item da verificação, clique em Check Again antes de prosseguir.

Verificar a implantação

A implantação leva alguns minutos. Acompanhe o progresso na página Change List.

Quando a implantação for concluída, acesse Application Overview e verifique o status dos pods:

  • Se todos os pods exibirem running, a aplicação foi implantada com sucesso.

  • Clique no status de execução de um pod para visualizar seus Deployments, detalhes do pod e configurações avançadas.

Caso os pods não atinjam o estado running, verifique os eventos e logs do pod na página Application Overview para identificar o problema.

Expor a aplicação com um balanceador de carga

Após implantar a aplicação, adicione uma instância de Server Load Balancer (SLB) para expô-la:

Tipo de SLB

Caso de uso

Voltado para a Internet

Expõe a aplicação à Internet

Voltado para rede interna

Disponibiliza a aplicação para todos os nós na mesma VPC via rede interna

Para obter instruções, consulte Adicionar uma instância SLB a uma aplicação em um cluster Kubernetes.

Suporte

Para dúvidas sobre clusters ACK ou ACK Serverless no EDAS, envie um ticket ou participe do grupo DingTalk 23197114.