Todos los productos
Search
Centro de documentos

Enterprise Distributed Application Service:Deploy a Java application to an ACK cluster with a JAR or WAR package

Última actualización: Sep 03, 2026

Si necesita ejecutar aplicaciones Java en Kubernetes sin administrar directamente la infraestructura del clúster, Enterprise Distributed Application Service (EDAS) ofrece una gestión completa del ciclo de vida sobre Container Service for Kubernetes (ACK). En lugar de compilar imágenes de contenedor y escribir manifiestos de Kubernetes manualmente, cargue un paquete JAR o WAR y EDAS se encargará de la containerization y el despliegue.

Este tema describe cómo crear un clúster ACK, importarlo a EDAS y desplegar una aplicación Java mediante un paquete JAR o WAR de demostración.

Flujo de trabajo

Paso

Tarea

Descripción

1

Requisitos previos

Active EDAS y ACK, cree un namespace de microservices y asigne los roles obligatorios

2

Crear un clúster ACK

Cree un clúster administrado de Kubernetes en la consola de ACK

3

Importar el clúster a EDAS

Sincronice e importe el clúster para que EDAS pueda gestionar los despliegues

4

Desplegar la aplicación

Configure y despliegue una aplicación Java con un paquete JAR o WAR

5

Verificar el despliegue

Compruebe que los pods se estén ejecutando

6

Pasos siguientes

Exponga la aplicación a través de un load balancer

Procedure for deploying an application in an ACK cluster

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

Paso 1: Crear un clúster ACK

Inicie sesión en la consola de ACK y cree un clúster administrado de Kubernetes. Para obtener instrucciones, consulte Crear un clúster administrado de Kubernetes.

Para crear un clúster ACK Serverless compatible con Alibaba Cloud Service Mesh (ASM) después de importarlo a EDAS, establezca VPC en Create VPC y Service Discovery en PrivateZone . Si configura VPC como Select Existing VPC , compruebe que el clúster cuente con recursos de VPC y vSwitch después de su creación. Para más detalles, consulte Crear un clúster ACK Serverless .

Paso 2: Importar el clúster ACK a EDAS

Al importar un clúster ACK, EDAS instala automáticamente los siguientes componentes:

Componente

Propósito

ack-ahas-sentinel-pilot

Protección de aplicaciones (limitación de tráfico y degradación)

ack-arms-pilot

Agente de Application Real-Time Monitoring Service (ARMS)

ack-arms-prometheus

Agente de monitoreo Prometheus

Para importar el clúster:

  1. Inicie sesión en la consola de EDAS. En el panel de navegación izquierdo, seleccione Resource Management > Container Service Kubernetes Clusters.

  2. En la barra de navegación superior, seleccione la región donde reside su clúster ACK y luego haga clic en Synchronize Container Service Kubernetes Cluster.

  3. Localice el clúster sincronizado y haga clic en Import en la columna Actions.

  4. En el cuadro de diálogo Precheck for Import, haga clic en Continue.

  5. En el cuadro de diálogo Import Kubernetes Cluster, seleccione un namespace de microservices en la lista desplegable Microservice Namespace. Active o desactive Service Mesh según sus necesidades y luego haga clic en Import.

La importación se completa cuando el clúster muestra Running en la columna Cluster Status y Imported en la columna Import Status.

Paso 3: Desplegar la aplicación

El procedimiento de despliegue es el mismo para paquetes JAR y WAR. Los siguientes pasos utilizan un paquete JAR como ejemplo.

3a. Crear la aplicación

  1. Inicie sesión en la consola de EDAS. En el panel de navegación izquierdo, seleccione Application Management > Applications.

  2. En la barra de navegación superior, seleccione una región. En la parte superior de la página, seleccione un namespace de microservices. En la esquina superior izquierda de la página Applications, haga clic en Create Application.

3b. Configurar la información básica

En el paso Basic Information, configure los siguientes parámetros y luego haga clic en Next.

Parámetro

Descripción

Cluster Type

Seleccione Kubernetes Clusters.

Application Source Type

Seleccione Default.

Hosted Applications

Seleccione el lenguaje de programación. Elija Java para este ejemplo. Para aplicaciones PHP o multilenguaje, consulte Compilar aplicaciones PHP desde el código fuente y desplegarlas en clústeres ACK.

Select Application

Seleccione un entorno de ejecución según el tipo de aplicación. Consulte las opciones a continuación.

Opciones de entorno de ejecución:

Opción

Caso de uso

Parámetros configurables

Java

Desplegar una aplicación Dubbo o Spring Boot con un paquete JAR universal

Java Environment

Tomcat

Desplegar una aplicación Dubbo o Spring con un paquete WAR universal

Java Environment, Container Version

EDAS-Container (HSF)

Desplegar una aplicación High-Speed Service Framework (HSF) con un paquete WAR o FatJar

Java Environment, Pandora Version, Ali-Tomcat Version

Para despliegues basados en imágenes, consulte Usar una imagen para desplegar una aplicación de microservices Java en un clúster de Kubernetes.

OpenJDK 17 es compatible con Dubbo 2.7.14 y versiones posteriores, o Dubbo 3.0.6 y versiones posteriores. Consulte la matriz de compatibilidad a continuación.

3c. Configurar el despliegue

En el paso Configurations, defina el entorno, el método de despliegue y los parámetros de recursos; luego haga clic en Next.

Configuración de entorno y clúster

Parámetro

Descripción

Microservice Namespace

Seleccione el namespace que creó. Si no se especifica, se usa Default de forma predeterminada. Para crear uno nuevo, haga clic en Create Microservice Namespace. Consulte la sección "Crear un namespace" en Gestionar namespaces de microservices.

Cluster

Seleccione el clúster ACK importado. Si aún no lo ha importado, elija This cluster is used for the first time in EDAS para importarlo durante la creación de la aplicación. Después, verifique si Alibaba Cloud Service Mesh está activado. La primera importación requiere tiempo adicional.

K8s Namespace

Seleccione un namespace de Kubernetes para el aislamiento de recursos. Opciones: default (se usa si no se especifica otro), kube-system (objetos creados por el sistema), kube-public (legible por todos los usuarios, incluidos los no autenticados). Para crear un namespace personalizado, haga clic en Create Kubernetes Namespace. El nombre debe tener entre 1 y 63 caracteres: letras minúsculas, dígitos y guiones (-), y debe comenzar y terminar con una letra o un dígito.

El clúster y la aplicación no necesitan pertenecer al mismo namespace de microservices.

Configuración de la aplicación

Parámetro

Descripción

Application Name

Debe comenzar con una letra. Puede contener letras, dígitos y guiones (-), hasta 36 caracteres.

Application Description

Opcional. Hasta 128 caracteres.

Paquete de despliegue

Parámetro

Descripción

Source of Deployment Package

Elija una de las siguientes opciones:

  • Custom Program: Cargue un paquete JAR o proporcione una URL del paquete.

    • Upload JAR Package: Seleccione y cargue un paquete local.

    • JAR Package Address: Introduzca la URL de su paquete de despliegue.

  • Official Demo: Seleccione un tipo de aplicación de demostración: Spring Cloud Server Application, Spring Cloud Client Application, Dubbo Server Application o Dubbo Client Application.

Registro de contenedores (solo clústeres ACK)

El parámetro Container Registry Repository Type solo está disponible para aplicaciones Java, Tomcat o EDAS-Container (HSF) en clústeres ACK. No está disponible para clústeres ACK Serverless.

Antes de usar un registro de contenedores, asegúrese de que:

Seleccione Container Registry Personal Edition o Container Registry Enterprise Edition para almacenar la imagen compilada. La tarea de compilación de la imagen se ejecuta en su clúster con las siguientes reglas de programación:

Etiqueta o taint de nodo

Comportamiento

edas.image.build=disable (etiqueta)

EDAS no programa tareas de compilación en estos nodos

edas.image.build=enable (etiqueta)

EDAS prefiere programar tareas de compilación en estos nodos, pero también puede usar nodos sin etiqueta

