Dela via


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 containeriserar appen och distribuerar 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


Ansluta Azure App Configuration till containerappen

  1. I Azure Portal navigerar du till containerappinstansen.

  2. Följ snabbstarten för Service Connector för Azure Container Apps för att skapa en tjänstanslutning för appkonfigurationsarkivet med hjälp av följande inställningar.

    1. På fliken Grundläggande :

      • Under Tjänsttyp väljer du Appkonfiguration

      • Under AppKonfiguration väljer du ditt appkonfigurationsarkiv.

        Skärmbild av Azure-plattformen som visar ett formulär i menyn Service Connector i en containerapp.

    2. På fliken Autentisering :

      • Välj typ av systemtilldelad hanterad identitetsautentisering
      • Expandera menyn Avancerat
      • Tilldela din identitet rollen Dataläsare för appkonfiguration
      • Under Konfigurationsinformation hittar du en miljövariabel med namnet AZURE_APPCONFIGURATION_ENDPOINT. Välj pennikonen till höger och redigera miljövariabelnamnet så att det matchar variabelnamnet i ditt program som du läser in appkonfigurationsslutpunkten från. Om du har skapat programmet efter snabbstarten ASP.NET Core är Endpoints:AppConfigurationvariabelnamnet . När du redigerar variabelnamnet ersätter du kolonet med dubbla understreck så att det blir Endpoints__AppConfiguration. Om du arbetar med ett annat program anger du motsvarande miljövariabelnamn och väljer sedan Klar.
    3. Använd standardvärden för allt annat.

    När anslutningen skapas läggs en miljövariabel med namnet Endpoints__AppConfiguration till i containern för din Container App-resurs. Dess värde är en referens till Container App-hemligheten, slutpunkten för appkonfigurationsarkivet.

Skapa en container

  1. 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
    
  2. 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"]
    
  3. 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.

  1. Följ snabbstarten för Azure Container Registry för att skapa containerregistret.
  2. När distributionen är klar öppnar du ACR-instansen och väljer Inställningar > Åtkomstnycklar i den vänstra menyn.
  3. Anteckna värdet för inloggningsservern som anges på den här sidan. Du använder den här informationen i ett senare steg.
  4. 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.

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

  2. 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 och myregistry.azurecr.io/aspnetapp.

  3. 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-serveroch <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
    
  4. Öppna Azure Container Registry i Azure Portal och bekräfta att du kan se din nya lagringsplats under Lagringsplatser.

    Skärmbild av Azure-plattformen som visar en lagringsplats i Azure Container Registries.

Lägga till containeravbildningen i Azure Container Apps

Uppdatera containerappen för att läsa in containeravbildningen från din ACR.

  1. Öppna din Azure Container Apps-instans i Azure Portal.

  2. I den vänstra menyn, under Program, väljer du Containrar.

  3. Välj Redigera och distribuera.

  4. Under Containeravbildning klickar du på namnet på den befintliga containeravbildningen.

  5. 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.
  6. 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:

Skärmbild av en webbläsare som visar appen som körs.

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.

  1. Logga in på Azure Portal och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. 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.

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 komma åt 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.