Ściąganie obrazu usługi Azure Container Apps z tożsamością zarządzaną
Obrazy można ściągać z repozytoriów prywatnych w usłudze Microsoft Azure Container Registry przy użyciu tożsamości zarządzanych do uwierzytelniania, aby uniknąć użycia poświadczeń administracyjnych. Do uwierzytelniania w usłudze Azure Container Registry można użyć przypisanej przez system lub przypisanej przez użytkownika tożsamości zarządzanej.
W przypadku tożsamości zarządzanej przypisanej przez system tożsamość jest tworzona i zarządzana przez usługę Azure Container Apps. Tożsamość jest powiązana z aplikacją kontenera i jest usuwana po usunięciu aplikacji. Przy użyciu tożsamości zarządzanej przypisanej przez użytkownika tworzysz tożsamość poza usługą Azure Container Apps i zarządzasz nią. Można go przypisać do wielu zasobów platformy Azure, w tym do usługi Azure Container Apps.
Usługa Container Apps sprawdza nową wersję obrazu przy każdym uruchomieniu kontenera. W terminologii platformy Docker lub Kubernetes usługa Container Apps ustawia zasady ściągania obrazów każdego kontenera na always
wartość .
W tym artykule opisano, jak za pomocą witryny Azure Portal skonfigurować aplikację kontenera do używania tożsamości zarządzanych przypisanych przez użytkownika i przypisanych przez system do ściągania obrazów z prywatnych repozytoriów usługi Azure Container Registry.
Tożsamość zarządzana przypisana przez użytkownika
W poniższych krokach opisano proces konfigurowania aplikacji kontenera w celu używania tożsamości zarządzanej przypisanej przez użytkownika do ściągania obrazów z prywatnych repozytoriów usługi Azure Container Registry.
- Utwórz aplikację kontenera z publicznym obrazem.
- Dodaj tożsamość zarządzaną przypisaną przez użytkownika do aplikacji kontenera.
- Utwórz poprawkę aplikacji kontenera z obrazem prywatnym i tożsamością zarządzaną przypisaną przez użytkownika.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją.
- Jeśli nie masz konta, możesz je utworzyć teraz za darmo.
Prywatna usługa Azure Container Registry zawierająca obraz, który chcesz ściągnąć.
Usługa Azure Container Registry musi zezwalać na tokeny odbiorców usługi ARM na potrzeby uwierzytelniania w celu używania tożsamości zarządzanej do ściągania obrazów. Użyj następującego polecenia, aby sprawdzić, czy tokeny usługi ARM mogą uzyskiwać dostęp do usługi ACR:
az acr config authentication-as-arm show -r <REGISTRY>
Jeśli tokeny usługi ARM są niedozwolone, możesz zezwolić na nie za pomocą następującego polecenia:
az acr config authentication-as-arm update -r <REGISTRY> --status enabled
Utwórz tożsamość zarządzaną przypisaną przez użytkownika. Aby uzyskać więcej informacji, zobacz Tworzenie tożsamości zarządzanej przypisanej przez użytkownika.
Tworzenie aplikacji kontenera
Wykonaj poniższe kroki, aby utworzyć aplikację kontenera z domyślnym obrazem szybkiego startu.
Przejdź do strony głównej portalu.
Wyszukaj pozycję Container Apps na górnym pasku wyszukiwania.
Wybierz pozycję Container Apps w wynikach wyszukiwania.
Zaznacz przycisk Utwórz.
Na karcie Podstawy wykonaj następujące czynności.
Ustawienie Akcja Subskrypcja Wybierz subskrypcję platformy Azure. Grupa zasobów: Wybierz istniejącą grupę zasobów lub utwórz nową. Nazwa aplikacji kontenera Wprowadź nazwę aplikacji kontenera. Lokalizacja Wybierz lokalizację. Tworzenie środowiska aplikacji kontenera Utwórz nowe lub wybierz istniejące środowisko. Wybierz przycisk Przejrzyj i utwórz w dolnej części strony Tworzenie aplikacji kontenera.
Wybierz przycisk Utwórz w dolnej części okna Tworzenie aplikacji kontenera.
Poczekaj kilka minut na zakończenie wdrażania aplikacji kontenera. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
Dodawanie tożsamości zarządzanej przypisanej przez użytkownika
- Wybierz pozycję Tożsamość z menu po lewej stronie.
- Wybierz kartę Użytkownik przypisany .
- Wybierz przycisk Dodaj tożsamość zarządzaną przypisaną przez użytkownika.
- Wybierz subskrypcję.
- Wybierz utworzoną tożsamość.
- Wybierz Dodaj.
Tworzenie poprawki aplikacji kontenera
Utwórz poprawkę aplikacji kontenera z obrazem prywatnym i tożsamością zarządzaną przypisaną przez system.
Wybierz pozycję Zarządzanie poprawkami z menu po lewej stronie.
Wybierz pozycję Utwórz nową poprawkę.
Wybierz obraz kontenera z tabeli Obraz kontenera .
Wprowadź informacje w oknie dialogowym Edytowanie kontenera .
Pole Akcja Nazwa/nazwisko Wprowadź nazwę kontenera. Źródło obrazu Wybierz pozycję Azure Container Registry. Authentication Wybierz pozycję Tożsamość zarządzana. Tożsamość Wybierz tożsamość utworzoną z menu rozwijanego. Rejestr Wybierz rejestr, którego chcesz użyć z menu rozwijanego. Obraz Wprowadź nazwę obrazu, którego chcesz użyć. Tag obrazu Wprowadź nazwę i tag obrazu, który chcesz ściągnąć. Uwaga
Jeśli poświadczenia administracyjne nie są włączone w rejestrze usługi Azure Container Registry, zostanie wyświetlony komunikat ostrzegawczy i musisz ręcznie wprowadzić nazwę obrazu i informacje o tagu.
Wybierz pozycję Zapisz.
Wybierz pozycję Utwórz na stronie Utwórz i wdróż nową poprawkę.
Zostanie utworzona i wdrożona nowa poprawka. Portal automatycznie podejmie próbę dodania acrpull
roli do tożsamości zarządzanej przypisanej przez użytkownika. Jeśli rola nie zostanie dodana, możesz dodać ją ręcznie.
Możesz sprawdzić, czy rola została dodana, sprawdzając tożsamość w okienku Tożsamość na stronie aplikacji kontenera.
- Wybierz pozycję Tożsamość z menu po lewej stronie.
- Wybierz kartę Użytkownik przypisany .
- Wybierz tożsamość zarządzaną przypisaną przez użytkownika.
- Wybierz pozycję Przypisania ról platformy Azure z menu na stronie zasobu tożsamości zarządzanej.
- Sprawdź, czy rola jest przypisana
acrpull
do tożsamości zarządzanej przypisanej przez użytkownika.
Tworzenie aplikacji kontenera z obrazem prywatnym
Jeśli nie chcesz zacząć od utworzenia aplikacji kontenera z publicznym obrazem, możesz również wykonać następujące czynności.
- Utwórz tożsamość zarządzaną przypisaną przez użytkownika.
acrpull
Dodaj rolę do tożsamości zarządzanej przypisanej przez użytkownika.- Utwórz aplikację kontenera z obrazem prywatnym i tożsamością zarządzaną przypisaną przez użytkownika.
Ta metoda jest typowa w scenariuszach infrastruktury jako kodu (IaC).
Czyszczenie zasobów
Jeśli nie zamierzasz nadal korzystać z tej aplikacji, możesz usunąć wystąpienie usługi Azure Container Apps i wszystkie skojarzone usługi, usuwając grupę zasobów.
Ostrzeżenie
Usunięcie grupy zasobów spowoduje usunięcie wszystkich zasobów w grupie. Jeśli masz inne zasoby w grupie, zostaną one również usunięte. Jeśli chcesz zachować zasoby, możesz usunąć wystąpienie aplikacji kontenera i środowisko aplikacji kontenera.
- Wybierz grupę zasobów w sekcji Przegląd .
- Wybierz przycisk Usuń grupę zasobów w górnej części grupy zasobów Przegląd.
- Wprowadź nazwę grupy zasobów w oknie dialogowym potwierdzenia.
- Wybierz Usuń.
Proces usuwania grupy zasobów może potrwać kilka minut.
Tożsamość zarządzana przypisana przez system
Metoda konfigurowania tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal jest taka sama jak konfigurowanie tożsamości zarządzanej przypisanej przez użytkownika. Jedyną różnicą jest to, że nie musisz tworzyć tożsamości zarządzanej przypisanej przez użytkownika. Zamiast tego tożsamość zarządzana przypisana przez system jest tworzona podczas tworzenia aplikacji kontenera.
Metoda konfigurowania tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal to:
- Utwórz aplikację kontenera z publicznym obrazem.
- Utwórz poprawkę aplikacji kontenera z obrazem prywatnym i tożsamością zarządzaną przypisaną przez system.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją.
- Jeśli nie masz konta, możesz je utworzyć teraz za darmo.
- Prywatna usługa Azure Container Registry zawierająca obraz, który chcesz ściągnąć. Zobacz Create a private Azure Container Registry (Tworzenie prywatnego rejestru kontenerów platformy Azure).
Tworzenie aplikacji kontenera
Wykonaj następujące kroki, aby utworzyć aplikację kontenera z domyślnym obrazem szybkiego startu.
Przejdź do strony głównej portalu.
Wyszukaj pozycję Container Apps na górnym pasku wyszukiwania.
Wybierz pozycję Container Apps w wynikach wyszukiwania.
Zaznacz przycisk Utwórz.
Na karcie Podstawy wykonaj następujące czynności.
Ustawienie Akcja Subskrypcja Wybierz subskrypcję platformy Azure. Grupa zasobów: Wybierz istniejącą grupę zasobów lub utwórz nową. Nazwa aplikacji kontenera Wprowadź nazwę aplikacji kontenera. Lokalizacja Wybierz lokalizację. Tworzenie środowiska aplikacji kontenera Utwórz nowe lub wybierz istniejące środowisko. Wybierz przycisk Przejrzyj i utwórz w dolnej części strony Tworzenie aplikacji kontenera.
Wybierz przycisk Utwórz w dolnej części strony Tworzenie aplikacji kontenera.
Poczekaj kilka minut na zakończenie wdrażania aplikacji kontenera. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
Edytowanie i wdrażanie poprawki
Zmodyfikuj kontener, aby używać obrazu z prywatnego rejestru Azure Container Registry, i skonfiguruj uwierzytelnianie do używania tożsamości przypisanej przez system.
Kontenery z menu bocznego po lewej stronie.
Wybierz pozycję Edytuj i wdróż.
Wybierz kontener simple-hello-world-container z listy.
Ustawienie Akcja Nazwa/nazwisko Wprowadź nazwę aplikacji kontenera. Źródło obrazu Wybierz pozycję Azure Container Registry. Authentication Wybierz pozycję Tożsamość zarządzana. Tożsamość Wybierz pozycję Przypisany system. Rejestr Wprowadź nazwę rejestru. Obraz Wprowadź nazwę obrazu. Tag obrazu Wprowadź tag. Uwaga
Jeśli poświadczenia administracyjne nie są włączone w rejestrze usługi Azure Container Registry, zostanie wyświetlony komunikat ostrzegawczy i musisz ręcznie wprowadzić nazwę obrazu i informacje o tagu.
Wybierz pozycję Zapisz w dolnej części strony.
Wybierz pozycję Utwórz w dolnej części strony Tworzenie i wdrażanie nowej poprawki
Po kilku minutach wybierz pozycję Odśwież na stronie zarządzanie poprawkami , aby wyświetlić nową wersję.
Zostanie utworzona i wdrożona nowa poprawka. Portal automatycznie podejmie próbę dodania acrpull
roli do tożsamości zarządzanej przypisanej przez system. Jeśli rola nie zostanie dodana, możesz dodać ją ręcznie.
Możesz sprawdzić, czy rola została dodana, sprawdzając tożsamość w okienku Tożsamość na stronie aplikacji kontenera.
- Wybierz pozycję Tożsamość z menu po lewej stronie.
- Wybierz kartę Przypisane przez system.
- Wybierz pozycję Przypisania ról platformy Azure.
- Sprawdź, czy rola jest przypisana
acrpull
do tożsamości zarządzanej przypisanej przez system.
Czyszczenie zasobów
Jeśli nie zamierzasz nadal korzystać z tej aplikacji, możesz usunąć wystąpienie usługi Azure Container Apps i wszystkie skojarzone usługi, usuwając grupę zasobów.
Ostrzeżenie
Usunięcie grupy zasobów spowoduje usunięcie wszystkich zasobów w grupie. Jeśli masz inne zasoby w grupie, zostaną one również usunięte. Jeśli chcesz zachować zasoby, możesz usunąć wystąpienie aplikacji kontenera i środowisko aplikacji kontenera.
- Wybierz grupę zasobów w sekcji Przegląd .
- Wybierz przycisk Usuń grupę zasobów w górnej części grupy zasobów Przegląd.
- Wprowadź nazwę grupy zasobów w oknie dialogowym potwierdzenia.
- Wybierz Usuń.
Proces usuwania grupy zasobów może potrwać kilka minut.
W tym artykule opisano sposób konfigurowania aplikacji kontenera w celu używania tożsamości zarządzanych do ściągania obrazów z prywatnego repozytorium usługi Azure Container Registry przy użyciu interfejsu wiersza polecenia platformy Azure i programu Azure PowerShell.
Wymagania wstępne
Wymaganie wstępne | opis |
---|---|
Konto platformy Azure | Konto platformy Azure z aktywną subskrypcją. Jeśli go nie masz, możesz go utworzyć bezpłatnie. |
Interfejs wiersza polecenia platformy Azure | Jeśli używasz interfejsu wiersza polecenia platformy Azure, zainstaluj interfejs wiersza polecenia platformy Azure na komputerze lokalnym. |
Azure PowerShell | W przypadku korzystania z programu PowerShell zainstaluj program Azure PowerShell na komputerze lokalnym. Upewnij się, że zainstalowano najnowszą wersję modułu Az.App, uruchamiając polecenie Install-Module -Name Az.App . |
Azure Container Registry | Prywatna usługa Azure Container Registry zawierająca obraz, który chcesz ściągnąć. Szybki start: tworzenie prywatnego rejestru kontenerów przy użyciu interfejsu wiersza polecenia platformy Azure lub szybkiego startu: tworzenie prywatnego rejestru kontenerów przy użyciu programu Azure PowerShell |
Konfiguracja
Najpierw zaloguj się do platformy Azure z poziomu interfejsu wiersza polecenia lub programu PowerShell. Uruchom następujące polecenie i postępuj zgodnie z monitami, aby ukończyć proces uwierzytelniania.
Zainstaluj rozszerzenie Azure Container Apps dla interfejsu wiersza polecenia.
az extension add --name containerapp --upgrade
Po zainstalowaniu bieżącego rozszerzenia lub modułu zarejestruj Microsoft.App
przestrzeń nazw i Microsoft.OperationalInsights
dostawcę, jeśli jeszcze ich nie zarejestrowano.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Następnie ustaw następujące zmienne środowiskowe. Zastąp <symbole> ZASTĘPCZE własnymi wartościami.
RESOURCE_GROUP="<YOUR_RESOURCE_GROUP_NAME>"
LOCATION="<YOUR_LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<YOUR_ENVIRONMENT_NAME>"
REGISTRY_NAME="<YOUR_REGISTRY_NAME>"
CONTAINERAPP_NAME="<YOUR_CONTAINERAPP_NAME>"
IMAGE_NAME="<YOUR_IMAGE_NAME>"
Jeśli masz już grupę zasobów, pomiń ten krok. W przeciwnym razie utwórz grupę zasobów.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Tworzenie środowiska aplikacji kontenera
Jeśli środowisko nie istnieje, uruchom następujące polecenie:
Aby utworzyć środowisko, uruchom następujące polecenie:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Przejdź do następnej sekcji, aby skonfigurować tożsamość zarządzaną przypisaną przez użytkownika lub przejść do sekcji Tożsamość zarządzana przypisana przez system.
Tożsamość zarządzana przypisana przez użytkownika
Postępuj zgodnie z tą procedurą, aby skonfigurować tożsamość zarządzaną przypisaną przez użytkownika:
- Utwórz tożsamość zarządzaną przypisaną przez użytkownika.
- Jeśli używasz programu PowerShell, przypisz
acrpull
rolę rejestru do tożsamości zarządzanej. Interfejs wiersza polecenia platformy Azure automatycznie wykonuje to przypisanie. - Utwórz aplikację kontenera z obrazem z rejestru prywatnego uwierzytelnionego przy użyciu tożsamości zarządzanej przypisanej przez użytkownika.
Tworzenie tożsamości zarządzanej przypisanej przez użytkownika
Utwórz tożsamość zarządzaną przypisaną przez użytkownika. <Zastąp symbole> ZASTĘPCZE nazwą tożsamości zarządzanej.
IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP
Pobierz identyfikator zasobu tożsamości.
IDENTITY_ID=`az identity show \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP \
--query id`
Tworzenie aplikacji kontenera
Utwórz aplikację kontenera przy użyciu obrazu z rejestru prywatnego uwierzytelnionego przy użyciu tożsamości.
Skopiuj identyfikator zasobu tożsamości, aby wkleić go do <symboli zastępczych IDENTITY_ID> w poniższym poleceniu. Jeśli tag obrazu nie latest
ma wartości , zastąp ciąg "latest" tagiem.
echo $IDENTITY_ID
az containerapp create \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--user-assigned <IDENTITY_ID> \
--registry-identity <IDENTITY_ID> \
--registry-server "$REGISTRY_NAME.azurecr.io" \
--image "$REGISTRY_NAME.azurecr.io/$IMAGE_NAME:latest"
Czyszczenie
Uwaga
Następujące polecenie usuwa określoną grupę zasobów i wszystkie zawarte w niej zasoby. Jeśli zasoby spoza zakresu tego przewodnika Szybki start istnieją w określonej grupie zasobów, zostaną również usunięte.
az group delete --name $RESOURCE_GROUP
Tożsamość zarządzana przypisana przez system
Aby skonfigurować tożsamość przypisaną przez system, musisz:
- Utwórz aplikację kontenera z publicznym obrazem.
- Przypisz tożsamość zarządzaną przypisaną przez system do aplikacji kontenera.
- Zaktualizuj aplikację kontenera przy użyciu obrazu prywatnego.
Tworzenie aplikacji kontenera
Utwórz kontener z publicznym obrazem.
az containerapp create \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
Aktualizowanie aplikacji kontenera
Zaktualizuj aplikację kontenera przy użyciu obrazu z prywatnego rejestru kontenerów i dodaj tożsamość przypisaną przez system, aby uwierzytelnić ściąganie usługi Azure Container Registry. Możesz również uwzględnić inne ustawienia niezbędne dla aplikacji kontenera, takie jak ustawienia ruchu przychodzącego, skalowania i języka Dapr.
Ustaw serwer rejestru i włącz tożsamość zarządzaną przypisaną przez system w aplikacji kontenera.
az containerapp registry set \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--identity system \
--server "$REGISTRY_NAME.azurecr.io"
az containerapp update \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--image "$REGISTRY_NAME.azurecr.io/$IMAGE_NAME:latest"
Czyszczenie
Uwaga
Następujące polecenie usuwa określoną grupę zasobów i wszystkie zawarte w niej zasoby. Jeśli zasoby spoza zakresu tego przewodnika Szybki start istnieją w określonej grupie zasobów, zostaną również usunięte.
az group delete --name $RESOURCE_GROUP