Inicio rápido: implementación de un archivo de artefacto en Azure Container Apps (versión preliminar)
En este inicio rápido, aprenderá a implementar una aplicación de contenedor desde un archivo de artefacto pregenerado. En el ejemplo siguiente se implementa una aplicación Java mediante un archivo JAR, que incluye un archivo de manifiesto específico de Java. Su trabajo consiste en crear un servicio de API web de back-end que devuelva una colección estática de álbumes de música. Después de completar este inicio rápido, puede continuar con Comunicación entre microservicios para aprender a implementar una aplicación de front-end que llama a la API.
En la captura de pantalla siguiente, se muestra la salida del servicio de la API de álbumes que implementaste.
Requisitos previos
Requisito | Instructions |
---|---|
Cuenta de Azure | Si no tiene ninguna cuenta, cree una gratuita. Necesita el permiso Colaborador o Propietario en la suscripción de Azure para continuar. Consulte Asignación de roles de Azure mediante Azure Portal para obtener más información. |
Cuenta de GitHub | Obtenga una gratis. |
git | Instalación de git |
Azure CLI | Instale la CLI de Azure. |
Java | Instale el JDK, se recomienda la versión 17 o posterior. |
Maven | Instalar el Maven. |
Instalación
Para iniciar sesión en Azure desde la CLI, ejecute el siguiente comando y siga las indicaciones para completar el proceso de autenticación.
az login
Para asegurarse de que ejecuta la versión más reciente de la CLI, ejecute el comando de actualización.
az upgrade
Luego, instale o actualice la extensión de Azure Container Apps para la CLI.
Si recibe errores sobre los parámetros que faltan al ejecutar az containerapp
comandos en la CLI de Azure o cmdlets del Az.App
módulo en Azure PowerShell, asegúrese de que tiene instalada la versión más reciente de la extensión Azure Container Apps.
az extension add --name containerapp --upgrade
Nota:
A partir de mayo de 2024, las extensiones de la CLI de Azure ya no habilitan las características en versión preliminar de forma predeterminada. Para acceder a las características de la versión preliminar de Container Apps, instale la extensión Container Apps con --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Ahora que la extensión o módulo actualizado está instalado, registre los espacios de nombre Microsoft.App
y Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Creación de variables de entorno
Ahora que la configuración de la CLI de Azure está completa, puede definir las variables de entorno que se usan en este artículo.
Defina las siguientes variables en el shell de Bash.
RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
SUBSCRIPTION=<YOUR_SUBSCRIPTION_ID>
Si es necesario, puede consultar su Id. de suscripción.
az account list --output table
Preparación del repositorio de GitHub
Comience clonando el repositorio de muestras.
Use el siguiente comando git para clonar la aplicación de muestra en la carpeta código a nube:
git clone https://github.com/azure-samples/containerapps-albumapi-java code-to-cloud
cd code-to-cloud
Compilación de un archivo JAR
Nota:
La muestra Java solo admite una compilación Maven, que da como resultado un archivo ejecutable JAR. La compilación usa la configuración predeterminada, ya que no se admite el paso de variables de entorno.
Compile el proyecto con Maven.
mvn clean package -DskipTests
Ejecución del proyecto de forma local
java -jar target\containerapps-albumapi-java-0.0.1-SNAPSHOT.jar
Para comprobar que la aplicación se está ejecutando, abra un explorador y vaya a http://localhost:8080/albums
. La página devuelve una lista de los objetos JSON.
Implementación del artefacto
Compile e implemente la primera aplicación contenedora desde el archivo JAR local con el comando containerapp up
.
Este comando:
- Crear el grupo de recursos
- Crea un Azure Container Registry
- Compila la imagen de contenedor e insértela en el registro
- Crea el entorno de Container Apps con un área de trabajo de Log Analytics
- Crear e implementa la aplicación contenedora mediante una imagen de contenedor pública
El comando up
usa el archivo de Docker en la raíz del repositorio para compilar la imagen del contenedor. La instrucciónEXPOSE
en el archivo de Docker define el puerto de destino. Sin embargo, no se necesita un archivo Docker para crear una aplicación de contenedor.
Nota:
Nota: Cuando se usa containerapp up
en combinación con una base de código sin Docker, use el parámetro --location
para que la aplicación se ejecute en una ubicación distinta a la de Este de EE. UU.
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--artifact ./target/containerapps-albumapi-java-0.0.1-SNAPSHOT.jar \
--ingress external \
--target-port 8080 \
--subscription $SUBSCRIPTION
Comprobación de la implementación
Copie el FQDN en un explorador web. En el explorador web, vaya al punto de conexión /albums
del FQDN.
Implementación de un archivo WAR
También puede implementar la aplicación contenedora desde un archivo WAR.
Limpieza de recursos
Si no va a seguir usando esta aplicación, puede eliminar la instancia de Azure Container Apps y todos los servicios asociados quitando el grupo de recursos.
Siga estos pasos para quitar los recursos que ha creado:
az group delete \
--resource-group $RESOURCE_GROUP
Sugerencia
¿Tiene problemas? Háganoslo saber en GitHub abriendo una incidencia en el repositorio de Azure Container Apps.