Schnellstart: Verwenden von Azure App Configuration in Azure Container Apps
In dieser Schnellstartanleitung verwenden Sie Azure App Configuration in einer App, die in Azure Container Apps ausgeführt wird. Auf diese Weise können Sie den Speicher und die Verwaltung der Konfiguration Ihrer Apps in Container Apps zentralisieren. In dieser Schnellstartanleitung wird die in Schnellstart: Erstellen einer ASP.NET Core App mit App Configuration erstellte ASP.NET Core-App verwendet. Sie werden die App containerisieren und in Azure Container Apps bereitstellen. Schließen Sie die Schnellstartanleitung ab, bevor Sie fortfahren.
Tipp
Registrieren Sie bei der Durchführung dieses Schnellstarts möglichst alle neuen Ressourcen in einer einzigen Ressourcengruppe, damit Sie sie später alle an einem Ort zusammenfassen und schneller löschen können, wenn Sie sie nicht mehr benötigen.
Voraussetzungen
- Eine Anwendung, die einen App Configuration Speicher verwendet. Falls sie noch keine haben, erstellen Sie eine Instanz mithilfe der Anleitung unter Schnellstart: Erstellen einer ASP.NET Core-App mit App Configuration.
- Eine Azure Container Apps-Instanz. Erstellen Sie eine Instanz mithilfe des Azure-Portal oder der CLI, falls Sie noch keine haben.
- Docker Desktop
- Die Azure CLI
Azure App Configuration mit der Container-App verbinden
Navigieren Sie im Azure-Portal zu Ihrer Container Apps-Instanz. Befolgen Sie die Anleitung zum Schnellstart des Dienstconnectors für Azure Container Apps, um mithilfe der folgenden Einstellungen eine Dienstverbindung mit Ihrem App Configuration Store zu erstellen.
Auf der Registerkarte Grundlagen:
Auf der Registerkarte Authentifizierung:
- Wählen Sie die Verbindungszeichenfolge Authentifizierungstyp und schreibgeschützt für „Berechtigungen für die Verbindungszeichenfolge“ aus.
- Erweitern Sie das Menü Erweitert. In den Konfigurationsinformationen sollte sich bereits eine Umgebungsvariable mit dem Namen „AZURE_APPCONFIGURATION_CONNECTIONSTRING“ befinden. Bearbeiten Sie die Umgebungsvariable, indem Sie das Symbol auf der rechten Seite auswählen und den Namen in ConnectionStrings__AppConfig ändern. Diese Änderung ist notwendig, da ConnectionStrings__AppConfig der Name der Umgebungsvariable ist, nach der die in der ASP.NET Core Schnellstartanleitung erstellte Anwendung sucht. Dies ist die Umgebungsvariable, die die Verbindungszeichenfolge für App Configuration enthält. Wenn Sie für diese Schnellstartanleitung eine andere Anwendung verwendet haben, verwenden Sie den Namen der entsprechenden Umgebungsvariablen. Wählen Sie dann Fertig aus.
Verwenden Sie für alles andere die Standardwerte.
Anschließend wird dem Container Ihrer Container-App eine Umgebungsvariable mit dem Namen ConnectionStrings__AppConfig hinzugefügt. Ihr Wert ist ein Verweis auf den geheimen Container-App-Schlüssel, die Verbindungszeichenfolge Ihres App Configuration Speichers.
Erstellen eines Containers
Führen Sie den Befehl dotnet publish aus, um die App im Releasemodus und die Ressourcen im Ordner Veröffentlicht zu erstellen.
dotnet publish -c Release -o published
Erstellen Sie eine Datei mit dem Namen Dockerfile im Verzeichnis, das Ihre .csproj-Datei enthält. Öffnen Sie sie in einem Text-Editor und geben Sie den folgenden Inhalt ein. Eine Dockerfile-Datei ist eine Textdatei ohne Dateierweiterung, die zum Erstellen eines Containerimages verwendet wird.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime WORKDIR /app COPY published/ ./ ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
Erstellen Sie den Container, indem Sie den folgenden Befehl ausführen.
docker build --tag aspnetapp .
Erstellen einer Azure Container Registry-Instanz
Sie erstellen eine Azure Container Registry(ACR)-Instanz. ACR ermöglicht es Ihnen, Containerimages zu erstellen, zu speichern und zu verwalten.
- Befolgen Sie zum Erstellen der Containerregistrierung die Schnellstartanleitung Azure Container Registry.
- Öffnen Sie nach Abschluss der Bereitstellung Ihre ACR-Instanz und wählen Sie im linken Menü Einstellungen > Zugriffsschlüssel aus.
- Notieren Sie sich den auf dieser Seite aufgeführten Anmeldeserverwert. Diese Information wird in einem späteren Schritt verwendet.
- Ändern Sie Admin Benutzer zu Aktiviert. Mit dieser Option können Sie die ACR mithilfe von Administrator-Benutzeranmeldeinformationen mit Azure Container Apps verbinden. Alternativ können Sie sie deaktiviert lassen und die Container-App so konfigurieren, dass Images mit einer verwalteten Identität aus der Registrierung abgerufen werden.
Übertragen des Images an Azure Container Registry per Push
Pushen Sie das Docker-Image an die zuvor erstellte ACR.
Verwenden Sie den Befehl az acr login, um sich bei der Registrierung anzumelden.
az acr login --name myregistry
Der Befehl gibt
Login Succeeded
zurück, sobald die Anmeldung erfolgreich war.Verwenden Sie docker tag, um die richtigen Details für das Image zu markieren.
docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
Tipp
Führen Sie
docker image ls
aus, um die Liste Ihrer vorhandenen Docker-Images und -Tags zu überprüfen. In diesem Szenario sollten mindestens zwei Images angezeigt werden:aspnetapp
undmyregistry.azurecr.io/aspnetapp
.Verwenden Sie docker push, um das Image in die Containerregistrierung zu pushen. In diesem Beispiel wird das Repository aspnetapp in ACR mit dem Image
aspnetapp
erstellt. Ersetzen Sie im folgenden Beispiel die Platzhalter<login-server
,<image-name>
und<tag>
durch den Anmeldeserverwert des ACR, den Imagenamen und das Imagetag.Methode:
docker push <login-server>/<image-name>:<tag>
Beispiel:
docker push myregistry.azurecr.io/aspnetapp:v1
Öffnen Sie Ihre Azure Container Registry im Azure-Portal, und vergewissern Sie sich, dass Sie unter Repositorys Ihr neues Repository sehen können.
Hinzufügen Ihres Containerimages zu Azure Container Apps
Aktualisieren Sie Ihre Container-App, um das Containerimage aus Ihrem ACR zu laden.
Öffnen Sie im Azure-Portal Ihre Azure Container Apps-Instanz.
Wählen Sie im linken Menü unter AnwendungContainer aus.
Wählen Sie Bearbeiten und bereitstellen aus.
Klicken Sie unter Containerimage auf den Namen des vorhandenen Containerimages.
Aktualisieren Sie die folgenden Einstellungen:
Einstellung Vorgeschlagener Wert BESCHREIBUNG Imagequelle Azure Container Registry Wählen Sie Azure Container Registry als Imagequelle aus. Authentifizierung Administrator-Anmeldeinformationen Verwenden Sie die Option Administrator-Benutzeranmeldeinformationen, die zuvor in der Containerregistrierung aktiviert wurde. Wenn Sie den Administratorbenutzer nicht aktiviert haben sondern die Verwendung einer verwalteten Identität konfiguriert haben, müssen Sie das Image und das Tag manuell in das Formular eingeben. Registrierung myregistry.azurecr.io Wählen Sie die zuvor erstellte Azure Container Registry aus. Image aspnetapp Wählen Sie das Docker-Image aus, das Sie zuvor erstellt und an ACR gepusht haben. Imagetag v1 Wählen Sie Ihren Image-Tag aus der Liste aus. Klicken Sie auf Speichern und dann auf Erstellen, um das Update in Azure Container App bereitzustellen.
Navigieren Sie zur URL der Azure Container-App.
Navigieren Sie im Azure-Portal in der Azure Container Apps-Instanz zur Registerkarte Übersicht und öffnen Sie die Anwendungs-URL.
Die Webseite sieht folgendermaßen aus:
Bereinigen von Ressourcen
Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr verwenden möchten, löschen Sie die erstellte Ressourcengruppe, um Kosten zu vermeiden.
Wichtig
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen für diesen Artikel in einer Ressourcengruppe erstellt haben, die andere beizubehaltende Ressourcen enthält, löschen Sie die Ressourcen einzeln über den entsprechenden Bereich, statt die Ressourcengruppe zu löschen.
- Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
- Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
- Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
- Wählen Sie die Option Ressourcengruppe löschen.
- Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.
Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.
Nächste Schritte
In dieser Schnellstartanleitung führen Sie die folgenden Schritte aus:
- Azure App Configuration mit Azure Container Apps verbunden
- Docker zum Erstellen eines Containerimages aus einer ASP.NET Core-App mit App Configuration Einstellungen verwendet
- Eine Azure Container Registry-Instanz erstellt
- Das Image an die Azure Container Registry-Instanz gepusht
- Das Containerimage zu Azure Container Apps hinzugefügt
- Zur URL der Azure Container Apps-Instanz, die mit den Einstellungen aktualisiert wurde, die Sie in Ihrem App Configuration Store konfiguriert haben, navigiert.
Mit der verwalteten Identität kann eine Azure-Ressource auf eine andere zugreifen, ohne Geheimnisse zu verwalten. Sie können den Zugriff von Container Apps auf andere Azure-Ressourcen optimieren. Weitere Informationen finden Sie unter Zugriff auf App Configuration mithilfe der verwalteten Identität und [Zugriff auf Container Registry mithilfe der verwalteten Identität].
Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie Ihre ASP.NET Core-Web-App für das dynamische Aktualisieren der Konfigurationseinstellungen konfigurieren: