Alibaba Cloud Toolkit es un plugin para IntelliJ IDEA que permite desplegar aplicaciones directamente en Enterprise Distributed Application Service (EDAS) sin salir del entorno de desarrollo integrado. Una vez desarrollada y probada la aplicación de forma local, utilice este plugin para desplegarla en un clúster de Container Service for Kubernetes (ACK) administrado por EDAS.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Java Development Kit (JDK) 1.8 o una versión posterior
IntelliJ IDEA 2018.3 o una versión posterior
Una aplicación desplegada en un clúster de ACK. Para consultar las instrucciones de configuración, consulte Use an image to deploy a Java microservices application in a Kubernetes cluster
Un par de AccessKey (AccessKey ID y AccessKey secret) correspondiente a su cuenta de Alibaba Cloud o a un usuario de Resource Access Management (RAM) con permisos de despliegue en EDAS
El servidor de plugins de JetBrains se encuentra fuera de China continental. Si no logra descargar el plugin debido a una respuesta lenta de la red, únase al grupo de DingTalk indicado al final de este tema para obtener el paquete de instalación sin conexión del soporte técnico de Alibaba Cloud Toolkit.
Si utiliza un usuario de RAM, dicho usuario debe estar sincronizado con EDAS y autorizado para desplegar aplicaciones. Consulte Authorize a RAM user for EDAS para ver las instrucciones de configuración.
Paso 1: Instalación de Alibaba Cloud Toolkit
Abra IntelliJ IDEA.
-
Abra la configuración del plugin:
macOS: Seleccione IntelliJ IDEA > Preferences > Plugins.
Windows: Seleccione File > Settings > Plugins.
En el cuadro de búsqueda, introduzca Alibaba Cloud Toolkit y haga clic en el icono de búsqueda.
-
Haga clic en Install.


Reinicie IntelliJ IDEA. Tras el reinicio, el icono de Alibaba Cloud Toolkit
aparecerá en la barra de herramientas.
Si ya tiene instalado el plugin, actualícelo a la versión más reciente desde la misma página de configuración de Plugins .
Paso 2: Configuración de su cuenta de Alibaba Cloud
Configure su par de AccessKey para que el plugin pueda acceder a EDAS en su nombre.
En IntelliJ IDEA, seleccione Tools > Alibaba Cloud > Preferences.
En el panel de navegación izquierdo, seleccione Alibaba Cloud Toolkit > Accounts.
-
Introduzca su Access Key ID y su Access Key Secret, y luego haga clic en OK.

Obtención de su par de AccessKey:
Si ya cuenta con una cuenta de Alibaba Cloud, haga clic en Get existing AK/SK en la página Accounts. Inicie sesión y recupere su AccessKey ID y AccessKey secret desde la página de gestión de AccessKey.
Si aún no tiene una cuenta, haga clic en Sign up para crear una y, a continuación, recupere su par de AccessKey.
Si utiliza un usuario de RAM, asegúrese de que esté autorizado para desplegar aplicaciones en EDAS. Consulte Authorize a RAM user for EDAS para obtener más detalles.
Si su servicio EDAS se ejecuta en Apsara Stack Enterprise, configure un endpoint antes de continuar. Consulte Configuración de un endpoint para Apsara Stack Enterprise .
Paso 3: Despliegue de la aplicación
En IntelliJ IDEA, seleccione Tools > Alibaba Cloud > Deploy to EDAS > EDAS for Kubernetes Application. Como alternativa, seleccione Run > Edit Configurations. En el cuadro de diálogo Run/Debug configurations, seleccione Templates > EDAS on Alibaba Cloud > EDAS for Kubernetes Application.
-
En la pestaña Settings del cuadro de diálogo Deploy to EDAS, establezca los siguientes parámetros:
ImportanteSi la aplicación no aparece en la lista, consulte Authorize a RAM user for EDAS.
Parámetro
Descripción
Region
La región donde se despliega la aplicación.
Namespace
El espacio de nombres de microservices donde se despliega la aplicación.
Application
El nombre de la aplicación.

-
Seleccione un método de despliegue:
Método
Descripción
Maven Build
Agrega un trabajo de compilación Maven para generar el paquete de despliegue. Para proyectos multimódulo, consulte Deploy a multi-module project.
Upload File
Carga un paquete WAR o JAR para su despliegue.
Build Image
Compila una imagen de contenedor a partir de un Dockerfile. Establezca el Context Directory, la ruta del Dockerfile y la Version de la imagen.
Select Image
Realiza el despliegue a partir de una imagen de contenedor existente seleccionada en la lista desplegable Select Image.

-
(Opcional) Haga clic en la pestaña Advanced para configurar parámetros adicionales de despliegue. Para obtener información completa sobre los parámetros, consulte la referencia de la API DeployK8sApplication.
Application Environment: Establece el entorno de ejecución. Especifique una nueva PackageVersion cada vez que realice un despliegue.

