Migrieren des Anwendungskonfigurationsdiensts zum verwalteten Spring Cloud-Konfigurationsserver
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.
Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.
Dieser Artikel gilt für: ❎ Basic/Standard ✅ Enterprise
In diesem Artikel wird beschrieben, wie Sie vom Anwendungskonfigurationsdienst (Application Configuration Service, ACS) zum Spring Cloud-Konfigurationsserver migrieren, wenn Sie den Azure Spring Apps-Enterprise-Tarif mit Java-Anwendungen verwenden.
Der Spring Cloud-Konfigurationsserver bietet einen zentralen Konfigurationsdienst, mit dem Anwendungen Konfigurationseigenschaften aus externen Quellen abrufen können, z. B. Git-Repositorys.
Bereitstellen des Spring Cloud-Konfigurationsservers
Wenn Sie über eine Instanz von Azure Spring Apps mit dem Enterprise-Tarif und aktiviertem Anwendungskonfigurationsdienst verfügen, besteht der erste Schritt bei der Migration von ACS zum Spring Cloud-Konfigurationsserver darin, den Konfigurationsserver in Ihrer Azure Spring Apps-Umgebung bereitzustellen. Sie können dafür das Azure-Portal oder die Azure CLI verwenden.
Führen Sie die folgenden Schritte aus, um den Spring Cloud-Konfigurationsserver bereitzustellen:
- Navigieren Sie zu Ihrer Azure Spring Apps Enterprise-Instanz im Azure-Portal.
- Wählen Sie im Menü Spring Cloud-Konfigurationsserver aus.
- Wählen Sie Verwalten aus, um festzustellen, ob Spring Cloud-Konfigurationsserver aktiviert ist. Wenn dies nicht der Fall ist, aktivieren Sie die Option, und wählen Sie dann zum Speichern Anwenden aus.
- Nach der erfolgreichen Aktualisierung wird als Bereitstellungsstatus des Konfigurationsservers Erfolgreich auf der Registerkarte Übersicht angezeigt.
Konfigurieren des Spring Cloud-Konfigurationsservers
Nachdem Sie den Spring Cloud-Konfigurationsserver bereitgestellt haben, besteht der nächste Schritt darin, ihn für Ihre Anwendung zu konfigurieren, um eine reibungslose Migration sicherzustellen.
Führen Sie die folgenden Schritte aus, um den Spring Cloud-Konfigurationsserver im Azure-Portal zu konfigurieren:
Navigieren Sie in Ihrer Azure Spring Apps-Instanz zu Spring Cloud-Konfigurationsserver.
Ordnen Sie auf der Registerkarte Einstellungen die Konfigurationen aller Repositorys von ACS dem Spring Cloud-Konfigurationsserver zu.
Wenn Sie nur über ein Repository in ACS verfügen, ordnen Sie es dem Standardrepository für den Spring Cloud-Konfigurationsserver ohne Namen und Muster zu. Wenn Sie über mehrere Repositorys in ACS verfügen, wählen Sie ein Repository als Standardrepository für den Spring Cloud-Konfigurationsserver aus, und verwenden Sie andere als zusätzliche Repositorys. Migrieren Sie Eigenschaften wie
uri
,label
,search path
,name
undauthentication
von ACS zum Spring Cloud-Konfigurationsserver.Wählen Sie nach dem Zuordnen der Konfigurationen Überprüfen aus, um die Konfiguration zu überprüfen.
Wählen Sie nach erfolgreicher Überprüfung Anwenden aus, um die Konfiguration des Spring Cloud-Konfigurationsservers abzuschließen.
Um die Änderungen anzuwenden, wählen Sie auf der Registerkarte App-Bindung die Option App binden aus, und wählen Sie dann alle Apps aus, die Spring Cloud Config Server verwenden sollen.
Um die Eigenschaft pattern
von ACS zu migrieren, ist es wichtig sicherzustellen, dass der Name Ihrer App in Azure Spring Apps mit dem Konfigurationsdateinamen im Git-Repository übereinstimmt.
- Wenn der App-Name von Azure Spring Apps mit dem Dateinamen der Konfigurationsdatei übereinstimmt, wendet der Spring Cloud-Konfigurationsserver automatisch die Konfigurationsdatei mit dem übereinstimmenden Namen auf die App an, ohne dass eine zusätzliche Konfiguration erforderlich ist.
- Wenn die Namen nicht übereinstimmen, müssen Sie eine neue App mit dem Namen als Konfigurationsdateinamen erstellen.
Weitere Konfigurationen finden Sie in diesem Dokument zum Spring Cloud-Konfigurationsserver.
Aktualisieren Ihrer Anwendungskonfiguration
Aufgrund der Unterschiede bei den Implementierungsmechanismen zwischen ACS und dem Konfigurationsserver sind zur Anpassung an die Art und Weise, wie Konfigurationen abgerufen werden, einige Änderungen an der App-Konfiguration erforderlich.
Nachdem Sie den Spring Cloud-Konfigurationsserver bereitgestellt und konfiguriert haben, müssen Sie Ihre Konfiguration mithilfe der folgenden Schritte anpassen:
Aktualisieren Sie die Spring Boot-Abhängigkeiten, indem Sie die folgenden erforderlichen Spring Cloud-Konfigurationsabhängigkeiten zu Ihrer pom.xml-Datei für Maven oder build.gradle-Datei für Gradle hinzufügen.
Konfigurieren Sie das Profil.
In ACS stellen Sie das Profil als Muster in einer Azure Spring Apps-Bereitstellung bereit, während beim Spring Cloud-Konfigurationsserver das Profil im Quellcode der Anwendung konfiguriert wird.
Stellen Sie sicher, dass Ihre Anwendung die richtigen Profile verwendet (
dev
,prod
usw.), damit der Spring Cloud-Konfigurationsserver umgebungsspezifische Konfigurationen bereitstellen kann.Aktualisieren Sie die bootstrap.yml- oder application.yml-Datei in Ihrer Anwendung mit den richtigen Konfigurationseigenschaften, um auf den Spring Cloud-Konfigurationsserver zu verweisen, wie im folgenden Beispiel gezeigt:
spring: cloud: config: profile: dev
Stellen Sie sicher, dass der App-Name von Azure Spring Apps mit dem Namen der Konfigurationsdatei in Ihrem Git-Repository übereinstimmt. Vermeiden Sie außerdem die Konfiguration von
spring.application.name
im Code Ihrer Anwendung.
Erneutes Bereitstellen der Anwendung
Nachdem Sie die Anwendung lokal getestet haben, können Sie sie mit dem folgenden Azure CLI-Befehl in Azure Spring Apps erneut bereitstellen, um den Spring Cloud-Konfigurationsserver zu verwenden:
az spring app deploy \
--name <app-name> \
--artifact-path <path-to-your-app> \
--config-file-patterns '""'
Mit dem --config-file-patterns '""'
-Parameter wird der Verweis des Anwendungskonfigurationsdiensts aus Ihrer Anwendung bereinigt. Die Anwendung verwendet die Konfiguration über den Spring Cloud-Konfigurationsserver anstelle des Anwendungskonfigurationsdiensts.
Deaktivieren des Anwendungskonfigurationsdiensts
Nachdem alle Anwendungen die Migration zum Spring Cloud-Konfigurationsserver abgeschlossen haben, können Sie die Bindung dieser Anwendungen an den Anwendungskonfigurationsdienst aufheben und ACS deaktivieren.
- Navigieren Sie in Ihrer Azure Spring Apps-Instanz zu Anwendungskonfigurationsdienst.
- Öffnen Sie die Registerkarte App-Bindung, und wählen Sie dann jede gebundene Anwendung aus, um die Bindung aufzuheben.
- Nachdem die Bindung für alle Anwendungen aufgehoben wurde, wählen Sie Verwalten aus, um den Anwendungskonfigurationsdienst zu deaktivieren.
Indem Sie diese Schritte sorgfältig ausführen, können Sie eine reibungslose Migration sicherstellen und die Vorteile des Spring Cloud-Konfigurationsservers in Azure Spring Apps nutzen.
Bekannte Einschränkung
Das Migrieren von ACS zum Spring Cloud-Konfigurationsserver gilt nur für Java-Anwendungen, da ACS die Konfiguration mithilfe der Kubernetes-nativen ConfigMap
verwaltet. Diese Methode ermöglicht dynamische Konfigurationsupdates in Kubernetes-Umgebungen, was sie für verschiedene Anwendungen mit mehreren Programmiersprachen vielseitig einsetzbar macht. Der Spring Cloud-Konfigurationsserver ist in erster Linie für Java-Anwendungen konzipiert und verwendet Spring-Frameworkfunktionen, daher unterstützt er nur die Konfigurationsverwaltung für Java.