Szybki start: używanie Azure App Configuration w usłudze Azure Container Apps

W tym przewodniku Szybki start użyjesz Azure App Configuration w aplikacji działającej w usłudze Azure Container Apps. Dzięki temu można scentralizować magazyn i zarządzanie konfiguracją aplikacji w usłudze Container Apps. Ten przewodnik Szybki start korzysta z aplikacji ASP.NET Core utworzonej w przewodniku Szybki start: tworzenie aplikacji ASP.NET Core przy użyciu App Configuration. Konteneryzujesz aplikację i wdrożysz ją w usłudze Azure Container Apps. Przed kontynuowaniem ukończ przewodnik Szybki start.

Porada

Wykonując czynności opisane w tym przewodniku Szybki start, najlepiej zarejestrować wszystkie nowe zasoby w ramach jednej grupy zasobów, aby można je było ponownie zgrupować w jednym miejscu i usunąć je szybciej później, jeśli nie będą już potrzebne.

Wymagania wstępne


Łączenie Azure App Configuration z aplikacją kontenera

W Azure Portal przejdź do wystąpienia aplikacji kontenera. Postępuj zgodnie z przewodnikiem Szybki start łącznika usług dla usługi Azure Container Apps, aby utworzyć połączenie usługi z magazynem App Configuration przy użyciu poniższych ustawień.

  • Na karcie Podstawy :

    • wybierz App Configuration dla pozycji Typ usługi

    • wybierz sklep App Configuration dla pozycji "App Configuration"

      Zrzut ekranu platformy Azure przedstawiający formularz w menu Łącznik usługi w aplikacji kontenera.

  • Na karcie Uwierzytelnianie :

    • wybierz typ uwierzytelniania parametrów połączenia i tylko do odczytu dla opcji "Uprawnienia dla parametrów połączenia
    • rozwiń menu Zaawansowane . W informacjach o konfiguracji powinna istnieć już zmienna środowiskowa o nazwie "AZURE_APPCONFIGURATION_CONNECTIONSTRING". Edytuj zmienną środowiskową, wybierając ikonę po prawej stronie i zmień nazwę na ConnectionStrings__AppConfig. Musimy wprowadzić tę zmianę, ponieważ ConnectionStrings__AppConfig jest nazwą zmiennej środowiskowej, która będzie szukana przez aplikację wbudowaną w przewodniku Szybki start ASP.NET Core. Jest to zmienna środowiskowa zawierająca parametry połączenia dla App Configuration. Jeśli używasz innej aplikacji do korzystania z tego przewodnika Szybki start, użyj odpowiedniej nazwy zmiennej środowiskowej. Następnie wybierz pozycję Done (Gotowe).
  • Użyj wartości domyślnych dla wszystkich innych elementów.

Po zakończeniu do kontenera aplikacji kontenera zostanie dodana zmienna środowiskowa o nazwie ConnectionStrings__AppConfig . Jego wartość jest odwołaniem do wpisu tajnego aplikacji kontenera, parametrów połączenia magazynu App Configuration.

Tworzenie kontenera

  1. Uruchom polecenie dotnet publish , aby skompilować aplikację w trybie wydania i utworzyć zasoby w opublikowanym folderze.

    dotnet publish -c Release -o published
    
  2. Utwórz plik o nazwie Dockerfile w katalogu zawierającym plik csproj, otwórz go w edytorze tekstów i wprowadź następującą zawartość. Plik Dockerfile to plik tekstowy, który nie ma rozszerzenia i służy do tworzenia obrazu kontenera.

    FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
    WORKDIR /app
    COPY published/ ./
    ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
    
  3. Skompiluj kontener, uruchamiając następujące polecenie.

    docker build --tag aspnetapp .
    

Utworzenie wystąpienia usługi Azure Container Registry

Utwórz Azure Container Registry (ACR). Usługa ACR umożliwia tworzenie i przechowywanie obrazów kontenerów oraz zarządzanie nimi.

  1. Aby utworzyć rejestr kontenerów, postępuj zgodnie z przewodnikiem Szybki start Azure Container Registry.
  2. Po zakończeniu wdrażania otwórz wystąpienie usługi ACR, a następnie z menu po lewej stronie wybierz pozycję Ustawienia > Klucze dostępu.
  3. Zanotuj wartość serwera logowania wymienioną na tej stronie. Te informacje będą używane w późniejszym kroku.
  4. Przełącz użytkownika Administracja na włączone. Ta opcja umożliwia połączenie usługi ACR z usługą Azure Container Apps przy użyciu poświadczeń użytkownika administratora. Alternatywnie możesz pozostawić ją wyłączoną i skonfigurować aplikację kontenera do ściągania obrazów z rejestru przy użyciu tożsamości zarządzanej.

Wypychanie obrazu do Azure Container Registry

Wypchnij obraz platformy Docker do utworzonego wcześniej rekordu ACR.

  1. Uruchom polecenie az acr login , aby zalogować się do rejestru.

    az acr login --name myregistry
    

    Polecenie zwraca wartość Login Succeeded po pomyślnym zalogowaniu.

  2. Tag platformy Docker służy do oznaczania odpowiednich szczegółów obrazu.

    docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
    

    Porada

    Aby przejrzeć listę istniejących obrazów i tagów platformy Docker, uruchom polecenie docker image ls. W tym scenariuszu powinny zostać wyświetlone co najmniej dwa obrazy: aspnetapp i myregistry.azurecr.io/aspnetapp.

  3. Użyj polecenia docker push , aby wypchnąć obraz do rejestru kontenerów. W tym przykładzie jest tworzone repozytorium aspnetapp w usłudze ACR zawierającej aspnetapp obraz. W poniższym przykładzie zastąp symbole <login-serverzastępcze i <tag><image-name> wartością serwera logowania usługi ACR, nazwą obrazu i tagiem obrazu.

    Metoda:

    docker push <login-server>/<image-name>:<tag>
    

    Przykład:

    docker push myregistry.azurecr.io/aspnetapp:v1
    
  4. Otwórz Azure Container Registry w Azure Portal i upewnij się, że w obszarze Repozytoria zobaczysz nowe repozytorium.

    Zrzut ekranu platformy Azure przedstawiający repozytorium w rejestrach kontenerów platformy Azure.

Dodawanie obrazu kontenera do usługi Azure Container Apps

Zaktualizuj aplikację kontenera, aby załadować obraz kontenera z usługi ACR.

  1. W Azure Portal otwórz wystąpienie usługi Azure Container Apps.

  2. W menu po lewej stronie w obszarze Aplikacja wybierz pozycję Kontenery.

  3. Wybierz pozycję Edytuj i wdróż.

  4. W obszarze Obraz kontenera kliknij nazwę istniejącego obrazu kontenera.

  5. Zaktualizuj następujące ustawienia:

    Ustawienie Sugerowana wartość Opis
    Źródło obrazu Azure Container Registry Wybierz Azure Container Registry jako źródło obrazu.
    Authentication poświadczenia Administracja Użyj opcji poświadczeń użytkownika administratora, która została włączona wcześniej w rejestrze kontenerów. Jeśli użytkownik administratora nie został włączony, ale skonfigurowany do używania tożsamości zarządzanej, musisz ręcznie wprowadzić obraz i tag w formularzu.
    Rejestr myregistry.azurecr.io Wybierz utworzony wcześniej Azure Container Registry.
    Obraz aspnetapp Wybierz utworzony wcześniej obraz platformy Docker i wypchnięty do usługi ACR.
    Tag obrazu Wersja 1 Wybierz tag obrazu z listy.
  6. Wybierz pozycję Zapisz , a następnie pozycję Utwórz , aby wdrożyć aktualizację w aplikacji kontenera platformy Azure.

Przejdź do adresu URL aplikacji kontenera platformy Azure

W Azure Portal w wystąpieniu usługi Azure Container Apps przejdź do karty Przegląd i otwórz adres URL aplikacji.

Strona internetowa wygląda następująco:

Zrzut ekranu przedstawiający przeglądarkę internetową wyświetlającą uruchomioną aplikację.

Czyszczenie zasobów

Jeśli nie chcesz kontynuować korzystania z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.

Ważne

Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usunięto przypadkowo nieprawidłowej grupy zasobów ani zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób indywidualnie z odpowiedniego okienka zamiast usuwania grupy zasobów.

  1. Zaloguj się do Azure Portal i wybierz pozycję Grupy zasobów.
  2. W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
  3. Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
  4. Wybierz pozycję Usuń grupę zasobów.
  5. Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.

Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.

Następne kroki

W ramach tego przewodnika Szybki start wykonasz następujące czynności:

  • Połączono Azure App Configuration z usługą Azure Container Apps
  • Używa platformy Docker do kompilowania obrazu kontenera z aplikacji ASP.NET Core z ustawieniami App Configuration
  • Tworzenie wystąpienia Azure Container Registry
  • Wypchnięcie obrazu do wystąpienia Azure Container Registry
  • Dodano obraz kontenera do usługi Azure Container Apps
  • Przejdź do adresu URL wystąpienia usługi Azure Container Apps zaktualizowanego przy użyciu ustawień skonfigurowanych w magazynie App Configuration.

Tożsamość zarządzana umożliwia jednemu zasobowi platformy Azure dostęp do innego bez utrzymywania wpisów tajnych. Możesz usprawnić dostęp z usługi Container Apps do innych zasobów platformy Azure. Aby uzyskać więcej informacji, zobacz, jak uzyskać dostęp do App Configuration przy użyciu tożsamości zarządzanej i jak uzyskać dostęp do usługi Container Registry przy użyciu tożsamości zarządzanej].

Aby dowiedzieć się, jak skonfigurować aplikację internetową ASP.NET Core do dynamicznego odświeżania ustawień konfiguracji, przejdź do następnego samouczka.