Startup Command: Especifica el comando y los argumentos que se ejecutarán al iniciar el contenedor.
Environments: Define las variables de entorno para la aplicación.
Persistence: Configura los volúmenes de almacenamiento persistente.

Storage: Configura el almacenamiento local.
-
Application Management: Establece los hooks del ciclo de vida y los sondeos de estado:
Configuración
Descripción
Poststart
Un hook del ciclo de vida del contenedor que se activa tras crear el contenedor. Si el controlador falla, el contenedor se detiene y la política de reinicio determina si debe reiniciarse.
PreStop
Un hook del ciclo de vida del contenedor que se activa antes de eliminar un contenedor. El controlador se ejecuta antes de que la solicitud de eliminación llegue al daemon de Docker. El daemon envía una señal SIGTERM independientemente del resultado del controlador.
Liveness
Un sondeo de estado que verifica el estado de la aplicación. Si esta no funciona correctamente, Kubernetes elimina y vuelve a crear el contenedor.
Readiness
Un sondeo de estado que comprueba si la aplicación se ha iniciado y se ejecuta según lo esperado. Si la aplicación no puede ejecutarse correctamente, se actualiza el estado del contenedor.

Haga clic en Apply y, a continuación, en Run. Revise el registro de despliegue en la pestaña Console de IntelliJ IDEA para comprobar el resultado.
Despliegue de un proyecto multimódulo
En proyectos Maven multimódulo, el último trabajo de Maven en la sección Before launch debe compilar el submódulo que desea desplegar.
Ejemplo: El proyecto CarShop tiene la siguiente estructura:
carshop
├── itemcenter-api
├── itemcenter
├── detail
Tanto itemcenter como detail dependen de itemcenter-api. Para desplegar el submódulo itemcenter, agregue estos dos trabajos de Maven a la sección Before launch:
Ejecute
mvn clean installen el proyecto principalCarShop.Ejecute
mvn clean packageen el submóduloitemcenter.
Gestión de trabajos de compilación Maven
En el cuadro de diálogo Deploy to EDAS, la sección Before launch permite crear, eliminar, modificar y reordenar los trabajos de compilación Maven.

En el cuadro de diálogo Select Maven Goal, haga clic en el icono de carpeta junto al campo Working directory para seleccionar un módulo y, a continuación, introduzca el comando de compilación en el campo Command line.

Autorización de un usuario de RAM para EDAS
Si un usuario de RAM no visualiza las aplicaciones en la lista de despliegue, significa que no está sincronizado con EDAS o carece de los permisos necesarios. Elija uno de los siguientes métodos para otorgarle acceso.
Solución A: Otorgar acceso completo a EDAS mediante la consola de RAM
Este método concede al usuario de RAM acceso a todos los recursos de EDAS.
En la consola de RAM, seleccione Identities > Users.
Localice al usuario de RAM y haga clic en Add Permissions.
En la sección Select Policy, busque y seleccione la política AliyunEDASFullAccess, y luego haga clic en OK.
Revise el resumen de autorización y haga clic en Complete.
Inicie sesión en la consola de EDASconsola de EDAS con su cuenta de Alibaba Cloud. Seleccione System Management > RAM User y, a continuación, haga clic en Synchronize RAM User.
Solución B: Otorgar acceso detallado a EDAS mediante la consola de EDAS
Este método concede al usuario de RAM permisos únicamente sobre aplicaciones específicas.
Inicie sesión en la consola de EDASconsola de EDAS con su cuenta de Alibaba Cloud.
Seleccione System Management > Roles y haga clic en Create Role.
Introduzca un nombre de rol en el campo Role. En Optional Permissions, seleccione Applications > Basic Information > Deploy Application, haga clic en Add y, a continuación, en OK.
Seleccione System Management > RAM User y haga clic en Synchronize RAM User.
Localice al usuario de RAM y haga clic en Manage Roles. Busque el rol que creó, selecciónelo, agréguelo a la sección Selected y haga clic en OK.
Haga clic en Applications Authorized para el mismo usuario de RAM. Busque la aplicación, selecciónela, agréguela a la sección Selected y haga clic en OK.
Configuración de un endpoint para Apsara Stack Enterprise
Si su servicio EDAS se ejecuta en Apsara Stack Enterprise, configure un endpoint en Alibaba Cloud Toolkit antes de realizar el despliegue. Póngase en contacto con el soporte técnico de EDAS para obtener el valor del endpoint.
En el cuadro de diálogo Preference (Filtered), seleccione Appearance & Behavior > Endpoint.
Introduzca el valor del endpoint y haga clic en Apply and Close.
Comentarios
Si tiene alguna pregunta al utilizar la herramienta para desplegar aplicaciones, únase al grupo de DingTalk (ID del grupo de DingTalk: 34556175) para consultar con los expertos técnicos.