Compartir vía


Inicio rápido: compilación e implementación desde código fuente local a Azure Container Apps

En este artículo, se muestra cómo compilar e implementar un microservicio en Azure Container Apps desde código fuente local mediante el lenguaje de programación que prefiera. En este inicio rápido, creará un servicio de API web de back-end que devuelva una colección estática de álbumes de música.

Nota:

Esta aplicación de ejemplo está disponible en dos versiones. Una versión en la que el origen contiene un Dockerfile. La otra versión no tiene Dockerfile. Seleccione la versión que mejor refleje el código fuente. Si no está familiarizado con los contenedores, seleccione la opción Sin Dockerfile de la parte superior.

En la captura de pantalla siguiente, se muestra la salida del servicio de la API de álbumes que implementaste.

Captura de pantalla de la respuesta del punto de conexión de la API de álbumes.

Requisitos previos

Para completar este proyecto, necesita los siguientes elementos:

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.
CLI de Azure Instale la CLI de Azure.

Configurar

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.

Nota:

Los recursos de Azure Container Apps han migrado desde el espacio de nombres Microsoft.Web al espacio de nombres Microsoft.App. Consulte Migración del espacio de nombres de Microsoft.Web a Microsoft.App marzo de 2022 para obtener más detalles.

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.

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"

Obtener el código de ejemplo

Descargue y extraiga la aplicación de ejemplo de API en el idioma que prefiera.

Descargue el código fuente en la máquina.

Extraiga la descarga y convierta la carpeta en containerapps-albumapi-csharp-main/src.

Descargue el código fuente en la máquina.

Extraiga la descarga y convierta la carpeta en containerapps-albumapi-csharp-buildpack/src.


Creación e implementación de la aplicación contenedora

Compile e implemente la primera aplicación contenedora con el comando containerapp up. Este comando hará lo siguiente:

  • Creación del grupo de recursos
  • Creación de una instancia de Azure Container Registry
  • Compilación de la imagen de contenedor e inserción en el registro
  • Creación de un entorno de Container Apps mediante un área de trabajo de Log Analytics
  • Cree e implemente la aplicación contenedora mediante la imagen de contenedor de la compilación
  • Crear el grupo de recursos
  • Cree un registro predeterminado como parte del entorno
  • Detecte el lenguaje y el tiempo de ejecución de la aplicación y compile la imagen mediante el módulo de compilación adecuado
  • Inserte la imagen en el registro predeterminado de Azure Container Apps
  • Creación de un entorno de Container Apps mediante un área de trabajo de Log Analytics
  • Cree e implemente la aplicación contenedora mediante la imagen de contenedor de la compilación

El comando up usa el Dockerfile en la raíz del repositorio para compilar la imagen del contenedor. La instrucción EXPOSE del Dockerfile definió el puerto de destino, que es el puerto que se usa para enviar tráfico de entrada al contenedor.

Si el comando up no encontrase un Dockerfile, usará automáticamente módulos de compilación para convertir el origen de la aplicación en un contenedor ejecutable. Dado que el módulo de compilación está intentando ejecutar la compilación en su nombre, será necesario indicar al comando up a qué puerto enviar tráfico de entrada.

En el ejemplo de código siguiente, el . (punto) indica a containerapp up que se ejecute en el directorio src de la aplicación API de ejemplo extraída.

az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --source .
az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --ingress external \
  --target-port 8080 \
  --source .

Importante

Para implementar la aplicación contenedora en un grupo de recursos existente, incluya --resource-group yourResourceGroup en el comando containerapp up.

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.

Captura de pantalla de la respuesta del punto de conexión de la API de álbumes.

Límites

El tamaño máximo para cargar el código fuente es de 200 MB. Si la carga supera el límite, se devuelve el error 413.

Limpieza de recursos

Si no va a continuar con el tutorial Implementación de un front-end, puede quitar los recursos de Azure creados durante este inicio rápido con el siguiente comando.

Precaución

El comando siguiente elimina el grupo de recursos especificado y todos los recursos que contiene. Si el grupo contiene recursos fuera del ámbito de este inicio rápido, también se eliminarán.

az group delete --name $RESOURCE_GROUP

Sugerencia

¿Tiene problemas? Háganoslo saber en GitHub abriendo una incidencia en el repositorio de Azure Container Apps.

Pasos siguientes

Después de completar este inicio rápido, puede continuar con Tutorial: Comunicación entre microservicios en Azure Container Apps para aprender a implementar una aplicación de front-end que llama a la API.