key=edas.image.build, effect=NoSchedule (taint)

Las tareas de compilación pueden tolerar este taint

Para evitar que las tareas de compilación se ejecuten en nodos específicos, agregue la etiqueta edas.image.build=disable. Para crear un nodo dedicado a compilaciones, agregue tanto la etiqueta edas.image.build=enable como el taint key=edas.image.build, effect=NoSchedule.

El límite predeterminado de recursos para una sola tarea de compilación de imagen es de 1 GB por núcleo. Para ajustar este límite, consulte ¿Cómo ajusto los límites de recursos para la compilación de imágenes?

Parámetros de Container Registry Enterprise Edition:

Parámetro

Descripción

Region of Container Registry

Seleccione la región de su imagen de Container Registry.

Container Registry

Seleccione su imagen de contenedor.

Image Repository Namespace

Seleccione un namespace o haga clic en + Create Namespace para crear uno nuevo.

Configuración de recursos y tiempo de ejecución

Parámetro

Descripción

Version

Especifique un número de versión personalizado o haga clic en Use Timestamp as Version Number para generar uno automáticamente.

Time Zone

Seleccione la zona horaria de la aplicación.

OpenJDK Base Image

Disponible solo cuando Java Environment se establece en Custom OpenJDK en el paso de información básica. Configure el origen de la imagen: Si establece Alibaba Cloud Container Registry en Current Account, configure los parámetros Region, Container Registry, Image Repository Namespace y Image Repository Name, y seleccione una versión de imagen. Si lo establece en Other Alibaba Cloud Accounts, especifique la Full Image Address. Solo se admiten JDK 7 y JDK 8. Usar una versión diferente de JDK puede causar excepciones en la función de monitoreo de aplicaciones. El servidor de EDAS extrae la imagen base para compilar una imagen de aplicación. Asegúrese de que la imagen base tenga permisos públicos de extracción.

Total Pods

Número de pods a desplegar. El máximo depende de la capacidad del clúster.

Single-pod Resource Quota

Límites de CPU, memoria y almacenamiento efímero por pod. Un valor de 0 significa sin límite. Los valores máximos dependen de la capacidad del clúster.

3d. Configurar ajustes avanzados (opcional)

En el paso Advanced Settings, configure cualquiera de los siguientes elementos según sea necesario:

3e. Iniciar el despliegue

  1. Haga clic en Create Application. En el paso Creation Completed, haga clic nuevamente en Create Application.

  2. En el cuadro de diálogo Confirm Application Change Precheck, haga clic en Start Precheck.

  3. Revise los resultados de la comprobación previa y haga clic en Continue. Si modificó algún elemento de la comprobación, haga clic en Check Again antes de continuar.

Verificar el despliegue

El despliegue tarda varios minutos. Para supervisar el progreso y confirmar que fue exitoso:

  1. Vaya a la página Change List para rastrear el estado del despliegue en tiempo real.

  2. Una vez finalizado el despliegue, vaya a Application Management > Applications y abra su aplicación. En la página Application Overview, revise el estado de los pods.

  3. Si todos los pods muestran un estado running, el despliegue se completó correctamente. Haga clic en el estado del pod para consultar Deployments, pods y detalles de configuración avanzada de cada instancia de la aplicación.

Pasos siguientes

Después de desplegar la aplicación, vincule una instancia de Classic Load Balancer (CLB) para exponerla:

  • Acceso desde Internet: Agregue una instancia de CLB orientada a Internet para que los usuarios externos puedan acceder a la aplicación a través de la red pública.

  • Acceso interno: Agregue una instancia de CLB orientada al interior para que otros servicios en la misma Virtual Private Cloud (VPC) puedan acceder a la aplicación.

Para obtener instrucciones, consulte Vincular instancias de CLB o Reutilizar una instancia de CLB.

Contáctenos

Si tiene preguntas o sugerencias sobre el uso de Container Service for Kubernetes (ACK) y clústeres Serverless Kubernetes en EDAS, puede unirse al grupo de DingTalk buscando el ID 23197114 en DingTalk.