Tutorial: Implementación en Azure Container Apps mediante Visual Studio

Azure Container Apps permite ejecutar microservicios y aplicaciones contenedorizadas en una plataforma sin servidor. Con Container Apps, puede disfrutar de las ventajas de ejecutar contenedores y, al mismo tiempo, dejar atrás las preocupaciones de configurar manualmente la infraestructura en la nube y orquestadores de contenedores complejos.

En este tutorial, implementará una aplicación en contenedores ASP.NET Core 6.0 en Azure Container Apps mediante Visual Studio. Los pasos siguientes también se aplican a versiones anteriores de ASP.NET Core.

Requisitos previos

  • Se requiere una cuenta de Azure con una suscripción activa. Si no la tiene, puede crear una cuenta gratis.
  • Visual Studio 2022 (versión 17.2 o posterior) está disponible como descarga gratuita.

Creación del proyecto

Comience por crear la aplicación de ASP.NET Core en contenedores que se implementará en Azure.

  1. Dentro de Visual Studio, seleccione Archivo y después elija Nuevo => Proyecto.

  2. En la ventana de diálogo, busque ASP.NET, elija ASP.NET Core Web App (Aplicación web) y seleccione Siguiente.

  3. En el campo Nombre del proyecto, asigne a la aplicación el nombre MyContainerApp y luego seleccione Siguiente.

  4. En la pantalla Información adicional, asegúrese de seleccionar Habilitar Docker y compruebe que Linux está seleccionado para la configuración del sistema operativo Docker. Azure Container Apps no admite actualmente contenedores de Windows. Esta selección garantiza que la plantilla de proyecto admite la contenedorización de forma predeterminada. Mientras está habilitado, el proyecto usa un contenedor mientras se ejecuta o se está creando.

  5. Haga clic enCrear y Visual Studio crea y carga el proyecto.

Captura de pantalla que muestra cómo habilitar Docker.

Implementación en Azure Container Apps

La aplicación incluye un archivo Dockerfile porque la opción Habilitar Docker se seleccionó en la plantilla de proyecto. Visual Studio usa el archivo Dockerfile para compilar la imagen de contenedor que ejecuta Azure Container Apps.

Consulte How Visual Studio builds containerized apps (Cómo crear aplicaciones en contenedores) si desea obtener más información sobre los detalles de este proceso.

Ya está listo para implementar en la aplicación en Azure Containers Apps.

Creación de los recursos

Los cuadros de diálogo de publicación de Visual Studio le ayudarán a elegir los recursos de Azure existentes o a crear otros nuevos en los que se van a implementar las aplicaciones. También compilará la imagen de contenedor mediante Dockerfile en el proyecto, insertará esta imagen en ACR y, por último, implementará la nueva imagen en la aplicación de contenedor seleccionada.

  1. Haga clic con el botón derecho en el nodo de proyecto MyContainerApp y seleccionePublicar.

  2. En el cuadro de diálogo, elija Azure en la lista de opciones de publicación y luego seleccione Siguiente.

    Captura de pantalla que muestra la publicación en Azure.

  3. En la pantalla Destino específico, elija Azure Container Apps (Linux) y después seleccione Siguiente de nuevo.

    Captura de pantalla que muestra Container Apps seleccionada.

  4. A continuación, cree una aplicación Azure Container para hospedar el proyecto. Seleccione el icono de signo más verde de la derecha para abrir el cuadro de diálogo crear. En el cuadro de diálogoCrear nuevo, escriba los valores siguientes:

    • Nombre de la aplicación de contenedor: escriba un nombre de msdocscontainerapp.
    • Nombre de la suscripción: elija la suscripción en la que desea hospedar la aplicación.
    • Grupo de recursos: un grupo de recursos actúa como un contenedor lógico para organizar los recursos relacionados en Azure. Puede seleccionar un grupo de recursos existente o seleccionar Nuevo para crear uno con el nombre que elija, como msdocscontainerapps.
    • Entorno de Container Apps: entorno de Aplicaciones de contenedor: cada aplicación de contenedor debe formar parte de un entorno de aplicación de contenedor. Un entorno proporciona una red aislada para una o varias aplicaciones de contenedor, lo que permite que se invoquen fácilmente entre sí. Haga clic en Nuevo para abrir el cuadro de diálogo Crear nuevo para el entorno de la aplicación contenedora. Deje los valores predeterminados y seleccione Aceptar para cerrar el cuadro de diálogo de entorno.
    • Nombre del contenedor: es el nombre descriptivo del contenedor que se ejecutará para esta aplicación de contenedor. Use el nombre msdocscontainer1 para esta guía de inicio rápido. Normalmente, una aplicación de contenedor ejecuta un único contenedor, pero hay ocasiones en las que se necesita más de un contenedor. Un ejemplo de ello es cuando se requiere un contenedor sidecar para realizar una actividad, como el registro especializado o las comunicaciones.

    Captura de pantalla que muestra cómo crear nuevas Container Apps.

  5. Seleccione Crear para finalizar la creación o la aplicación de contenedor. Visual Studio y Azure crean los recursos necesarios en su nombre. Este proceso puede tardar un par de minutos, así que permita que se ejecute hasta completarse antes de seguir adelante.

  6. Una vez creados los recursos, elija Siguiente.

    Captura de pantalla que muestra cómo seleccionar el recurso creado.

  7. En la pantallaRegistro, puede seleccionar un Registro existente si tiene uno o crear uno nuevo. Para crear uno nuevo, haga clic en el + icono verde de la derecha. En la pantalla Crear nuevo registro, rellene los valores siguientes:

    • Prefijo DNS: escriba un valor de msdocscontainerregistry o un nombre de su elección.
    • Nombre de la suscripción: seleccione la suscripción que desea usar; es posible que solo tenga una para elegir.
    • Grupo de recursos: elija el grupo de recursos msdocs que creó anteriormente.
    • SKU: Seleccione Estándar.
    • Ubicación del Registro: seleccione una región que esté geográficamente cerca de usted.

    Captura de pantalla que muestra cómo crear el registro de contenedor.

  8. Después de rellenar estos valores, seleccione Crear. Visual Studio y Azure tardarán un momento en crear el registro.

  9. Una vez creado el registro de contenedor, asegúrese de que está seleccionado y después elija Finalizar. Visual Studio tardará un momento en crear el perfil de publicación. Este perfil de publicación es donde VS almacena las opciones de publicación y los recursos que eligió para que pueda volver a publicar rápidamente cuando quiera. Puede cerrar el cuadro de diálogo una vez que finalice.

    Captura de pantalla que muestra cómo seleccionar el registro creado.

