Verwenden des Anwendungskonfigurationsdiensts für Tanzu
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von 3 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 Standardverbrauchs- und dedizierte Plan wird ab dem 30. September 2024 als veraltet gekennzeichnet und nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren vom Standardverbrauchs- und dedizierten Plan von Azure Spring Apps zu Azure Container Apps.
Dieser Artikel gilt für:❌ Basic/Standard ✔️ Enterprise
In diesem Artikel erfahren Sie, wie Sie den Anwendungskonfigurationsdienst für VMware Tanzu mit dem Azure Spring Apps Enterprise-Plan verwenden.
Der Anwendungskonfigurationsdienst für VMware Tanzu ist eine der kommerziellen VMware-Komponenten. Er ermöglicht die Verwaltung von Kubernetes-nativen ConfigMap
-Ressourcen, die aus Eigenschaften mit Daten aufgefüllt werden, die in mindestens einem Git-Repository definiert sind.
Mit dem Anwendungskonfigurationsdienst erhalten Sie einen zentralen Ort, um externe Eigenschaften für Anwendungen in allen Umgebungen zu verwalten. Informationen zu den Unterschieden zwischen Spring Cloud Config Server im Basic- und Standard-Plan finden Sie unter Migrieren einer Azure Spring Apps-Instanz in dem Basic- oder Standard-Plan zum Enterprise-Plan im Abschnitt Verwenden des Anwendungskonfigurationsdiensts für die externe Konfiguration.
Der Anwendungskonfigurationsdienst wird in zwei Versionen angeboten: Gen1 und Gen2. Die Gen1-Version dient hauptsächlich vorhandenen Kunden zur Abwärtskompatibilität und wird nur bis zum 30. April 2024 unterstützt. Neue Dienstinstanzen sollten Gen2 verwenden. Die Gen2-Version verwendet Flux als Back-End für die Kommunikation mit Git-Repositorys und bietet eine bessere Leistung im Vergleich zu Gen1.
Die folgende Tabelle zeigt die Unterkomponentenbeziehungen:
Generierung des Anwendungskonfigurationsdienstes | Unterkomponenten |
---|---|
Gen1 | application-configuration-service |
Gen2 | application-configuration-service flux-source-controller |
In der folgenden Tabelle sind einige Benchmarkdaten für Sie als Referenz aufgeführt. Die Größe des Git-Repositorys ist jedoch ein wichtiger Faktor, der erhebliche Auswirkungen auf die Leistungsdaten hat. Es wird empfohlen, nur die erforderlichen Konfigurationsdateien im Git-Repository zu speichern, um es klein zu halten.
Generierung des Anwendungskonfigurationsdienstes | Dauer der Aktualisierung bei weniger als 100 Mustern | Dauer der Aktualisierung bei weniger als 250 Mustern | Dauer der Aktualisierung bei weniger als 500 Mustern |
---|---|---|---|
Gen1 | 330 s | 840 s | 1500 s |
Gen2 | 13 s | 100 s | 378 s |
Gen2 bietet auch mehr Sicherheitsüberprüfungen, wenn Sie eine Verbindung mit einem Remote-Git-Repository herstellen. Gen2 erfordert eine sichere Verbindung, wenn Sie HTTPS verwenden, und überprüft den richtigen Hostschlüssel und Hostalgorithmus bei Verwendung einer SSH-Verbindung.
Sie können die Version des Anwendungskonfigurationsdiensts auswählen, wenn Sie eine Azure Spring Apps Enterprise-Dienstinstanz erstellen. Die Standardversion ist Gen1. Sie können auch ein Upgrade auf Gen2 durchführen, nachdem die Instanz erstellt wurde, aber eine Herabstufung wird nicht unterstützt. Beim Upgrade gibt es keine Ausfallzeit, es wird jedoch weiterhin empfohlen, es in einer Stagingumgebung zu testen, bevor Sie es in eine Produktionsumgebung verschieben.
Voraussetzungen
- Eine bereits bereitgestellte Azure Spring Apps Enterprise-Instanz des Plans mit aktiviertem Anwendungskonfigurationsdienst. Weitere Informationen finden Sie unter Schnellstart: Erstellen und Bereitstellen von Anwendungen in Azure Spring Apps mit dem Enterprise Plan.
Verwalten von Anwendungskonfigurationsdiensteinstellungen
Der Anwendungskonfigurationsdienst unterstützt Azure DevOps, GitHub, GitLab und Bitbucket zum Speichern Ihrer Konfigurationsdateien.
Um die Diensteinstellungen zu verwalten, öffnen Sie den Abschnitt Einstellungen. Im diesem Abschnitt können Sie die folgenden Schlüsselpunkte konfigurieren:
- Generation: Upgrade der Dienstgeneration.
- Aktualisierungsintervall: Anpassen der Häufigkeit, mit der der Dienst in Git-Repositorys nach Updates sucht.
- Repositorys: Hinzufügen neuer Einträge oder Ändern vorhandener Repositorys. Mit dieser Funktion können Sie steuern, welche Repositorys die Dienstüberwachung zum Abrufen von Daten verwenden.
Wenn Sie aktuell mit der Dienstgenereration Gen1 arbeiten, können Sie ein Upgrade auf Gen2 durchführen, um eine bessere Leistung zu erzielen. Weitere Informationen finden Sie im Abschnitt Upgrade von Gen1 auf Gen2.
Das Aktualisierungsintervall gibt die Häufigkeit zum Überprüfen von Updates im Repository an (in Sekunden). Der Mindestwert ist 0, wodurch die automatische Aktualisierung deaktiviert wird. Legen Sie dieses Intervall für eine optimale Leistung auf einen Minimalwert von 60 Sekunden fest.
Die Eigenschaften für jeden Repositoryeintrag werden in der folgenden Tabelle beschrieben.
Eigenschaft | Erforderlich? | BESCHREIBUNG |
---|---|---|
Name |
Ja | Ein eindeutiger Name zum Bezeichnen der einzelnen Git-Repositorys. |
Patterns |
Ja | Die Muster für die Suche in Git-Repositorys. Verwenden Sie für jedes Muster ein Format wie {application} oder {application}/{profile} anstelle von {application}-{profile}.yml. Trennen Sie die Muster durch Kommas. Weitere Informationen finden Sie im Abschnitt Muster in diesem Artikel. |
URI |
Ja | Ein Git-URI (z. B https://github.com/Azure-Samples/piggymetrics-config oder git@github.com:Azure-Samples/piggymetrics-config ) |
Label |
Ja | Der Branchname für die Suche im Git-Repository |
Search path |
No | Optionale Suchpfade (durch Kommas getrennt) zum Durchsuchen von Unterverzeichnissen des Git-Repositorys. |
Muster
Die Konfiguration wird aus Git-Back-Ends mithilfe der Definition abgerufen, die Sie in einem Muster festgelegt haben. Ein Muster ist eine Kombination aus {application}/{profile}, wie in den folgenden Anweisungen beschrieben.
- {application} – Der Name einer Anwendung, deren Konfiguration Sie abrufen. Der Wert
application
gilt als Standardanwendung und enthält die Konfigurationsinformationen, die von mehreren Anwendungen gemeinsam genutzt werden. Jeder andere Wert verweist auf eine bestimmte Anwendung an und enthält Eigenschaften sowohl für die angegebene Anwendung als auch gemeinsam verwendete Eigenschaften für die Standardanwendung. - {profil}: Optional. Der Name eines Profils, dessen Eigenschaften Sie abrufen können. Ein leerer Wert oder der Wert
default
beinhaltet Eigenschaften, die für alle Profile gemeinsam verwendet werden. Nicht standardmäßige Werte enthalten Eigenschaften für das angegebene Profil und Eigenschaften für das Standardprofil.
Authentifizierung
Der folgende Screenshot zeigt die drei Arten von Repository-Authentifizierung, die vom Anwendungskonfigurationsdienst unterstützt werden.
In der folgenden Liste werden die drei Authentifizierungstypen beschrieben:
Öffentliches Repository.
Sie benötigen keine zusätzliche Authentifizierungskonfiguration, wenn Sie ein öffentliches Repository verwenden. Wählen Sie im Formular Authentifizierung die Option Öffentlich aus.
In der folgenden Tabelle sind die konfigurierbaren Eigenschaften angezeigt, die Sie zum Einrichten eines öffentlichen Git-Repositorys verwenden können:
Eigenschaft Erforderlich? Beschreibung CA certificate
Nein Nur erforderlich, wenn ein selbstsigniertes Zertifikat für die Git-Repository-URL verwendet wird. Privates Repository mit Standardauthentifizierung.
Die folgende Tabelle enthält die konfigurierbaren Eigenschaften, die Sie zum Einrichten eines privaten Git-Repositorys mit Standardauthentifizierung verwenden können:
Eigenschaft Erforderlich? BESCHREIBUNG username
Ja Der Benutzername, der für den Zugriff auf das Repository verwendet wird. password
Ja Das Kennwort, das für den Zugriff auf das Repository verwendet wird. CA certificate
Nein Nur erforderlich, wenn ein selbstsigniertes Zertifikat für die Git-Repository-URL verwendet wird. Privates Repository mit SSH-Authentifizierung.
Die folgende Tabelle enthält die konfigurierbaren Eigenschaften, die Sie zum Einrichten eines privaten Git-Repositorys mit SSH verwenden können:
Eigenschaft Erforderlich? BESCHREIBUNG Private key
Ja Der private Schlüssel, der den Git-Benutzer identifiziert. Mit einer Passphrase verschlüsselte private Schlüssel werden nicht unterstützt. Host key
Nein zu Gen1
Ja zu Gen2Der Hostschlüssel des Git-Servers. Wenn Sie über Git über die Befehlszeile eine Verbindung mit dem Server hergestellt haben, befindet sich der Hostschlüssel in Ihrer SSH/known_hosts-Datei. Schließen Sie das Algorithmuspräfix nicht ein, da es in Host key algorithm
angegeben wird.Host key algorithm
Nein zu Gen1
Ja zu Gen2Der Algorithmus für hostKey
: einer der Wertessh-dss
,ssh-rsa
,ecdsa-sha2-nistp256
,ecdsa-sha2-nistp384
oderecdsa-sha2-nistp521
. (Erforderlich, wennHost key
angegeben wird).Strict host key checking
Nein Optionaler Wert, der angibt, ob das Back-End ignoriert werden soll, wenn bei Verwendung des bereitgestellten Host key
ein Fehler auftritt. Gültige Werte sindtrue
undfalse
. Der Standardwert isttrue
.
Wählen Sie zum Überprüfen des Zugriffs auf den Ziel-URI die Option Überprüfen aus. Wählen Sie nach erfolgreichem Abschluss der Überprüfung Anwenden aus, um die Konfigurationseinstellungen zu aktualisieren.
Upgrade von Gen1 auf Gen2
Der Anwendungskonfigurationsdienst Gen2 bietet eine bessere Leistung im Vergleich zu Gen1, insbesondere wenn Sie über eine große Anzahl von Konfigurationsdateien verfügen. Wir empfehlen die Verwendung von Gen2, insbesondere weil Gen1 bald eingestellt wird. Beim Upgrade von Gen1 auf Gen2 gibt es keine Ausfallzeit, es wird jedoch weiterhin empfohlen, dass Sie in einer Stagingumgebung testen, bevor Sie zu einer Produktionsumgebung wechseln.
Gen2 erfordert mehr Konfigurationseigenschaften als Gen1 bei Verwendung der SSH-Authentifizierung. Sie müssen die Konfigurationseigenschaften in Ihrer Anwendung aktualisieren, damit sie mit Gen2 funktioniert. Die folgende Tabelle zeigt die erforderlichen Eigenschaften für Gen2 bei Verwendung der SSH-Authentifizierung:
Eigenschaft | Beschreibung |
---|---|
Host key |
Der Hostschlüssel des Git-Servers. Wenn Sie über Git über die Befehlszeile eine Verbindung mit dem Server hergestellt haben, befindet sich der Hostschlüssel in Ihrer SSH/known_hosts-Datei. Schließen Sie das Algorithmuspräfix nicht ein, da es in Host key algorithm angegeben wird. |
Host key algorithm |
Der Algorithmus für hostKey : Einer von ssh-dss , ssh-rsa , ecdsa-sha2-nistp256 , ecdsa-sha2-nistp384 oder ecdsa-sha2-nistp521 . |
Führen Sie die folgenden Schritte aus, um ein Upgrade von Gen1 auf Gen2 durchzuführen:
Navigieren Sie im Azure-Portal zur Seite „Anwendungskonfigurationsdienst“ für Ihre Azure Spring Apps-Dienstinstanz.
Wählen Sie den Abschnitt Einstellungen und dann im Dropdownmenü Generation die Option Gen2 aus.
Wählen Sie zum Überprüfen des Zugriffs auf den Ziel-URI die Option Überprüfen aus. Wählen Sie nach erfolgreichem Abschluss der Überprüfung Anwenden aus, um die Konfigurationseinstellungen zu aktualisieren.
Polyglot-Unterstützung
Der Anwendungskonfigurationsdienst arbeitet nahtlos mit Spring Boot-Anwendungen zusammen. Die vom Dienst generierten Eigenschaften werden als externe Konfigurationen von Spring Boot importiert und in die Beans eingefügt. Sie müssen keinen zusätzlichen Code schreiben. Sie können die Werte verwenden, indem Sie die @Value
-Anmerkung verwenden, auf die über die Spring Environment Abstraktion zugegriffen wird, oder Sie können sie mithilfe der @ConfigurationProperties
-Anmerkung an strukturierte Objekte binden.
Der Anwendungskonfigurationsdienst unterstützt auch Polyglot-Apps wie dotNET, Go, Python usw. Um auf Konfigurationsdateien zuzugreifen, die Sie während der Polyglot-App-Bereitstellung in den Apps angeben, versuchen Sie, auf einen Dateipfad zuzugreifen, den Sie über eine Umgebungsvariable mit einem Namen wie AZURE_SPRING_APPS_CONFIG_FILE_PATH
abrufen können. Sie können auf alle gewünschten Konfigurationsdateien unter diesem Pfad zugreifen. Verwenden Sie die vorhandenen Lese-/Schreibdateibibliotheken für Ihre App, um auf die Eigenschaftswerte in den Konfigurationsdateien zuzugreifen.
Aktualisierungsstrategien
Wenn Sie Ihre Konfigurationen in einem Git-Repository ändern und übertragen, sind mehrere Schritte erforderlich, bevor sich diese Änderungen in Ihren Anwendungen widerspiegeln. Dieser Prozess ist zwar automatisiert, umfasst jedoch die folgenden einzelnen Phasen und Komponenten, die jeweils ihren eigenen Zeitplan und ihr eigenes Verhalten haben:
- Abfrage durch den Anwendungskonfigurationsdienst: Der Application Configuration Service fragt regelmäßig die Back-End Git Repositorys ab, um Änderungen zu erkennen. Diese Abfrage erfolgt in einer bestimmten Frequenz, die durch das Aktualisierungsintervall definiert ist. Wenn eine Änderung erkannt wird, aktualisiert der Anwendungskonfigurationsdienst die Kubernetes-
ConfigMap
. ConfigMap
-Aktualisierung und Interaktion mit dem Kubelet-Cache: In Azure Spring Apps wirdConfigMap
als Datenvolumen in die jeweilige Anwendung eingebunden. Allerdings gibt es bei diesem Prozess eine natürliche Verzögerung, die auf die Häufigkeit zurückzuführen ist, mit der das Kubelet seinen Cache aktualisiert, um Änderungen inConfigMap
zu erkennen.- Anwendung liest aktualisierte Konfiguration: Ihre Anwendung, die in der Azure Spring Apps-Umgebung läuft, kann auf die aktualisierten Konfigurationswerte zugreifen. Die vorhandenen Beans im Spring-Kontext werden nicht automatisch auf die aktualisierten Konfigurationen aktualisiert.
Diese Stages wird im folgenden Diagramm zusammengefasst:
Sie können das Aktualisierungsintervall für die Abfrage des Anwendungskonfigurationsdienstes an Ihre speziellen Bedürfnisse anpassen. Um die aktualisierten Konfigurationen in Ihrer Anwendung anzuwenden, ist ein Neustart oder eine Aktualisierung erforderlich.
In Spring-Anwendungen werden Eigenschaften als Beans innerhalb des Spring-Kontextes gehalten oder referenziert. Um neue Konfigurationen zu laden, können Sie die folgenden Methoden verwenden:
Starten Sie die Anwendung neu. Beim Neustart der Anwendung wird immer die neue Konfiguration geladen.
Rufen Sie den Endpunkt
/actuator/refresh
auf, der auf dem Konfigurationsclient über den Spring-Aktuator bereitgestellt wird.Um diese Methode zu verwenden, fügen Sie der Datei pom.xml Ihres Konfigurationsclients die folgende Abhängigkeit hinzu:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
Sie können den Aktuatorendpunkt auch aktivieren, indem Sie die folgende Konfiguration hinzufügen:
management.endpoints.web.exposure.include=refresh, bus-refresh, beans, env
Nach dem erneuten Laden der Eigenschaftenquellen durch Aufrufen des Endpunkts
/actuator/refresh
werden die an@Value
in den Beans mit der Anmerkung@RefreshScope
gebundenen Attribute aktualisiert.@Service @Getter @Setter @RefreshScope public class MyService { @Value private Boolean activated; }
Verwenden Sie curl mit dem Anwendungsendpunkt, um die neue Konfiguration zu aktualisieren, wie im folgenden Beispiel gezeigt:
curl -X POST http://{app-endpoint}/actuator/refresh
Verwenden Sie
FileSystemWatcher
, um die Dateiänderung zu beobachten und den Kontext bei Bedarf zu aktualisieren.FileSystemWatcher
ist eine mitspring-boot-devtools
bereitgestellte Klasse, die bestimmte Verzeichnisse auf Dateiänderungen überwacht. Alternativ können Sie ein anderes Dienstprogramm mit ähnlicher Funktion verwenden. Bei der ersten Option muss die Aktualisierung aktiv angestoßen werden, während bei der zweiten Option die Dateien überwacht werden können und die Aktualisierung automatisch aufgerufen wird, sobald Aktualisierungen erkannt werden. Sie können den Dateipfad mit Hilfe der UmgebungsvariablenAZURE_SPRING_APPS_CONFIG_FILE_PATH
abrufen, wie im Abschnitt über die Polyglot-Unterstützung erwähnt.
Konfigurieren der Einstellungen des Anwendungskonfigurationsdienstes
Führen Sie die folgenden Schritte aus, um den Anwendungskonfigurationsdienst zu konfigurieren:
Wählen Sie Anwendungskonfigurationsdienst aus.
Wählen Sie Übersicht aus, um den Ausführungsstatus und die Ressourcen anzuzeigen, die dem Anwendungskonfigurationsdienst zugeordnet sind.
Wählen Sie Einstellungen aus, und fügen Sie im Abschnitt Repositorys einen neuen Eintrag mit den Git-Back-End-Informationen hinzu.
Wählen Sie zum Überprüfen des Zugriffs auf den Ziel-URI die Option Überprüfen aus. Wählen Sie nach erfolgreichem Abschluss der Überprüfung Anwenden aus, um die Konfigurationseinstellungen zu aktualisieren.
Konfigurieren des TLS-Zertifikats für den Zugriff auf das Git-Back-End mit einem selbstsignierten Zertifikat für Gen2
Dieser Schritt ist optional. Wenn Sie ein selbstsigniertes Zertifikat für das Git-Back-End verwenden, müssen Sie das TLS-Zertifikat für den Zugriff auf das Git-Back-End konfigurieren.
Sie müssen das Zertifikat zuerst in Azure Spring Apps hochladen. Weitere Informationen finden Sie im Abschnitt Importieren eines Zertifikats von Verwendung von TLS/SSL-Zertifikaten in Ihrer Anwendung in Azure Spring Apps.
Führen Sie die folgenden Schritte aus, um das TLS-Zertifikat zu konfigurieren:
Verwenden des Application Configuration Service (Anwendungskonfigurationsdienst) mit Anwendungen
Wenn Sie den Anwendungskonfigurationsdienst mit einem Git-Back-End und die zentralisierten Konfigurationen verwenden, müssen Sie die App an den Anwendungskonfigurationsdienst binden.
Verwenden Sie den folgenden Befehl, um den Anwendungskonfigurationsdienst mit Anwendungen zu verwenden:
Öffnen Sie die Registerkarte App-Bindung.
Wählen Sie App binden und wählen Sie eine App aus der Dropdown-Liste. Wählen Sie Anwenden aus, um die Bindung zu aktivieren.
Hinweis
Wenn Sie den Bindungsstatus ändern, müssen Sie die App neu starten oder erneut bereitstellen, damit die Bindung wirksam wird.
Wählen Sie im Navigationsmenü Apps aus, um die Liste aller Apps anzuzeigen.
Wählen Sie die Zielanwendung, um Muster für die Spalte
name
zu konfigurieren.Wählen Sie im linken Navigationsbereich Konfiguration und dann Allgemeine Einstellungen aus.
Wählen Sie in der Dropdownliste Konfigurationsmuster mindestens ein Muster aus der Liste aus. Weitere Informationen finden Sie im Abschnitt Muster.
Wählen Sie Speichern.
Binden einer App an den Anwendungskonfigurationsdienst
Sie können ihre Anwendung jetzt beim Erstellen einer neuen App an den Anwendungskonfigurationsdienst binden.
Führen Sie die folgenden Schritte aus, um eine neue App zu erstellen und an den Anwendungskonfigurationsdienst zu binden:
Wählen Sie im Navigationsbereich Apps aus, um alle Ihre Apps anzuzeigen.
Wählen Sie App erstellen aus, um eine neue App zu erstellen.
Geben Sie einen Namen für Ihre neue App ein.
Wählen Sie die Registerkarte Binden und dann Anwendungskonfigurationsdienst aus der Dropdownliste aus.
Wählen Sie Erstellen aus, um die Erstellung Ihrer App abzuschließen und sie an den Anwendungskonfigurationsdienst zu binden.
Aktivieren/Deaktivieren des Anwendungskonfigurationsdiensts nach der Diensterstellung
Sie können den Anwendungskonfigurationsdienst nach der Diensterstellung über das Azure-Portal oder die Azure CLI aktivieren und deaktivieren. Bevor Sie den Anwendungskonfigurationsdienst deaktivieren, müssen Sie die Verknüpfung aller Apps daraus aufheben.
Führen Sie die folgenden Schritte aus, um den Anwendungskonfigurationsdienst zu aktivieren oder zu deaktivieren:
- Navigieren Sie zu Ihrer Dienstressource und wählen Sie dann den Anwendungskonfigurationsdienst aus.
- Wählen Sie Verwalten aus.
- Wählen Sie Anwendungskonfigurationsdienst aktivieren oder deaktivieren aus, und wählen Sie dann Speichern aus.
- Sie können nun den Status des Anwendungskonfigurationsdiensts auf der Seite Anwendungskonfigurationsdienst anzeigen.
Überprüfen der Konfigurationsdatei in ConfigMap
Im folgenden Abschnitt wird gezeigt, wie Sie den Inhalt der Konfigurationsdatei untersuchen, die vom Anwendungskonfigurationsdienst aus Git-Upstreamrepositorys im zugehörigen Kubernetes-ConfigMap
-Objekt gepullt werden. Weitere Informationen finden Sie im Abschnitt Aktualisierungsstrategien dieses Artikels.
Zuweisen einer Azure-Rolle
Zunächst muss Ihnen die Azure-Rolle Azure Spring Apps Application Configuration Service Config File Pattern Reader Role
zugewiesen werden.
Führen Sie die folgenden Schritte aus, um eine Azure-Rolle zuzuweisen:
Öffnen Sie das Azure-Portal, und navigieren Sie zu Ihrer Azure Spring Apps-Dienstinstanz.
Wählen Sie im Navigationsbereich Zugriffssteuerung (IAM) aus.
Wählen Sie auf der Seite Zugriffssteuerung (IAM) die Option Hinzufügen und dann Rollenzuweisung hinzufügen aus.
Suchen Sie auf der Seite Rollenzuweisung hinzufügen in der Liste Name die Zielrolle, und wählen Sie sie und anschließend Weiter aus.
Wählen Sie Mitglieder aus, suchen Sie nach Ihrem Benutzernamen, und wählen Sie diesen dann aus.
Wählen Sie Überprüfen und zuweisen aus.
Überprüfen der Konfigurationsdatei mit der Azure CLI
Führen Sie den folgenden Befehl aus, um den Inhalt der Konfigurationsdatei nach Muster anzuzeigen:
az spring application-configuration-service config show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--config-file-pattern <pattern>
Dieser Befehl erzeugt eine JSON-Ausgabe ähnlich wie im folgenden Beispiel:
{
"configurationFiles": {
"application.properties": [
"example.property.application.name: example-service",
"example.property.cloud: Azure"
]
},
"metadata": {
"gitRevisions": "[{\"url\":\"{gitRepoUrl}\",\"revision\":\"{revisionInfo}\"}]"
}
}
Hinweis
Die Eigenschaften metadata
und gitRevisions
sind für die Gen1-Version des Anwendungskonfigurationsdiensts nicht verfügbar.
Sie können diesen Befehl auch mit dem Parameter --export-path {/path/to/target/folder}
verwenden, um die Konfigurationsdatei in den angegebenen Ordner zu exportieren. Er unterstützt sowohl relative Pfade als auch absolute Pfade. Wenn Sie den Pfad nicht angeben, verwendet der Befehl standardmäßig den Pfad des aktuellen Verzeichnisses.
Überprüfen der Konfigurationsdatei in der App
Nachdem Sie die App an den Anwendungskonfigurationsdienst gebunden und das Muster für die App-Bereitstellung festgelegt haben, wie im Abschnitt Verwenden des Anwendungskonfigurationsdiensts mit Anwendungen dieses Artikels beschrieben, sollte das ConfigMap
-Objekt, das die Konfigurationsdatei für das Muster enthält, in den Anwendungscontainer eingebunden werden. Führen Sie die folgenden Schritte aus, um die Konfigurationsdateien in allen Instanzen der App-Bereitstellung zu überprüfen:
Stellen Sie eine Verbindung mit einer der Anwendungsinstanzen her. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einer App-Instanz zur Problembehandlung.
Verwenden Sie den Befehl
echo $AZURE_SPRING_APPS_CONFIG_FILE_PATH
, um die Ordner zu finden, die die Konfigurationsdateien enthalten. Eine Liste der Speicherorte wird durch Kommas getrennt angezeigt, wie im folgenden Beispiel gezeigt:$ echo $AZURE_SPRING_APPS_CONFIG_FILE_PATH /etc/azure-spring-cloud/configmap/acs-default-payment-default-e9d46,/etc/azure-spring-cloud/configmap/acs-default-catalog-default-616f4
Überprüfen Sie den Inhalt der Konfigurationsdatei mithilfe von Befehlen wie
cat
.
Hinweis
Die Git-Überarbeitungsinformationen sind in der App nicht verfügbar.
Überprüfen der Protokolle
In den folgenden Abschnitten wird gezeigt, wie Anwendungsprotokolle mithilfe der Azure CLI oder des Azure-Portals angezeigt werden.
Verwenden des Echtzeitprotokollstreamings
Sie können Protokolle in Echtzeit mit der Azure CLI streamen. Weitere Informationen finden Sie in Echtzeit unter Verwaltete Komponentenprotokolle von Stream Azure Spring Apps. Die folgenden Beispiele zeigen, wie Sie Azure CLI-Befehle verwenden können, um fortlaufend neue Protokolle für application-configuration-service
- und flux-source-controller
-Unterkomponenten zu streamen.
Verwenden Sie den folgenden Befehl, um Protokolle zu streamen für application-configuration-service
:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name application-configuration-service \
--all-instances \
--follow
Verwenden Sie den folgenden Befehl, um Protokolle zu streamen für flux-source-controller
:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name flux-source-controller \
--all-instances \
--follow
Verwenden von Log Analytics
In den folgenden Abschnitten erfahren Sie, wie Sie Systemprotokolle mithilfe von Log Analytics aktivieren und anzeigen.
Diagnoseeinstellung für Log Analytics
Sie müssen Systemprotokolle aktivieren und die Protokolle an Ihre Log Analytics-Instanz senden, bevor Sie die Protokolle für den Anwendungskonfigurationsdienst abfragen. Führen Sie die folgenden Schritte aus, um Systemprotokolle im Azure-Portal zu aktivieren:
Öffnen Sie Ihre Azure Spring Apps-Instanz.
Wählen Sie im Navigationsbereich die Diagnoseeinstellungen aus.
Wählen Sie Diagnoseeinstellung hinzufügen oder Einstellung bearbeiten für eine vorhandene Einstellung aus.
Wählen Sie im Abschnitt Protokolle die Kategorie Systemprotokolle aus.
Wählen Sie im Abschnitt Zieldetails die Option An Log Analytics-Arbeitsbereich senden und dann Ihren Arbeitsbereich aus.
Wählen Sie Speichern aus, um die Einstellung zu aktualisieren.
Überprüfen von Protokollen in Log Analytics
Führen Sie die folgenden Schritte aus, um die Protokolle von application-configuration-service
und flux-source-controller
im Azure-Portals zu überprüfen zu verwenden:
Stellen Sie sicher, dass Sie Systemprotokolle aktiviert haben. Weitere Informationen finden Sie im Abschnitt Diagnoseeinstellungen für Log Analytics.
Öffnen Sie Ihre Azure Spring Apps-Instanz.
Wählen Sie im Navigationsmenü Protokolle und dann Übersicht aus.
Verwenden Sie die folgenden Beispielabfragen im Abfragebearbeitungsbereich. Passen Sie den Zeitraum an und wählen Sie dann Ausführen aus, um nach Protokollen zu suchen.
Verwenden Sie die folgende Abfrage, um die Protokolle für
application-configuration-service
anzuzeigen:AppPlatformSystemLogs | where LogType in ("ApplicationConfigurationService") | project TimeGenerated , ServiceName , LogType, Log , _ResourceId | limit 100
Verwenden Sie die folgende Abfrage, um die Protokolle für
flux-source-controller
anzuzeigen:AppPlatformSystemLogs | where LogType in ("Flux") | project TimeGenerated , ServiceName , LogType, Log , _ResourceId | limit 100
Hinweis
Es kann möglicherweise ein paar Minuten dauern, bis die Protokolle in Log Analytics verfügbar sind.
Überprüfen der Git-Überarbeitungen der Konfigurationsdateien
Sie finden die Git-Überarbeitung der Konfigurationsdatei des Musters in den Protokollen des Anwendungskonfigurationsdiensts. Das folgende Beispielprotokoll zeigt an, dass die Konfigurationsdatei für das Muster payment/default
mit example-commit-id
aus dem Zweig main
des Repository https://github.com/Azure-Samples/acme-fitness-store-config
gezogen wird. Im Abschnitt Protokolle überprüfen erfahren Sie, wie Sie Protokolle abfragen.
Applied ConfigMap ({config-map-name}) for content (payment/default) from Git repositories https://github.com/Azure-Samples/acme-fitness-store-config@main@sha1:{example-commit-id}
Sie können die Git-Überarbeitung auch mithilfe der Azure CLI finden. Weitere Informationen finden Sie im Abschnitt Untersuchen der Konfigurationsdatei mit Azure CLI.
Hinweis
Die Git-Überarbeitung ist für die Gen1-Version des Anwendungskonfigurationsdiensts nicht verfügbar.
Problembehandlung für bekannte Probleme
Wenn die letzten Änderungen nicht in den Anwendungen übernommen wurden, überprüfen Sie die folgenden Punkte anhand des Abschnitts Aktualisierungsstrategien :
- Vergewissern Sie sich, dass das Git Repo korrekt aktualisiert wurde, indem Sie die folgenden Punkte überprüfen:
- Vergewissern Sie sich, dass der Branch mit den gewünschten Änderungen der Konfigurationsdatei aktualisiert wird.
- Bestätigen Sie, dass das im Anwendungskonfigurationsdienst konfigurierte Muster mit den aktualisierten Konfigurationsdateien übereinstimmt.
- Bestätigen Sie, dass die Anwendung an den Anwendungskonfigurationsdienst gebunden ist.
- Vergewissern Sie sich, dass der Anwendungskonfigurationsdienst die richtigen Git-Überarbeitungen verwendet, wie im Abschnitt Überprüfen von Git-Überarbeitungen des Abschnitts „Konfigurationsdateien“ beschrieben.
- Vergewissern Sie sich, dass das
ConfigMap
-Objekt, das die Konfigurationsdatei für das von der Anwendung verwendete Muster enthält, aktualisiert wird, wie im Abschnitt Überprüfen der Konfigurationsdatei in ConfigMap dieses Artikels beschrieben. Wenn sie nicht aktualisiert wurde, erstellen Sie ein Ticket. - Vergewissern Sie sich, dass
ConfigMap
als Datei in die Anwendung eingebunden wird, wie im Abschnitt Überprüfen der Konfigurationsdatei in der App dieses Artikels beschrieben. Wenn die Datei nicht aktualisiert wurde, warten Sie das Aktualisierungsintervall von Kubernetes ab (1 Minute) oder erzwingen Sie eine Aktualisierung, indem Sie die Anwendung neu starten.
Nachdem Sie diese Punkte überprüft haben, sollten die Anwendungen in der Lage sein, die aktualisierten Konfigurationen zu lesen. Wenn die Anwendungen immer noch nicht aktualisiert wurden, erstellen Sie ein Ticket.