Snabbstart: Använda Azure App Configuration i Azure Container Apps
I den här snabbstarten använder du Azure App Configuration i en app som körs i Azure Container Apps. På så sätt kan du centralisera lagringen och hanteringen av konfigurationen av dina appar i Container Apps. Den här snabbstarten använder ASP.NET Core-appen som skapades i snabbstarten: Skapa en ASP.NET Core-app med App Configuration. Du kommer att containerisera appen och distribuera den till Azure Container Apps. Slutför snabbstarten innan du fortsätter.
Dricks
När du följer den här snabbstarten bör du helst registrera alla nya resurser i en enskild resursgrupp, så att du kan gruppera om dem på en enda plats och ta bort dem snabbare senare om du inte behöver dem längre.
Förutsättningar
- Ett program som använder ett App Configuration Store. Om du inte har någon skapar du en instans med snabbstarten : Skapa en ASP.NET Core-app med App Configuration.
- En Azure Container Apps-instans. Om du inte har någon skapar du en instans med hjälp av Azure Portal eller CLI.
- Docker Desktop
- Azure CLI
Ansluta Azure App Configuration till containerappen
I Azure Portal navigerar du till containerappinstansen. Följ snabbstarten för Service Connector för Azure Container Apps för att skapa en tjänstanslutning till appkonfigurationsarkivet med hjälp av inställningarna nedan.
På fliken Grundläggande :
På fliken Autentisering :
- välj Anslutningssträngsautentiseringstyp och Skrivskyddad för "Behörigheter för anslutningssträng
- expandera menyn Avancerat . I konfigurationsinformationen bör det finnas en miljövariabel som redan har skapats med namnet "AZURE_APPCONFIGURATION_CONNECTIONSTRING". Redigera miljövariabeln genom att välja ikonen till höger och ändra namnet till ConnectionStrings__AppConfig. Vi måste göra den här ändringen eftersom ConnectionStrings__AppConfig är namnet på miljövariabeln som programmet som är inbyggt i snabbstarten ASP.NET Core letar efter. Det här är miljövariabeln som innehåller anslutningssträng för App Configuration. Om du har använt ett annat program för att följa den här snabbstarten använder du motsvarande miljövariabelnamn. Markera sedan Klar.
Använd standardvärden för allt annat.
När det är klart läggs en miljövariabel med namnet ConnectionStrings__AppConfig till i containern för din containerapp. Dess värde är en referens till Container App-hemligheten, anslutningssträng i appkonfigurationsarkivet.
Skapa en container
Kör kommandot dotnet publish för att skapa appen i versionsläge och skapa tillgångarna i den publicerade mappen.
dotnet publish -c Release -o published
Skapa en fil med namnet Dockerfile i katalogen som innehåller .csproj-filen, öppna den i en textredigerare och ange följande innehåll. En Dockerfile är en textfil som inte har något tillägg och som används för att skapa en containeravbildning.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime WORKDIR /app COPY published/ ./ ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
Skapa containern genom att köra följande kommando.
docker build --tag aspnetapp .
Skapa en Azure Container Registry-instans
Skapa en ACR (Azure Container Registry). Med ACR kan du skapa, lagra och hantera containeravbildningar.
- Följ snabbstarten för Azure Container Registry för att skapa containerregistret.
- När distributionen är klar öppnar du ACR-instansen och väljer Inställningar > Åtkomstnycklar i den vänstra menyn.
- Anteckna värdet för inloggningsservern som anges på den här sidan. Du använder den här informationen i ett senare steg.
- Växla Administratörsanvändare till Aktiverad. Med det här alternativet kan du ansluta ACR till Azure Container Apps med autentiseringsuppgifter för administratörsanvändare. Du kan också låta den vara inaktiverad och konfigurera containerappen så att den hämtar avbildningar från registret med en hanterad identitet.
Skicka avbildningen till Azure Container Registry
Push-överför Docker-avbildningen till den ACR som skapades tidigare.
Kör kommandot az acr login för att logga in i registret.
az acr login --name myregistry
Kommandot returnerar
Login Succeeded
när inloggningen har slutförts.Använd docker-taggen för att tagga avbildningen med lämplig information.
docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
Dricks
Om du vill granska listan över dina befintliga Docker-avbildningar och taggar kör du
docker image ls
. I det här scenariot bör du se minst två bilder:aspnetapp
ochmyregistry.azurecr.io/aspnetapp
.Använd docker-push för att skicka avbildningen till containerregistret. Det här exemplet skapar aspnetapp-lagringsplatsen i ACR som innehåller avbildningen
aspnetapp
. I exemplet nedan ersätter du platshållarna<login-server
och<image-name>
<tag>
med ACR:s inloggningsservervärde, avbildningsnamnet och avbildningstaggen.Metod:
docker push <login-server>/<image-name>:<tag>
Exempel:
docker push myregistry.azurecr.io/aspnetapp:v1
Öppna Azure Container Registry i Azure Portal och bekräfta att du kan se din nya lagringsplats under Lagringsplatser.
Lägga till containeravbildningen i Azure Container Apps
Uppdatera containerappen för att läsa in containeravbildningen från din ACR.
Öppna din Azure Container Apps-instans i Azure Portal.
I den vänstra menyn, under Program, väljer du Containrar.
Välj Redigera och distribuera.
Under Containeravbildning klickar du på namnet på den befintliga containeravbildningen.
Uppdatera följande inställningar:
Inställning Föreslaget värde beskrivning Bildkälla Azure Container Registry Välj Azure Container Registry som avbildningskälla. Autentisering Administratörsautentiseringsuppgifter Använd alternativet för administratörsanvändarens autentiseringsuppgifter som aktiverades tidigare i containerregistret. Om du inte har aktiverat administratörsanvändaren men konfigurerat att använda en hanterad identitet måste du manuellt ange avbildningen och tagga i formuläret. Register myregistry.azurecr.io Välj det Azure Container Registry som du skapade tidigare. Bild aspnetapp Välj den docker-avbildning som du skapade och push-överförde till ACR tidigare. Bildtagg v1 Välj din bildtagg i listan. Välj Spara och sedan Skapa för att distribuera uppdateringen till Azure Container App.
Bläddra till URL:en för Azure Container App
I Azure Portal går du till fliken Översikt i Azure Container Apps-instansen och öppnar program-URL:en.
Webbsidan ser ut så här:
Rensa resurser
Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.
Viktigt!
Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.
- Logga in på Azure Portal och välj Resursgrupper.
- I rutan Filtrera efter namn anger du namnet på resursgruppen.
- I resultatlistan väljer du resursgruppens namn för att se en översikt.
- Välj Ta bort resursgrupp.
- Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.
Efter en liten stund tas resursgruppen och alla dess resurser bort.
Nästa steg
I den här snabbstarten kommer du att göra följande:
- Ansluten Azure App Configuration till Azure Container Apps
- Använde Docker för att skapa en containeravbildning från en ASP.NET Core-app med appkonfigurationsinställningar
- Skapade en Azure Container Registry-instans
- Push-överförde avbildningen till Azure Container Registry-instansen
- Containeravbildningen har lagts till i Azure Container Apps
- Bläddrade till URL:en för Azure Container Apps-instansen som uppdaterats med de inställningar som du konfigurerade i appkonfigurationsarkivet.
Med den hanterade identiteten kan en Azure-resurs komma åt en annan utan att du har några hemligheter. Du kan effektivisera åtkomsten från Container Apps till andra Azure-resurser. Mer information finns i hur du får åtkomst till App Configuration med hjälp av den hanterade identiteten och hur du [får åtkomst till Container Registry med hjälp av den hanterade identiteten].
Om du vill lära dig hur du konfigurerar din ASP.NET Core-webbapp för att dynamiskt uppdatera konfigurationsinställningarna fortsätter du till nästa självstudie.