Share via


Tutorial: Compilación e implementación de la aplicación en Azure Container Apps

En este artículo se muestra cómo compilar e implementar un microservicio en Azure Container Apps desde un repositorio de origen mediante el lenguaje de programación que prefiera.

Este tutorial es el primero de una serie de artículos que le guiarán por el uso de funcionalidades principales de Azure Container Apps. El primer paso es crear un servicio de API web de back-end que devuelva una colección estática de álbumes de música.

Nota

También puede compilar e implementar esta aplicación mediante az containerapp up siguiendo las instrucciones del artículo Inicio rápido: Compilación e implementación de una aplicación en Azure Container Apps desde un repositorio. El comando az containerapp up es una manera rápida y cómoda de compilar e implementar la aplicación en Azure Container Apps mediante un único comando. Sin embargo, no proporciona el mismo nivel de personalización para la aplicación contenedora.

El siguiente tutorial de la serie compilará e implementará la aplicación web de front-end en Azure Container Apps.

En la captura de pantalla siguiente se muestra la salida de la API de álbum implementada en este tutorial.

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.
Cuenta de GitHub Regístrese gratis.
git Instalación de git
Azure CLI Instale la CLI de Azure.
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 Regístrese gratis.
git Instalación de git
Azure CLI Instale la CLI de Azure.
Docker Desktop Docker dispone de instaladores que configuran el entorno de Docker en macOS, Windows y Linux.

En el símbolo del sistema, escriba docker para asegurarse de que Docker se está ejecutando.

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 asegurar 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.

az extension add --name containerapp --upgrade

Ahora que la extensión o módulo actual 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.

RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"

Antes de ejecutar este comando, asegúrese de reemplazar <YOUR_GITHUB_USERNAME> por el nombre de usuario de GitHub.

A continuación, defina un nombre de registro de contenedor único.

ACR_NAME="acaalbums"$GITHUB_USERNAME

Preparación del repositorio de GitHub

Vaya al repositorio para el idioma que prefiera y bifurque el repositorio.

Seleccione el botón Bifurcar situado en la parte superior del repositorio de API de álbum para bifurcar el repositorio en su cuenta.

Ahora puede clonar la bifurcación del repositorio de ejemplo.

Use el siguiente comando git para clonar el repositorio bifurcado en la carpeta de código a nube:

git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud

A continuación, cambie el directorio a la raíz del repositorio clonado.

cd code-to-cloud/src

Creación de un grupo de recursos de Azure

Cree un grupo de recursos para organizar los servicios relacionados con la implementación de la aplicación contenedora.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Creación de una instancia de Azure Container Registry

Una vez creada la imagen de contenedor de la API de álbum, cree una instancia de Azure Container Registry (ACR) en el grupo de recursos para almacenarla.

az acr create \
  --resource-group $RESOURCE_GROUP \
  --name $ACR_NAME \
  --sku Basic \
  --admin-enabled true

Compilación de la aplicación

Con las tareas de ACR, puede compilar e insertar la imagen de Docker para la API de álbum sin instalar Docker localmente.

Compilación del contenedor con ACR

Ejecute el comando siguiente para iniciar el proceso de compilación e inserción de imágenes mediante ACR. El elemento . al final del comando representa el contexto de compilación de Docker, lo que significa que este comando se debe ejecutar dentro de la carpeta src donde se encuentra el Dockerfile.

az acr build --registry $ACR_NAME --image $API_NAME .

La salida del comando az acr build muestra el progreso de carga del código fuente en Azure y los detalles de las operaciones docker build y docker push.

Compilación de la aplicación

En los pasos siguientes se muestra cómo compilar la imagen de contenedor localmente mediante Docker e insertar la imagen en el nuevo registro de contenedor.

Compilación del contenedor con Docker

El siguiente comando compila una imagen de contenedor para la API de álbum y la etiqueta con el nombre completo del servidor de inicio de sesión de ACR. El elemento . al final del comando representa el contexto de compilación de Docker, lo que significa que este comando se debe ejecutar dentro de la carpeta src donde se encuentra el Dockerfile.

docker build --tag $ACR_NAME.azurecr.io/$API_NAME .

Inserción de la imagen en el registro de contenedor

Primero, inicie sesión en su instancia de Azure Container Registry.

az acr login --name $ACR_NAME

A continuación, inserte la imagen en el registro.

docker push $ACR_NAME.azurecr.io/$API_NAME

Creación de un entorno de Container Apps

El entorno de Azure Container Apps actúa como un límite seguro alrededor de un grupo de aplicaciones de contenedor.

Cree el entorno de Container Apps mediante el siguiente comando.

az containerapp env create \
  --name $ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION"

Implementación de la imagen en una aplicación contenedora

Ahora que ha creado un entorno, puede crear e implementar la aplicación contenedora con el comando az containerapp create.

Cree e implemente la aplicación contenedora con el siguiente comando.

az containerapp create \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --environment $ENVIRONMENT \
  --image $ACR_NAME.azurecr.io/$API_NAME \
  --target-port 8080 \
  --ingress 'external' \
  --registry-server $ACR_NAME.azurecr.io \
  --query properties.configuration.ingress.fqdn
  • Al establecer --ingress en external, la aplicación contenedora será accesible desde la red pública de Internet.

  • target-port se establece en 8080 para que coincida con el puerto en el que el contenedor está procesando solicitudes.

  • Sin una propiedad query, la llamada a az containerapp create devuelve una respuesta JSON que incluye un amplio conjunto de detalles sobre la aplicación. Al agregar un parámetro de consulta, se filtra la salida solo al nombre de dominio completo (FQDN) de la aplicación.

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.

Limpieza de recursos

Si no va a continuar con el tutorial Comunicación entre microservicios, puede quitar los recursos de Azure creados durante este inicio rápido. Ejecute el siguiente comando para eliminar el grupo de recursos junto con todos los recursos que creó en este inicio rápido.

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

Este inicio rápido es el punto de entrada de un conjunto de tutoriales progresivos que muestran las distintas características de Azure Container Apps. Continúe para obtener información sobre cómo habilitar la comunicación desde un front-end web que llama a la API que implementó en este artículo.