Schnellstart: Bereitstellen von Microserviceanwendungen in Azure Spring Apps
Artikel
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei (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.
In diesem Artikel wird anhand der bekannten Beispiel-App PetClinic erklärt, wie Microserviceanwendungen in Azure Spring Apps bereitgestellt werden.
Das PetClinic-Beispiel veranschaulicht das Microservicearchitekturmuster. Das folgende Diagramm zeigt die Architektur der PetClinic-Anwendung im Azure Spring Apps Enterprise Plan.
Das Diagramm zeigt die folgenden architekturbezogenen Abläufe und Beziehungen des PetClinic-Beispiels:
Verwendet Azure Spring Apps zur Verwaltung der Front-End- und Back-End-Anwendungen. Die Back-End-Anwendungen werden mit Spring Boot erstellt und jede Anwendung verwendet HSQLDB als persistenten Speicher. Die überarbeitete Front-End-Anwendung baut auf der Pet Clinic API Gateway App mit Node.js auf und dient als eigenständige Front-End-Webanwendung.
Verwendet die verwalteten Komponenten von Azure Spring Apps, einschließlich Dienstregistrierung, Anwendungskonfigurationsdienst, Spring Cloud-Gateway und Anwendungsliveansicht. Der Anwendungskonfigurationsdienst liest die Konfiguration des Git-Repositorys.
Macht die URL von Spring Cloud-Gateway verfügbar, um Anforderungen an Back-End-Serviceanwendungen weiterzuleiten, und macht die URL der Anwendungsliveansicht verfügbar, um die Back-End-Anwendungen zu überwachen.
Analysiert Protokolle mithilfe des Log Analytics-Arbeitsbereichs.
Überwacht die Leistung mit Application Insights.
Hinweis
In diesem Artikel wird eine vereinfachte Version von PetClinic verwendet, die eine nicht produktionsreife In-Memory-Datenbank zur schnellen Bereitstellung von Azure Spring Apps nutzt.
Das PetClinic-Beispiel veranschaulicht das Microservicearchitekturmuster. Das folgende Diagramm zeigt die Architektur der PetClinic-Anwendung im Azure Spring Apps Standard-Plan.
Das Diagramm zeigt die folgenden architekturbezogenen Abläufe und Beziehungen des PetClinic-Beispiels:
Verwendet Azure Spring Apps zum Verwalten der Spring Boot-Apps. Jede App verwendet HSQLDB als beständigen Speicher.
Verwendet die verwalteten Komponenten „Spring Cloud Config Server“ und „Eureka Service Registry“ auf Azure Spring Apps. Der Config Server liest die Konfiguration des Git-Repositorys.
Macht die URL des API-Gateways für Lastenausgleichsanforderungen für Dienst-Apps verfügbar und macht die URL des Admin Servers verfügbar, um die Anwendungen zu verwalten.
Analysiert Protokolle mithilfe des Log Analytics-Arbeitsbereichs.
Überwacht die Leistung mit Application Insights.
Hinweis
In diesem Artikel wird eine vereinfachte Version von PetClinic verwendet, die eine nicht produktionsreife In-Memory-Datenbank zur schnellen Bereitstellung von Azure Spring Apps nutzt.
Die bereitgestellte App admin-server macht den öffentlichen Zugriff verfügbar. Dies ist ein Risikopunkt. Die Produktionsumgebung muss die Spring Boot Admin-Anwendung schützen.
Dieser Artikel enthält die folgenden Optionen für die Bereitstellung in Azure Spring Apps:
Die Azure-Portal-Option ist die einfachste und schnellste Möglichkeit, Ressourcen zu erstellen und Anwendungen mit einem einzigen Klick bereitzustellen. Diese Option eignet sich für Spring-Entwickler, die Anwendungen schnell in Azure Cloud Services bereitstellen möchten.
Die Option Azure-Portal + Maven-Plug-In bietet eine herkömmlichere Möglichkeit, Ressourcen zu erstellen und Anwendungen schrittweise bereitzustellen. Sie eignet sich für Spring-Entwickler, die Azure Cloud Services zum ersten Mal verwenden.
Die Azure CLI nutzt ein leistungsfähiges Befehlszeilentool zum Verwalten von Azure-Ressourcen. Diese Option eignet sich für Spring-Entwickler, die mit Azure Cloud Services vertraut sind.
Die Option Azure-Portal + Maven-Plug-In bietet eine herkömmlichere Möglichkeit, Ressourcen zu erstellen und Anwendungen schrittweise bereitzustellen. Sie eignet sich für Spring-Entwickler, die Azure Cloud Services zum ersten Mal verwenden.
Die Azure Developer CLI ist eine effizientere Möglichkeit, um Ressourcen automatisch zu erstellen und Anwendungen mithilfe einfacher Befehle bereitzustellen. Die Azure Developer CLI verwendet eine Vorlage, um die erforderlichen Azure-Ressourcen und den Anwendungscode bereitzustellen. Diese Option eignet sich für Spring-Entwickler, die mit Azure Cloud Services vertraut sind.
Ein Azure-Abonnement. Wenn Sie kein Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Wenn Sie eine Instanz des Azure Spring Apps Enterprise-Plans zum ersten Mal im Zielabonnement bereitstellen, finden Sie Informationen hierzu im Abschnitt Voraussetzungen des Enterprise-Plans in Azure Marketplace.
Ein Azure-Abonnement. Wenn Sie kein Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Wenn Sie eine Instanz des Azure Spring Apps Enterprise-Plans zum ersten Mal im Zielabonnement bereitstellen, finden Sie Informationen hierzu im Abschnitt Voraussetzungen des Enterprise-Plans in Azure Marketplace.
Ein Azure-Abonnement. Wenn Sie kein Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Wenn Sie eine Instanz des Azure Spring Apps Enterprise-Plans zum ersten Mal im Zielabonnement bereitstellen, finden Sie Informationen hierzu im Abschnitt Voraussetzungen des Enterprise-Plans in Azure Marketplace.
In der folgenden Liste wird die Befehlsinteraktion beschrieben:
Geben Sie einen neuen Umgebungsnamen ein: Geben Sie einen Umgebungsnamen an, der als Suffix für die Ressourcengruppe verwendet wird, die erstellt wird, um alle Azure-Ressourcen aufzunehmen. Dieser Name muss in Ihrem Azure-Abonnement eindeutig sein.
Die Konsole gibt Meldungen aus, die dem folgenden Beispiel ähneln:
Initializing a new project (azd init)
Downloading template code to: <your-local-path>
(✓) Done: Initialized git repository
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Cloudumgebung vorbereiten
In diesem Abschnitt wird beschrieben, wie Sie eine Azure Spring Apps-Dienstinstanz erstellen und die Azure-Cloudumgebung vorbereiten.
Navigieren Sie zum Azure-Portal, geben Sie Ihre Anmeldeinformationen ein, und melden Sie sich beim Portal an. Die Standardansicht ist Ihr Dienstdashboard.
3.2. Erstellen einer Azure Spring Apps-Instanz
Führen Sie die folgenden Schritte aus, um die Dienstinstanz zu erstellen:
Wählen Sie in der Ecke des Azure-Portals Ressource erstellen aus.
Wählen Sie auf der Registerkarte Azure-Dienste die Option Compute>Azure Spring Apps aus.
Füllen Sie auf der Seite Azure Spring Apps erstellen das Formular auf der Registerkarte Grundlagen aus.
Verwenden Sie die folgende Tabelle als Leitfaden zum Ausfüllen des Formulars. Der empfohlene Plan ist Standard.
Einstellung
Vorgeschlagener Wert
BESCHREIBUNG
Abonnement
Der Name Ihres Abonnements
Das Azure-Abonnement, das Sie für Ihren Server verwenden möchten. Falls Sie über mehrere Abonnements verfügen, wählen Sie das Abonnement aus, über das die Ressource abgerechnet werden soll.
Ressourcengruppe
myresourcegroup
Ein neuer Ressourcengruppenname oder ein bereits vorhandener Name aus Ihrem Abonnement
Name
myasa
Ein eindeutiger Name, der Ihre Azure Spring Apps-Instanz identifiziert. Der Name muss zwischen 4 und 32 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen des Dienstnamens muss ein Buchstabe und das letzte Zeichen entweder ein Buchstabe oder eine Ziffer sein.
Planen
Standard
Der Tarif bestimmt die Ressourcen und Kosten, die mit Ihrer Instanz verbunden sind.
Region
Die Region, die Ihren Benutzern am nächsten ist.
Der Standort, der Ihren Benutzern am nächsten ist.
Zonenredundant
Nicht markiert
Erstellt Ihren Azure Spring Apps-Dienst in einer Azure-Verfügbarkeitszone. Wird derzeit nicht in allen Regionen unterstützt.
Navigieren Sie zur Registerkarte Diagnoseeinstellungen auf der Seite Azure Spring Apps erstellen, und wählen Sie dann Neu erstellen aus, um eine neue Log Analytics-Arbeitsbereichsinstanz zu erstellen. Aktualisieren Sie auf der Seite Neuen Log Analytics-Arbeitsbereich erstellen den Namen des Log Analytics-Arbeitsbereichs nach Bedarf, und wählen Sie dann OK aus, um die Erstellung zu bestätigen.
Navigieren Sie zur Registerkarte Application Insights auf der Seite Azure Spring Apps erstellen, und wählen Sie dann Neu erstellen aus, um eine neue Application Insights-Instanz zu erstellen. Aktualisieren Sie auf der Seite Neue Application Insights-Ressource erstellen den Application Insights-Namen nach Bedarf, wählen Sie Arbeitsbereich-basiert für Ressourcenmodus aus, und wählen Sie dann OK aus, um die Erstellung zu bestätigen.
Wählen Sie Überprüfen und erstellen aus, um ihre Auswahl zu überprüfen. Wählen Sie dann Erstellen aus, um die Azure Spring Apps-Instanz bereitzustellen.
Klicken Sie auf das Symbol Benachrichtigungen (eine Glocke), um den Bereitstellungsprozess zu überwachen. Nach Abschluss der Bereitstellung können Sie An Dashboard anheften auswählen, um auf Ihrem Dashboard im Azure-Portal eine Verknüpfung zu erstellen, über die Sie direkt zur Seite Übersicht des Diensts gelangen.
Wählen Sie Zu Ressource wechseln aus, um zur Seite Übersicht für Azure Spring Apps zu wechseln.
Wählen Sie im Navigationsbereich die Option Config Server aus.
Wählen Sie nach der Überprüfung Anwenden aus, um die Konfiguration des Konfigurationsservers abzuschließen.
Führen Sie die folgenden Schritte aus, um die erforderlichen Ressourcen zu erstellen:
Verwenden Sie den folgenden Befehl, um sich bei Azure mit OAuth2 anzumelden. Ignorieren Sie diesen Schritt, wenn Sie bereits angemeldet sind.
azd auth login
Die Konsole gibt Meldungen aus, die dem folgenden Beispiel ähneln:
Logged in to Azure.
Verwenden Sie den folgenden Befehl, um eine bereitstellbare Kopie Ihrer Anwendung zu packen, die Infrastruktur der Vorlage in Azure bereitzustellen und dann den Anwendungscode für diese neu bereitgestellten Ressourcen bereitzustellen:
azd provision
In der folgenden Liste werden die Befehlsinteraktionen beschrieben:
Wählen Sie ein zu verwendendes Azure-Abonnement aus: Verwenden Sie die Pfeile zum Verschieben, geben Sie Text ein, um zu filtern, und drücken Sie dann die EINGABETASTE.
Wählen Sie einen zu verwendenden Azure-Standort aus: Verwenden Sie die Pfeile zum Verschieben, geben Sie Text ein, um zu filtern, und drücken Sie dann die EINGABETASTE.
Die Konsole gibt Meldungen aus, die dem folgenden Beispiel ähneln:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Hinweis
Die Ausführung des Befehls kann eine Weile dauern. Beim Bereitstellen von Azure-Ressourcen wird ein Statusindikator angezeigt.
4. Bereitstellen der Apps in Azure Spring Apps
Sie können die App jetzt in Azure Spring Apps bereitstellen.
In der folgenden Liste werden die Befehlsinteraktionen beschrieben:
Wählen Sie die zu konfigurierenden untergeordneten Module (durch Komma getrennt eingeben, z. B. [1-2,4,6]; EINGABETASTE, um ALLE auszuwählen): Drücken Sie die EINGABETASTE, um alle auszuwählen.
OAuth2-Anmeldung: Autorisieren Sie die Anmeldung bei Azure basierend auf dem OAuth2-Protokoll.
Abonnement auswählen: Wählen Sie die Nummer der von Ihnen erstellten Azure Spring Apps-Instanz in der Abonnementliste aus, die standardmäßig das erste Abonnement in der Liste ist. Wenn Sie die Standardnummer verwenden, drücken Sie direkt die EINGABETASTE.
Auswählen von Azure Spring Apps für die Bereitstellung: Wählen Sie die Listennummer der von Ihnen erstellten Azure Spring Apps-Instanz aus. Wenn Sie die Standardnummer verwenden, drücken Sie direkt die EINGABETASTE.
Wählen Sie Apps aus, um den öffentlichen Zugriff verfügbar zu machen (durch Komma getrennt eingeben, z. B. [1-2,4,6]; EINGABETASTE, um KEINE auszuwählen): Geben Sie 1,5 für admin-server und api-gateway ein.
Bestätigen Sie, dass alle oben genannten Konfigurationen (Y/n) gespeichert werden sollen: Drücken Sie y. Wenn Sie n drücken, wird die Konfiguration nicht in den POM-Dateien gespeichert.
Verwenden Sie den folgenden Befehl, um alle Anwendungen zu erstellen und bereitzustellen:
./mvnw azure-spring-apps:deploy
Für die OAuth2-Anmeldung-Eingabeaufforderung: Autorisieren Sie die Anmeldung bei Azure basierend auf dem OAuth2-Protokoll.
Hinweis
Die Bereitstellung in Azure Spring Apps kann bis zu 25 Minuten dauern.
Sobald der Befehl ausgeführt wird, zeigt ein Protokoll eine Ausgabe ähnlich dem folgenden Beispiel an, die angibt, dass alle Bereitstellungen erfolgreich waren:
[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO] InstanceName:admin-server-default-xx-xx-xxx Status:Running Reason:null DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
...
[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
Führen Sie die folgenden Schritte aus, um die App zu packen, die für die Webanwendung erforderlichen Azure-Ressourcen bereitzustellen und dann in Azure Spring Apps bereitzustellen:
Verwenden Sie den folgenden Befehl, um eine bereitstellbare Kopie Ihrer Anwendung zu packen:
azd package
Die Konsole gibt Meldungen aus, die dem folgenden Beispiel ähneln:
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Verwenden Sie den folgenden Befehl, um den Anwendungscode für diese neu bereitgestellten Ressourcen bereitzustellen:
azd deploy
Die Konsole gibt Meldungen aus, die dem folgenden Beispiel ähneln:
Deploying services (azd deploy)
(✓) Done: Deploying service admin-server
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
(✓) Done: Deploying service api-gateway
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
(✓) Done: Deploying service customers-service
- No endpoints were found
(✓) Done: Deploying service vets-service
- No endpoints were found
(✓) Done: Deploying service visits-service
- No endpoints were found
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Hinweis
Sie können auch azd up verwenden, um die vorherigen drei Befehle zu kombinieren: azd package (packt eine bereitstellungsfähige Kopie Ihrer Anwendung), azd provision (stellt Azure-Ressourcen bereit) und azd deploy (stellt Anwendungscode bereit). Weitere Informationen finden Sie unter Azure-Samples/spring-petclinic-microservices.
Die Schaltfläche In Azure bereitstellen im nächsten Abschnitt startet einen Workflow im Azure-Portal, mit dem der Quellcode aus dem Repository Spring PetClinic bereitgestellt wird. Es sind keine lokalen Vorbereitungsschritte erforderlich.
Führen Sie die folgenden Schritte auf Ihrem lokalen Computer aus, wenn Sie die Anwendung überprüfen möchten, bevor Sie sie in der Cloud bereitstellen:
Verwenden Sie den folgenden Befehl, um die PetClinic-Anwendung von GitHub zu klonen:
Öffnen Sie für die Dienste „Kund*innen“, „Tierärzt*innen“, „Besuche“, und „Spring Cloud-Gateway“ ein neues Bash-Fenster und verwenden die folgenden Befehle, um die Dienste zu starten:
Öffnen Sie ein neues Bash-Fenster und navigieren Sie zum Projektverzeichnis spring-petclinic-frontend. Verwenden Sie die folgenden Befehle, um Abhängigkeiten zu installieren und die Front-End-Anwendung auszuführen:
npm install
npm run start
Nachdem das Skript erfolgreich abgeschlossen wurde, gehen Sie in Ihrem Browser auf http://localhost:8080, um die PetClinic Anwendung aufzurufen.
Führen Sie die folgenden Schritte auf Ihrem lokalen Computer aus, wenn Sie die Anwendung überprüfen möchten, bevor Sie sie in der Cloud bereitstellen:
Verwenden Sie den folgenden Befehl, um die PetClinic-Anwendung von GitHub zu klonen:
Öffnen Sie für die Dienste „Kund*innen“, „Tierärzt*innen“, „Besuche“, und „Spring Cloud-Gateway“ ein neues Bash-Fenster und verwenden die folgenden Befehle, um die Dienste zu starten:
Öffnen Sie ein neues Bash-Fenster und navigieren Sie zum Projektverzeichnis spring-petclinic-frontend. Verwenden Sie die folgenden Befehle, um Abhängigkeiten zu installieren und die Front-End-Anwendung auszuführen:
npm install
npm run start
Nachdem das Skript erfolgreich abgeschlossen wurde, gehen Sie in Ihrem Browser auf http://localhost:8080, um die PetClinic Anwendung aufzurufen.
3. Cloudumgebung vorbereiten
Die wichtigsten Ressource, die Sie zum Ausführen dieses Beispiels benötigen, ist eine Azure Spring Apps-Instanz. In diesem Abschnitt wird beschrieben, wie diese Ressource erstellt wird.
In diesem Abschnitt wird eine Schaltfläche Bereitstellen in Azure verwendet, um eine Bereitstellung im Azure-Portal zu starten. Diese Erfahrung verwendet eine ARM-Vorlage zum Erstellen von Azure-Ressourcen.
3.1. Melden Sie sich auf dem Azure-Portal an.
Navigieren Sie zum Azure-Portal, geben Sie Ihre Anmeldeinformationen ein, und melden Sie sich beim Portal an. Die Standardansicht ist Ihr Dienstdashboard.
3.2. Erstellen von Azure-Ressourcen
Führen Sie die folgenden Schritte aus, um alle Azure-Ressourcen zu erstellen, von denen die App abhängig ist:
Wählen Sie die folgende Schaltfläche In Azure bereitstellen aus, um die Bereitstellung im Azure-Portal zu starten:
Füllen Sie das Formular auf der Registerkarte Grundlagen aus. Verwenden Sie die folgende Tabelle als Leitfaden zum Ausfüllen des Formulars:
Einstellung
Vorgeschlagener Wert
BESCHREIBUNG
Abonnement
Der Name Ihres Abonnements
Das Azure-Abonnement, das Sie für Ihren Server verwenden möchten. Falls Sie über mehrere Abonnements verfügen, wählen Sie das Abonnement aus, über das die Ressource abgerechnet werden soll.
Ressourcengruppe
myresourcegroup
Ein neuer Ressourcengruppenname oder ein bereits vorhandener Name aus Ihrem Abonnement
Region
Die Region, die Ihren Benutzern am nächsten ist.
Die Region wird verwendet, um die Ressourcengruppe zu erstellen.
Wählen Sie Überprüfen und erstellen aus, um ihre Auswahl zu überprüfen. Wählen Sie dann Erstellen aus, um die App in Azure Spring Apps bereitzustellen.
Klicken Sie auf der Symbolleiste auf das Symbol Benachrichtigungen (eine Glocke), um den Bereitstellungsprozess zu überwachen. Nach Abschluss der Bereitstellung können Sie An Dashboard anheften auswählen, wodurch auf Ihrem Azure-Portal-Dashboard eine Kachel für diesen Dienst erstellt wird, die als Verknüpfung zur Seite Übersicht des Diensts fungiert. Wählen Sie Zu Ressource wechseln aus, um die Seite Übersicht des Diensts zu öffnen.
3.1. Melden Sie sich auf dem Azure-Portal an.
Wechseln Sie zum Azure-Portal und geben Sie Ihre Anmeldeinformationen ein, um sich beim Portal anzumelden. Die Standardansicht ist Ihr Dienstdashboard.
3.2. Erstellen einer Azure Spring Apps-Instanz
Führen Sie die folgenden Schritte aus, um die Dienstinstanz zu erstellen:
Wählen Sie in der Ecke des Azure-Portals Ressource erstellen aus.
Wählen Sie Compute>Azure Spring Apps aus.
Füllen Sie das Formular auf der Registerkarte Grundlagen aus. Verwenden Sie die folgende Tabelle als Leitfaden zum Ausfüllen des Formulars:
Einstellung
Vorgeschlagener Wert
BESCHREIBUNG
Abonnement
Der Name Ihres Abonnements
Das Azure-Abonnement, das Sie für Ihren Server verwenden möchten. Falls Sie über mehrere Abonnements verfügen, wählen Sie das Abonnement aus, über das die Ressource abgerechnet werden soll.
Ressourcengruppe
myresourcegroup
Ein neuer Ressourcengruppenname oder ein bereits vorhandener Name aus Ihrem Abonnement
Name
myasa
Ein eindeutiger Name, der Ihren Azure Spring Apps-Dienst identifiziert. Der Name muss zwischen 4 und 32 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen des Dienstnamens muss ein Buchstabe und das letzte Zeichen entweder ein Buchstabe oder eine Ziffer sein.
Region
Die Region, die Ihren Benutzern am nächsten ist.
Der Standort, der Ihren Benutzern am nächsten ist.
Hostingoptionen und -pläne
Enterprise
Der Tarif, der die Ressource und die Kosten bestimmt, die mit Ihrer Instanz verbunden sind.
Zonenredundant
Nicht markiert
Die Option zum Erstellen Ihres Azure Spring Apps-Diensts in einer Azure-Verfügbarkeitszone. Dieses Feature wird derzeit nicht in allen Regionen unterstützt.
Software-IP-Plan
Nutzungsbasierte Bezahlung
Der Preisplan, mit dem die nutzungsbasierte Bezahlung für Azure Spring Apps möglich ist.
Bereitstellen eines Beispielprojekts
Nicht markiert
Die Option zum Verwenden der integrierten Beispielanwendung.
Navigieren Sie zur Registerkarte Diagnoseeinstellungen auf der Seite Azure Spring Apps erstellen, und wählen Sie dann Neu erstellen aus, um eine neue Log Analytics-Arbeitsbereichsinstanz zu erstellen. Aktualisieren Sie auf der Seite Neuen Log Analytics-Arbeitsbereich erstellen den Namen des Log Analytics-Arbeitsbereichs nach Bedarf, und wählen Sie dann OK aus, um die Erstellung zu bestätigen.
Navigieren Sie zur Registerkarte Application Insights auf der Seite Azure Spring Apps erstellen, und wählen Sie dann Neu erstellen aus, um eine neue Application Insights-Instanz zu erstellen. Aktualisieren Sie auf der Seite Neue Application Insights-Ressource erstellen den Application Insights-Namen nach Bedarf, wählen Sie Arbeitsbereich-basiert für Ressourcenmodus aus, und wählen Sie dann OK aus, um die Erstellung zu bestätigen.
Wählen Sie Überprüfen und erstellen aus, um ihre Auswahl zu überprüfen. Wählen Sie dann Erstellen aus, um die Azure Spring Apps-Instanz bereitzustellen.
Klicken Sie auf das Symbol Benachrichtigungen (eine Glocke), um den Bereitstellungsprozess zu überwachen. Nach Abschluss der Bereitstellung können Sie An Dashboard anheften auswählen, um auf Ihrem Dashboard im Azure-Portal eine Verknüpfung zu erstellen, über die Sie direkt zur Seite Übersicht des Diensts gelangen.
Wählen Sie Zu Ressource wechseln aus, um zur Seite Übersicht für Azure Spring Apps zu wechseln.
3.3. Konfigurieren der Azure Spring Apps-Instanz
In den folgenden Abschnitten erfahren Sie, wie Sie die Dienstinstanz konfigurieren.
Erstellen der Apps
Verwenden Sie die folgenden Schritte, um die Anwendungen zu erstellen:
Wählen Sie im Navigationsbereich Apps und dann App erstellen aus.
Verwenden Sie auf der Seite App erstellen für den App-Namenfrontend und übernehmen Sie für alle anderen Felder die Standardwerte.
Wiederholen Sie den letzten Schritt mit jedem der folgenden Anwendungsnamen:
customers-service
vets-service
visits-service
Wählen Sie Erstellen aus, um die Anwendungserstellung abzuschließen.
Konfigurieren der Dienstregistrierung
Führen Sie die folgenden Schritte aus, um die Dienstregistrierung zu konfigurieren:
Wählen Sie im Navigationsbereich Dienstregistrierung aus.
Wählen Sie App-Bindung und dann App binden aus. In der Liste wählen Sie customers-service und dann Anwenden aus.
Wiederholen Sie den letzten Schritt, um die folgenden Anwendungen zu binden:
vets-service
visits-service
Konfigurieren des Anwendungskonfigurationsdiensts
Führen Sie die folgenden Schritte aus, um den Anwendungskonfigurationsdienst zu konfigurieren:
Wählen Sie im Navigationsbereich Anwendungskonfigurationsdienst und dann Einstellungen aus.
Füllen Sie das Repository mit den folgenden Informationen aus, und wählen Sie dann Überprüfen aus:
Wählen Sie nach der Überprüfung Anwenden aus, um die Konfiguration des Anwendungskonfigurationsdiensts abzuschließen.
Wählen Sie App-Bindung und dann App binden aus. In der Liste wählen Sie customers-service und dann Anwenden aus.
Wiederholen Sie den letzten Schritt, um die folgenden Anwendungen zu binden:
vets-service
visits-service
Festlegen der Konfigurationsdateimuster für Anwendungen
Gehen Sie wie folgt vor, um die Muster der Konfigurationsdatei festzulegen:
Wählen Sie im Navigationsbereich Apps und dann die App customers-service aus.
Wählen Sie auf der Seite App-ÜbersichtKonfiguration aus, wählen Sie Konfigurationsdateimuster auf der Registerkarte Allgemeine Einstellungen aus und wählen Sie dann application und customers-service aus. Wählen Sie Speichern aus, um die Konfigurationsdateimuster festzulegen.
Wiederholen Sie den letzten Schritt, um die Konfigurationsdateimuster für die folgenden Anwendungen zu speichern:
vets-service: Wählen Sie application und vets-service aus.
visits-service: Wählen Sie application und visits-service aus.
Konfigurieren von Spring Cloud Gateway
In diesem Abschnitt erfahren Sie, wie Sie Spring Cloud-Gateway konfigurieren.
Führen Sie zunächst die folgenden Schritte aus, um einen Endpunkt für den Gatewayzugriff zuzuweisen:
Wählen Sie im Navigationsbereich Spring Cloud-Gateway aus.
Wählen Sie auf der Registerkarte ÜbersichtJa aus, um einen Endpunkt zuzuweisen. Speichern Sie die Endpunkt-URL zur späteren Verwendung.
Konfigurieren Sie als Nächstes das Routing für Spring Cloud-Gateway. Da das Azure-Portal derzeit keine Routenkonfiguration für Spring Cloud-Gateway unterstützt, öffnen Sie ein Bash-Fenster und verwenden Sie die folgenden Azure CLI-Schritte, um das Routing zu konfigurieren:
Verwenden Sie den folgenden Befehl, um sich bei der Azure CLI anzumelden:
az login
Verwenden Sie die folgenden Befehle, um die Azure Container Apps-Erweiterung für die Azure CLI zu installieren und den Namespace Microsoft.SaaS zu registrieren:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Verwenden Sie den folgenden Befehl, um die rechtlichen Bestimmungen und Datenschutzerklärungen zu akzeptieren:
Hinweis
Dieser Schritt ist nur erforderlich, wenn Ihr Abonnement noch nie zum Erstellen einer Instanz des Enterprise-Plans von Azure Spring Apps verwendet wurde.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Erstellen Sie Variablen zur Aufnahme der Ressourcennamen, indem Sie die folgenden Befehle verwenden. Ersetzen Sie die Platzhalter durch Ihre eigenen Werte.
Sie können die Entwicklertools mithilfe der folgenden Schritte konfigurieren.
Wählen Sie im Navigationsbereich Entwicklertools aus.
Wählen Sie Endpunkt zuweisen, um einen Endpunkt für Entwicklertools zuzuweisen.
Speichern Sie den Endpunkt Anwendungsliveansicht zur späteren Verwendung.
3.1. Geben Sie einen Namen für jede Ressource an.
Erstellen Sie Variablen zur Aufnahme der Ressourcennamen, indem Sie die folgenden Befehle verwenden. Ersetzen Sie die Platzhalter durch Ihre eigenen Werte.
3.2. Melden Sie sich bei der Azure-Befehlszeilenschnittstelle an.
Melden Sie sich mithilfe der folgenden Schritte an:
Verwenden Sie den folgenden Befehl, um sich bei der Azure CLI anzumelden:
az login
Verwenden Sie den folgenden Befehl, um alle verfügbaren Abonnements aufzulisten, um die zu verwendende Abonnement-ID zu bestimmen:
az account list --output table
Verwenden Sie den folgenden Befehl, um das Standardabonnement festzulegen:
az account set --subscription <subscription-ID>
3.3. Erstellen einer neuen Ressourcengruppe
Führen Sie die folgenden Schritte aus, um eine neue Ressourcengruppe zu erstellen:
Verwenden Sie den folgenden Befehl, um den Standardspeicherort festzulegen:
az configure --defaults location=${LOCATION}
Verwenden Sie den folgenden Befehl, um eine Ressourcengruppe zu erstellen:
az group create --resource-group ${RESOURCE_GROUP}
Verwenden Sie den folgenden Befehl, um die neu erstellte Ressourcengruppe als Standardressourcengruppe festzulegen:
az configure --defaults group=${RESOURCE_GROUP}
3.4. Installieren der Erweiterung und Registrieren des Namespaces
Verwenden Sie die folgenden Befehle, um die Azure Container Apps-Erweiterung für die Azure CLI zu installieren und den Namespace Microsoft.SaaS zu registrieren:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
3.5. Erstellen einer Azure Spring Apps-Instanz
Führen Sie die folgenden Schritte aus, um die Dienstinstanz zu erstellen:
Führen Sie den folgenden Befehl aus, um die rechtlichen Bedingungen und Datenschutzbestimmungen für den Enterprise-Plan zu akzeptieren:
Hinweis
Dieser Schritt ist nur erforderlich, wenn Ihr Abonnement noch nie zum Erstellen einer Instanz des Enterprise-Plans von Azure Spring Apps verwendet wurde.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Verwenden Sie den folgenden Befehl, um eine Azure Spring Apps-Dienstinstanz mit den erforderlichen Tanzu-Komponenten zu erstellen:
az spring create \
--name ${SPRING_APPS} \
--sku Enterprise \
--enable-application-configuration-service \
--enable-service-registry \
--enable-gateway \
--enable-application-live-view
3.6. Konfigurieren der Azure Spring Apps-Instanz
Führen Sie die folgenden Schritte aus, um die Dienstinstanz zu konfigurieren:
Verwenden Sie den folgenden Befehl, um Diagnoseeinstellungen für die Azure Spring Apps-Instanz zu konfigurieren:
Verwenden Sie die folgenden Befehle, um Anwendungen für die Azure Spring Apps-Instanz zu erstellen:
az spring app create --service ${SPRING_APPS} --name ${APP_FRONTEND}
az spring app create --service ${SPRING_APPS} --name ${APP_CUSTOMERS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VETS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VISITS_SERVICE}
Verwenden Sie den folgenden Befehl, um Anwendungen an die Dienstregistrierung zu binden:
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_CUSTOMERS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VETS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VISITS_SERVICE}
Verwenden Sie den folgenden Befehl, um ein Konfigurationsrepository für den Anwendungskonfigurationsdienst zu erstellen:
Verwenden Sie die folgenden Befehle, um Anwendungen an den Anwendungskonfigurationsdienst zu binden:
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_CUSTOMERS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VETS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VISITS_SERVICE}
Verwenden Sie den folgenden Befehl, um dem Spring Cloud Gateway einen Endpunkt zuzuweisen:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Verwenden Sie den folgenden Befehl, um das Routing für die customers-service-Anwendung festzulegen:
Die Schaltfläche Bereitstellen in Azure im vorherigen Abschnitt startet eine Azure-Portal-Erfahrung, die die Anwendungsbereitstellung umfasst, sodass nichts anderes erforderlich ist.
In der folgenden Liste werden die Befehlsinteraktionen beschrieben:
Auswählen untergeordneter Module für die Konfiguration: Drücken Sie die Eingabetaste, um alle auszuwählen.
Abonnement auswählen: Wählen Sie die Nummer der von Ihnen erstellten Azure Spring Apps-Instanz in der Abonnementliste aus, die standardmäßig das erste Abonnement in der Liste ist. Wenn Sie die Standardnummer verwenden, drücken Sie direkt die EINGABETASTE.
Vorhandene Azure Spring Apps-Instanz in Azure verwenden: Drücken Sie y, um die vorhandene Azure Spring Apps-Instanz zu verwenden.
Auswählen von Apps, um den öffentlichen Zugriff verfügbar zu machen: Drücken Sie die Eingabetaste, um keine auszuwählen.
Bestätigen, dass alle oben genannten Konfigurationen gespeichert werden sollen: Drücken Sie y. Wenn Sie n drücken, wird die Konfiguration nicht in den POM-Dateien gespeichert.
Verwenden Sie den folgenden Befehl, um die Back-End-Anwendungen bereitzustellen:
./mvnw azure-spring-apps:deploy
Sobald der Befehl ausgeführt wird, ersehen Sie aus der folgenden Protokollbenachrichtigung, dass die Bereitstellung erfolgreich war:
[INFO] Start deploying artifact(customers-service-3.0.1.jar) to deployment(default) of app(customers-service)...
[INFO] Artifact(customers-service-3.0.1.jar) is successfully deployed to deployment(default) of app(customers-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(vets-service-3.0.1.jar) to deployment(default) of app(vets-service)...
[INFO] Artifact(vets-service-3.0.1.jar) is successfully deployed to deployment(default) of app(vets-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(visits-service-3.0.1.jar) to deployment(default) of app(visits-service)...
[INFO] Artifact(visits-service-3.0.1.jar) is successfully deployed to deployment(default) of app(visits-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Das Azure-Portal unterstützt die Bereitstellung von Front-End-Anwendungen nicht. Verwenden Sie daher den folgenden Azure CLI-Befehl, um die Front-End-Anwendung bereitzustellen:
az spring app deploy \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--source-path spring-petclinic-frontend \
--build-env BP_WEB_SERVER=nginx
Sobald der Befehl ausgeführt wird, ersehen Sie aus der folgenden Protokollbenachrichtigung, dass die Bereitstellung erfolgreich war:
[5/5] Updating deployment in app "frontend" (this operation can take a while to complete)
Azure Spring Apps will use rolling upgrade to update your deployment, you have 1 instance, Azure Spring Apps will update the deployment in 1 round.
The deployment is in round 1, 1 old instance is deleted/deleting and 1 new instance is started/starting
Your application is successfully deployed.
Verwenden Sie die folgenden Schritte, um die Anwendungen bereitzustellen:
Geben Sie das Stammverzeichnis des Projekts ein und verwenden Sie den folgenden Befehl, um die Frontend-Anwendung zu erstellen und bereitzustellen:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Verwenden Sie den folgenden Befehl, um die customers-service-Anwendung zu erstellen und bereitzustellen:
Nach Abschluss der Bereitstellung finden Sie die Spring Cloud Gateway-URL in den Bereitstellungsausgaben, wie im folgenden Screenshot gezeigt:
Öffnen Sie die Gateway-URL. Die Anwendung sollte ähnlich wie im folgenden Screenshot aussehen:
5.2. Abfragen der Anwendungsprotokolle
Nachdem Sie die einzelnen Funktionen der PetClinic-App durchsucht haben, sammelt der Log Analytics-Arbeitsbereich Protokolle der einzelnen Anwendungen. Sie können die Protokolle mithilfe benutzerdefinierter Abfragen überprüfen, wie im folgenden Screenshot gezeigt:
5.3. Überwachen der Anwendungen
Application Insights überwacht die Anwendungsabhängigkeiten, wie die folgende Anwendungsablaufverfolgungsübersicht zeigt:
Sie finden die Anwendungsliveansicht-URL in den Bereitstellungsausgaben. Öffnen Sie die Anwendungsliveansicht-URL, um Anwendungslaufzeiten zu überwachen, wie im folgenden Screenshot gezeigt:
5.1. Zugreifen auf die Anwendungen
Verwenden Sie den vom Spring Cloud-Gateway zugewiesenen Endpunkt – z. B. https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io. Die Anwendung sollte ähnlich wie im folgenden Screenshot aussehen:
5.2. Abfragen der Anwendungsprotokolle
Nachdem Sie die einzelnen Funktionen der PetClinic-App durchsucht haben, sammelt der Log Analytics-Arbeitsbereich Protokolle der einzelnen Anwendungen. Sie können die Protokolle mithilfe benutzerdefinierter Abfragen überprüfen, wie im folgenden Screenshot gezeigt:
5.3. Überwachen der Anwendungen
Application Insights überwacht die Anwendungsabhängigkeiten, wie die folgende Anwendungsablaufverfolgungsübersicht zeigt:
Öffnen Sie die URL der Anwendungsliveansicht, die von den Entwicklertools verfügbar gemacht wird, um Anwendungslaufzeiten zu überwachen, wie im folgenden Screenshot gezeigt:
5.1. Zugreifen auf die Anwendungen
Verwenden Sie die folgenden Befehle, um die URL für das Spring Cloud Gateway abzurufen:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
Die Anwendung sollte ähnlich wie im folgenden Screenshot aussehen:
5.2. Abfragen der Anwendungsprotokolle
Nachdem Sie die einzelnen Funktionen der PetClinic-App durchsucht haben, sammelt der Log Analytics-Arbeitsbereich Protokolle der einzelnen Anwendungen. Sie können die Protokolle mithilfe benutzerdefinierter Abfragen überprüfen, wie im folgenden Screenshot gezeigt:
5.3. Überwachen der Anwendungen
Application Insights überwacht die Anwendungsabhängigkeiten, wie die folgende Anwendungsablaufverfolgungsübersicht zeigt:
Verwenden Sie die folgenden Befehle, um die URL für die Anwendungsliveansicht abzurufen:
export DEV_TOOL_URL=$(az spring dev-tool show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${DEV_TOOL_URL}/app-live-view"
Öffnen Sie die Anwendungsliveansicht-URL, um Anwendungslaufzeiten zu überwachen, wie im folgenden Screenshot gezeigt:
5.1. Zugreifen auf die Anwendungen
Öffnen Sie mithilfe der URL-Informationen in der Ausgabe des Bereitstellungsprotokolls die URL, die von der App namens api-gateway verfügbar gemacht wird, z. B. https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Die Anwendung sollte ähnlich wie im folgenden Screenshot aussehen:
5.2. Abfragen der Anwendungsprotokolle
Nachdem Sie die einzelnen Funktionen der PetClinic-App durchsucht haben, sammelt der Log Analytics-Arbeitsbereich Protokolle der einzelnen Anwendungen. Sie können die Protokolle mithilfe benutzerdefinierter Abfragen überprüfen, wie im folgenden Screenshot gezeigt:
5.3. Überwachen der Anwendungen
Application Insights überwacht die Anwendungsabhängigkeiten, wie die folgende Anwendungsablaufverfolgungsübersicht zeigt:
Öffnen Sie die URL, die von der App admin-server verfügbar gemacht wird, um die Anwendungen über den Spring Boot-Verwaltungsserver zu verwalten, wie im folgenden Screenshot gezeigt:
6. Bereinigen von Ressourcen
Falls Sie mit weiteren Schnellstartanleitungen und Tutorials fortfahren möchten, sollten Sie die Ressourcen nicht bereinigen. Wenn Sie die Ressourcen nicht mehr benötigen, können Sie unnötige Ressourcen bereinigen, um Azure-Gebühren zu vermeiden.
Führen Sie die folgenden Schritte aus, um die gesamte Ressourcengruppe zu löschen, einschließlich der neu erstellten Dienstinstanz:
Navigieren Sie im Azure-Portal zu Ihrer Ressourcengruppe. Wählen Sie im Navigationsmenü Ressourcengruppen und dann den Namen Ihrer Ressourcengruppe aus.
Wählen Sie auf der Seite Ressourcengruppe die Option Löschen. Geben Sie den Namen Ihrer Ressourcengruppe in das Textfeld ein, um das Löschen zu bestätigen, und wählen Sie dann Löschen aus.
Verwenden Sie den folgenden Befehl, um alle Azure-Ressourcen zu löschen, die in dieser Beispielanwendung verwendet werden:
azd down
In der folgenden Liste wird die Befehlsinteraktion beschrieben:
Zu löschende Ressourcen insgesamt: <Ressourcen insgesamt>, möchten Sie fortfahren?: Drücken Sie y.
Die Konsole gibt Meldungen aus, die dem folgenden Beispiel ähneln:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Vergessen Sie nicht, die in diesem Artikel erstellten Ressourcen zu löschen, wenn Sie sie nicht mehr benötigen. Sie können die Azure-Ressourcengruppe einschließlich aller darin enthaltenen Ressourcen löschen.
Führen Sie die folgenden Schritte aus, um die gesamte Ressourcengruppe zu löschen:
Navigieren Sie im Azure-Portal zu Ihrer Ressourcengruppe. Wählen Sie im Navigationsmenü Ressourcengruppen und dann den Namen Ihrer Ressourcengruppe aus.
Wählen Sie auf der Seite Ressourcengruppe die Option Löschen. Geben Sie den Namen Ihrer Ressourcengruppe in das Textfeld ein, um das Löschen zu bestätigen, und wählen Sie dann Löschen aus.
Führen Sie die folgenden Schritte aus, um die gesamte Ressourcengruppe zu löschen:
Navigieren Sie im Azure-Portal zu Ihrer Ressourcengruppe. Wählen Sie im Navigationsmenü Ressourcengruppen und dann den Namen Ihrer Ressourcengruppe aus.
Wählen Sie auf der Seite Ressourcengruppe die Option Löschen. Geben Sie den Namen Ihrer Ressourcengruppe in das Textfeld ein, um das Löschen zu bestätigen, und wählen Sie dann Löschen aus.
Führen Sie den folgenden Befehl aus, um die Ressourcengruppe zu löschen: