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
- Aplikacja korzystająca z magazynu App Configuration. Jeśli go nie masz, utwórz wystąpienie przy użyciu przewodnika Szybki start: tworzenie aplikacji ASP.NET Core przy użyciu App Configuration.
- Wystąpienie usługi Azure Container Apps. Jeśli go nie masz, utwórz wystąpienie przy użyciu Azure Portal lub interfejsu wiersza polecenia.
- Docker Desktop
- Interfejs wiersza polecenia platformy Azure
Łą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 :
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
Uruchom polecenie dotnet publish , aby skompilować aplikację w trybie wydania i utworzyć zasoby w opublikowanym folderze.
dotnet publish -c Release -o published
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"]
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.
- Aby utworzyć rejestr kontenerów, postępuj zgodnie z przewodnikiem Szybki start Azure Container Registry.
- 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.
- Zanotuj wartość serwera logowania wymienioną na tej stronie. Te informacje będą używane w późniejszym kroku.
- 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.
Uruchom polecenie az acr login , aby zalogować się do rejestru.
az acr login --name myregistry
Polecenie zwraca wartość
Login Succeeded
po pomyślnym zalogowaniu.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
imyregistry.azurecr.io/aspnetapp
.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-server
zastę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
Otwórz Azure Container Registry w Azure Portal i upewnij się, że w obszarze Repozytoria zobaczysz nowe repozytorium.
Dodawanie obrazu kontenera do usługi Azure Container Apps
Zaktualizuj aplikację kontenera, aby załadować obraz kontenera z usługi ACR.
W Azure Portal otwórz wystąpienie usługi Azure Container Apps.
W menu po lewej stronie w obszarze Aplikacja wybierz pozycję Kontenery.
Wybierz pozycję Edytuj i wdróż.
W obszarze Obraz kontenera kliknij nazwę istniejącego obrazu kontenera.
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. 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:
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.
- Zaloguj się do Azure Portal i wybierz pozycję Grupy zasobów.
- W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
- Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
- Wybierz pozycję Usuń grupę zasobów.
- 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.