Inicio rápido: Uso de Azure App Configuration en Azure Container Apps
En este inicio rápido, usará Azure App Configuration en una aplicación que se ejecuta en Azure Container Apps. De este modo, puede centralizar el almacenamiento y la administración de la configuración de las aplicaciones en Container Apps. En este inicio rápido se aprovecha la aplicación ASP.NET Core creada en Inicio rápido: Creación de una aplicación de ASP.NET Core con App Configuration. Va a incluir en contenedores la aplicación y la implementará en Azure Container Apps. Complete el inicio rápido antes de continuar.
Sugerencia
A medida que siga este inicio rápido, preferiblemente registre todos los recursos nuevos dentro de un único grupo de recursos para que pueda volver a agruparlos en un solo lugar y eliminarlos más rápido más adelante si ya no los necesita.
Requisitos previos
- Una aplicación que usa un almacén de App Configuration. Si no tiene una, cree una instancia mediante el Inicio rápido: Creación de una aplicación de ASP.NET Core con App Configuration.
- Una instancia de Azure Container Apps. Si no tiene una, cree una instancia mediante el Azure Portal o la CLI.
- Docker Desktop
- La CLI de Azure
Conexión de Azure App Configuration a la aplicación de contenedor
En el Azure Portal, vaya a la instancia de Container App.
Siga el Inicio rápido de Service Connector para Azure Container Apps para crear una conexión de servicio para el almacén de App Configuration mediante la configuración siguiente.
En la pestaña Básica:
En la pestaña Autenticación:
- Seleccione el tipo de autenticación Identidad administrada asignada por el sistema.
- Expanda el menú Opciones avanzadas.
- Asigne a su identidad el rol de Lector de datos de App Configuration.
- En Información de configuración, encontrará una variable de entorno denominada
AZURE_APPCONFIGURATION_ENDPOINT
. Seleccione el icono de lápiz de la derecha y edite el nombre de la variable de entorno para que coincida con el nombre de la variable en la aplicación desde la que carga el punto de conexión de App Configuration. Si ha compilado la aplicación siguiendo el inicio rápido de ASP.NET Core, el nombre de la variable esEndpoints:AppConfiguration
. Al editar el nombre de la variable, reemplace los dos puntos por caracteres de subrayado dobles para que se convierta enEndpoints__AppConfiguration
. Si está trabajando con otra aplicación, escriba el nombre de la variable de entorno correspondiente y seleccione Listo.
Use valores predeterminados para todo lo demás.
Cuando se crea la conexión, se agrega una variable de entorno denominada
Endpoints__AppConfiguration
al contenedor del recurso de la aplicación de contenedor. Su valor es una referencia del secreto de la aplicación de contenedor, el punto de conexión del almacén de App Configuration.
Compilación de un contenedor
Ejecute el comando dotnet publish para compilar la aplicación en modo de versión y crear los recursos en la carpeta publicada.
dotnet publish -c Release -o published
Cree un archivo denominado Dockerfile en el directorio que contiene el archivo .csproj, ábralo en un editor de texto y escriba el siguiente contenido. Un Dockerfile es un archivo de texto que no tiene una extensión y que se usa para crear una imagen de contenedor.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime WORKDIR /app COPY published/ ./ ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
Compile el contenedor ejecutando el siguiente comando.
docker build --tag aspnetapp .
Crear una instancia de Azure Container Registry
Crear una instancia de Azure Container Registry (ACR). ACR permite compilar, almacenar y administrar imágenes de contenedor.
- Para crear el registro de contenedor, siga el Inicio rápido de Azure Container Registry.
- Una vez completada la implementación, abra la instancia de ACR y, en el menú izquierdo, seleccione Configuración > Claves de acceso.
- Tome nota del valor del Servidor de inicio de sesión que aparece en esta página. Usará esta información en un paso posterior.
- Cambie Usuario administrador a Habilitado. Esta opción le permite conectar ACR a Azure Container Apps mediante credenciales de usuario administrador. Como alternativa, puede dejarla deshabilitada y configurar la aplicación de contenedor para extraer imágenes del registro con una identidad administrada.
Inserción de la imagen en Azure Container Registry
Inserte la imagen de Docker en el ACR creado anteriormente.
Después, use el comando az acr login para iniciar sesión en el registro.
az acr login --name myregistry
El comando devuelve
Login Succeeded
una vez que el inicio de sesión es correcto.Use la etiqueta docker para etiquetar los detalles adecuados de la imagen.
docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
Sugerencia
Para revisar la lista de las etiquetas e imágenes de Docker existentes, ejecute
docker image ls
. En este escenario, debería ver al menos dos imágenes:aspnetapp
ymyregistry.azurecr.io/aspnetapp
.Use docker push para insertar la imagen en el registro de contenedor. Este ejemplo crea el repositorio aspnetapp en ACR, que contiene la imagen
aspnetapp
. En el ejemplo siguiente, reemplace los marcadores de posición<login-server
,<image-name>
y<tag>
por el valor del servidor de inicio de sesión de ACR, el nombre de la imagen y la etiqueta de imagen.Método:
docker push <login-server>/<image-name>:<tag>
Ejemplo:
docker push myregistry.azurecr.io/aspnetapp:v1
Abra el Azure Container Registry en el Azure Portal y confirme que, en Repositorios, puede ver el nuevo repositorio.
Incorporación de la imagen de contenedor a Azure Container Apps
Actualice la aplicación de contenedor para cargar la imagen de contenedor desde ACR.
En el Azure Portal, abra la instancia de Azure Container Apps.
En el mení de la izquierda, en Application, seleccione Containers.
Seleccione Editar e implementar.
En Imagen de contenedor, haga clic en el nombre de la imagen de contenedor existente.
Actualice la siguiente configuración:
Configuración Valor sugerido Descripción Origen de la imagen Azure Container Registry Seleccione Azure Container Registry como el origen de la imagen. Authentication Credenciales de administrador Use la opción de credenciales de usuario administrador que se ha habilitado anteriormente en el registro de contenedor. Si no habilita el usuario administrador, pero lo configura para usar una identidad administrada, deberá escribir manualmente la imagen y la etiqueta en el formulario. Registro myregistry.azurecr.io Seleccione el Azure Container Registry que creó anteriormente. Imagen aspnetapp Seleccione la imagen de Docker que creó e insertó en ACR anteriormente. Etiqueta de imagen v1 Seleccione la etiqueta de imagen de la lista. Seleccione Guardar y, a continuación, Crear para implementar la actualización en Azure Container App.
Vaya a la dirección URL de la aplicación de contenedor de Azure
En el Azure Portal, en la instancia de Azure Container Apps, vaya a la pestaña Información general y abra la dirección URL de la aplicación.
La página web tiene este aspecto:
Limpieza de recursos
Si no quiere seguir usando los recursos que se han creado en este artículo, elimine el grupo de recursos que creó aquí para evitar cargos.
Importante
La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente. Asegúrese de que no elimina por accidente el grupo de recursos o los recursos equivocados. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.
- Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
- En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
- En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
- Seleccione Eliminar grupo de recursos.
- Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.
Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.
Contenido relacionado
En esta guía de inicio rápido:
- Conexión de Azure App Configuration a Azure Container Apps
- Se usa Docker para compilar una imagen de contenedor a partir de una aplicación de ASP.NET Core con la configuración de App Configuration
- Se creó una instancia de Azure Container Registry
- Se insertó la imagen en la instancia de Azure Container Registry
- Se agregó la imagen de contenedor a Azure Container Apps
- Vaya a la dirección URL de la instancia de Azure Container Apps actualizada con la configuración que configuró en el almacén de App Configuration.
La identidad administrada permite que un recurso de Azure acceda a otro sin mantener secretos. Puede simplificar el acceso desde Container Apps a otros recursos de Azure. Para obtener más información, consulte cómo acceder a App Configuration mediante la identidad administrada y cómo acceder a Container Registry mediante la identidad administrada.
Para aprender a configurar una aplicación de ASP.NET Core para actualizar dinámicamente la configuración, vaya al siguiente tutorial.