Publicación de la aplicación mediante Visual Studio

Mientras se crean los recursos y el perfil de publicación, debe publicar e implementar la aplicación en Azure.

Elija Publicar en la esquina superior derecha de la pantalla del perfil de publicación para implementar en la aplicación de contenedor que creó en Azure. Este proceso puede tardar un momento, así que espere a que se complete.

Captura de pantalla que muestra cómo publicar la aplicación.

Cuando la aplicación termina de implementarse, Visual Studio abre un explorador en la dirección URL del sitio implementado. Esta página puede mostrar inicialmente un error si todos los recursos adecuados no han terminado el aprovisionamiento. Puede seguir actualizando el explorador periódicamente para comprobar si la implementación se ha completado por completo.

Captura de pantalla que muestra el sitio publicado.

Publicación de la aplicación mediante Acciones de GitHub

Las aplicaciones de contenedor también se pueden implementar mediante CI/CD a través de acciones GitHub, que son una herramienta eficaz para automatizar, personalizar y ejecutar flujos de trabajo de desarrollo directamente a través del repositorio GitHub de su proyecto.

Si Visual Studio detecta que el proyecto que está publicando se hospeda en GitHub, el flujo de publicación presenta un paso adicional de tipo de implementación. Esta fase permite a los desarrolladores elegir si quieren publicar directamente a través de Visual Studio mediante los pasos mostrados anteriormente en el inicio rápido o a través de un flujo de trabajo de Acciones de GitHub.

Captura de pantalla en la que se muestra la implementación.

Si selecciona el flujo de trabajo de Acciones de GitHub, Visual Studio agregará una carpeta .github al directorio raíz del proyecto, junto con un archivo YAML generado dentro de él. El archivo YAML contiene las configuraciones de Acciones de GitHub para compilar e implementar la aplicación en Azure cada vez que inserte el código.

Después de realizar un cambio e insertar el código, puede ver el progreso del proceso de la compilación e implementación en GitHub, en la pestaña Acciones. En esta página se proporcionan registros e indicadores detallados sobre el progreso y el estado del flujo de trabajo.

Captura de pantalla que muestra la pestaña Acciones de GitHub.

Una vez que vea una marca de verificación verde junto a los trabajos de compilación e implementación, significa que el flujo de trabajo se ha completado. Cuando navega a su sitio de Container Apps, debería ver los cambios más recientes aplicados. Puede encontrar la dirección URL de la aplicación de contenedor siempre que quiera mediante la página Azure Portal.

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 en el Azure Portal para quitar los recursos que ha creado:

  1. Seleccione el grupo de recursos msdocscontainerapps en la sección Información general.
  2. Seleccione el botón Eliminar grupo de recursos en la parte superior de la página del grupo de recursos Información general.
  3. Escriba el nombre del grupo de recursos msdocscontainerapps en el cuadro de diálogo de confirmación ¿Está seguro de que desea eliminar "my-container-apps"?.
  4. Seleccione Eliminar.
    El proceso para eliminar el grupo de recursos puede tardar unos minutos en completarse.

Sugerencia

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

Pasos siguientes