Quickstart: Microservicetoepassingen implementeren in Azure Spring Apps
Artikel
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
In dit artikel wordt uitgelegd hoe u microservicetoepassingen implementeert in Azure Spring Apps met behulp van de bekende voorbeeld-app PetClinic.
Het voorbeeld van de pet clinic demonstreert het architectuurpatroon van de microservice. In het volgende diagram ziet u de architectuur van de PetClinic-toepassing in het Azure Spring Apps Enterprise-plan.
In het diagram ziet u de volgende architecturale stromen en relaties van het voorbeeld van de huisdierkliniek:
Maakt gebruik van Azure Spring Apps om de front-end- en back-end-apps te beheren. De back-end-apps worden gebouwd met Spring Boot en elke app maakt gebruik van HSQLDB als permanente store. De reforged front-end-app bouwt voort op pet clinic API Gateway-app met Node.js fungeert als een zelfstandige front-endwebtoepassing.
Maakt gebruik van de beheerde onderdelen in Azure Spring Apps, waaronder Service Registry, Application Configuration Service, Spring Cloud Gateway en Application Live View. De toepassingsconfiguratieservice leest de configuratie van de Git-opslagplaats.
Hiermee wordt de URL van Spring Cloud Gateway weergegeven om de aanvraag naar back-endservice-apps te routeren en wordt de URL van de liveweergave van de toepassing weergegeven om de back-end-apps te bewaken.
Analyseert logboeken met behulp van de Log Analytics-werkruimte.
Bewaakt de prestaties met Application Insights.
Notitie
In dit artikel wordt een vereenvoudigde versie van PetClinic gebruikt, met behulp van een in-memory database die niet gereed is voor productie om snel te implementeren in Azure Spring Apps.
Het voorbeeld van de pet clinic demonstreert het architectuurpatroon van de microservice. In het volgende diagram ziet u de architectuur van de PetClinic-toepassing in het Azure Spring Apps Standard-plan.
In het diagram ziet u de volgende architecturale stromen en relaties van het voorbeeld van de huisdierkliniek:
Maakt gebruik van Azure Spring Apps om de Spring Boot-apps te beheren. Elke app gebruikt HSQLDB als permanente store.
Maakt gebruik van de beheerde onderdelen Spring Cloud Config Server en Eureka Service Registry in Azure Spring Apps. De configuratie van de Configuratieserver leest de configuratie van de Git-opslagplaats.
Hiermee wordt de URL van API Gateway weergegeven om aanvragen voor service-apps te verdelen en de URL van de beheerserver beschikbaar te maken voor het beheren van de toepassingen.
Analyseert logboeken met behulp van de Log Analytics-werkruimte.
Bewaakt de prestaties met Application Insights.
Notitie
In dit artikel wordt een vereenvoudigde versie van PetClinic gebruikt, met behulp van een in-memory database die niet gereed is voor productie om snel te implementeren in Azure Spring Apps.
De geïmplementeerde app admin-server maakt openbare toegang beschikbaar. Dit is een risicopunt. De productieomgeving moet de Spring Boot Admin-toepassing beveiligen.
Dit artikel bevat de volgende opties voor implementatie in Azure Spring Apps:
De optie Azure Portal is de eenvoudigste en snelste manier om resources te maken en toepassingen met één klik te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die snel toepassingen willen implementeren in Azure-cloudservices.
De optie Azure Portal + Maven-invoegtoepassing is een conventionelere manier om resources te maken en toepassingen stap voor stap te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die azure-cloudservices voor het eerst gebruiken.
De Azure CLI-optie maakt gebruik van een krachtig opdrachtregelprogramma voor het beheren van Azure-resources. Deze optie is geschikt voor Spring-ontwikkelaars die bekend zijn met Azure-cloudservices.
De optie Azure Portal + Maven-invoegtoepassing is een conventionelere manier om resources te maken en toepassingen stap voor stap te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die azure-cloudservices voor het eerst gebruiken.
De Azure Developer CLI-optie is een efficiëntere manier om automatisch resources te maken en toepassingen te implementeren via eenvoudige opdrachten. De Azure Developer CLI maakt gebruik van een sjabloon om de Benodigde Azure-resources in te richten en de toepassingscode te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die bekend zijn met Azure-cloudservices.
In de volgende lijst wordt de interactie met de opdracht beschreven:
Voer een nieuwe omgevingsnaam in: Geef een omgevingsnaam op, die wordt gebruikt als achtervoegsel voor de resourcegroep die is gemaakt om alle Azure-resources op te slaan. Deze naam moet uniek zijn binnen uw Azure-abonnement.
De console voert berichten uit die vergelijkbaar zijn met het volgende voorbeeld:
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. De cloudomgeving voorbereiden
In deze sectie wordt beschreven hoe u een Azure Spring Apps-service-exemplaar maakt en de Azure-cloudomgeving voorbereidt.
Ga naar Azure Portal, voer uw referenties in en meld u aan bij de portal. De standaardweergave is uw service-dashboard.
3.2. Een Azure Spring Apps-exemplaar maken
Gebruik de volgende stappen om het service-exemplaar te maken:
Selecteer Een resource maken in de hoek van Azure Portal.
Selecteer Azure Spring Apps op>het tabblad Azure Services.
Vul op de pagina Azure Spring Apps maken het formulier in op het tabblad Basisbeginselen .
Gebruik de volgende tabel als richtlijn voor het invullen van het formulier. Het aanbevolen plan is Standard.
Instelling
Voorgestelde waarde
Beschrijving
Abonnement
De naam van uw abonnement.
Het Azure-abonnement dat u wilt gebruiken voor uw server. Als u meerdere abonnementen hebt, kiest u het abonnement waarvoor u de resource wilt factureren.
Resourcegroep
myresourcegroup
Een nieuwe resourcegroepnaam of een bestaande naam uit uw abonnement.
Naam
myasa
Een unieke naam die uw Azure Spring Apps-exemplaar identificeert. De naam moet tussen de 4 en 32 tekens lang zijn en mag alleen kleine letters, cijfers en afbreekstreepjes bevatten. Het eerste teken van de servicenaam moet een letter zijn en het laatste teken moet een letter of een cijfer zijn.
Plannen
Standaard
Het prijsplan bepaalt de resources en kosten die aan uw exemplaar zijn gekoppeld.
Regio
De regio die zich het dichtst bij uw gebruikers bevindt.
De locatie die zich het dichtst bij uw gebruikers bevindt.
Zoneredundant
Niet geselecteerd
Hiermee maakt u uw Azure Spring Apps-service in een Azure-beschikbaarheidszone. Momenteel niet ondersteund in alle regio's.
Ga naar het tabblad Diagnostische instellingen op de pagina Azure Spring Apps maken en selecteer Nieuw maken om een nieuw Exemplaar van Log Analytics-werkruimten te maken. Werk op de pagina Nieuwe Log Analytics-werkruimte maken de naam van de Log Analytics-werkruimte zo nodig bij en selecteer VERVOLGENS OK om het maken te bevestigen.
Ga naar het tabblad Application Insights op de pagina Azure Spring Apps maken en selecteer Nieuw maken om een nieuw Application Insights-exemplaar te maken. Werk op de pagina Nieuwe Application Insights-resource maken de naam van Application Insights zo nodig bij, selecteer werkruimte voor de resourcemodus en selecteer VERVOLGENS OK om het maken te bevestigen.
Selecteer Controleren en Maken om uw selecties te controleren. Selecteer Vervolgens Maken om het Azure Spring Apps-exemplaar in te richten.
Selecteer het meldingenpictogram (een bel) om het implementatieproces te bewaken. Nadat de implementatie is voltooid, kunt u Vastmaken aan dashboard selecteren om een snelkoppeling op uw Azure Portal-dashboard te maken naar de overzichtspagina van de service.
Selecteer Ga naar de resource om naar de overzichtspagina van Azure Spring Apps te gaan.
Selecteer Config Server in het navigatiedeelvenster.
Selecteer Na validatie toepassen om de configuratie van de configuratieserver te voltooien.
Gebruik de volgende stappen om de vereiste resources te maken:
Gebruik de volgende opdracht om u met OAuth2 aan te melden bij Azure. Negeer deze stap als u zich al hebt aangemeld.
azd auth login
De console voert berichten uit die vergelijkbaar zijn met het volgende voorbeeld:
Logged in to Azure.
Gebruik de volgende opdracht om een implementeerbaar exemplaar van uw toepassing te verpakken, de infrastructuur van de sjabloon in te richten in Azure en de toepassingscode vervolgens te implementeren op die nieuw ingerichte resources:
azd provision
In de volgende lijst worden de opdrachteninteracties beschreven:
Selecteer een Azure-abonnement dat u wilt gebruiken: gebruik pijlen om te verplaatsen, typ om te filteren en druk vervolgens op Enter.
Selecteer een Azure-locatie die u wilt gebruiken: Gebruik pijlen om te verplaatsen, typ om te filteren en druk op Enter.
De console voert berichten uit die vergelijkbaar zijn met het volgende voorbeeld:
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
Notitie
Het voltooien van deze opdracht kan enige tijd duren. U ziet een voortgangsindicator tijdens het inrichten van Azure-resources.
4. De apps implementeren in Azure Spring Apps
U kunt de app nu implementeren in Azure Spring Apps.
In de volgende lijst worden de opdrachteninteracties beschreven:
Selecteer onderliggende modules die u wilt configureren (invoernummers gescheiden door komma, bijvoorbeeld: [1-2,4,6], ENTER om ALLES te selecteren): druk op Enter om alles te selecteren.
OAuth2-aanmelding: autoriseren van de aanmelding bij Azure op basis van het OAuth2-protocol.
Abonnement selecteren: selecteer het abonnementslijstnummer van het Azure Spring Apps-exemplaar dat u hebt gemaakt. Dit is standaard het eerste abonnement in de lijst. Als u het standaardnummer gebruikt, drukt u rechtstreeks op Enter .
Selecteer Azure Spring Apps voor implementatie: selecteer het lijstnummer van het Azure Spring Apps-exemplaar dat u hebt gemaakt. Als u het standaardnummer gebruikt, drukt u rechtstreeks op Enter .
Selecteer apps om openbare toegang beschikbaar te maken:(invoernummers gescheiden door komma, bijvoorbeeld: [1-2,4,6], ENTER om GEEN te selecteren): Voer 1,5 voor admin-server en api-gateway.
Bevestig dat u alle bovenstaande configuraties (Y/n) wilt opslaan: Druk op y. Als u op n drukt, wordt de configuratie niet opgeslagen in de POM-bestanden.
Gebruik de volgende opdracht om elke toepassing te bouwen en te implementeren:
./mvnw azure-spring-apps:deploy
Voor de OAuth2-aanmeldingsprompt autoriseert u de aanmelding bij Azure op basis van het OAuth2-protocol.
Notitie
De implementatie naar Azure Spring Apps kan tot 25 minuten duren.
Nadat de opdracht is uitgevoerd, wordt uitvoer weergegeven die vergelijkbaar is met het volgende voorbeeld, wat aangeeft dat alle implementaties zijn geslaagd:
[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
Gebruik de volgende stappen om de app te verpakken, de Azure-resources in te richten die nodig zijn voor de webtoepassing en vervolgens te implementeren in Azure Spring Apps:
Gebruik de volgende opdracht om een implementeerbaar exemplaar van uw toepassing te verpakken:
azd package
De console voert berichten uit die vergelijkbaar zijn met het volgende voorbeeld:
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Gebruik de volgende opdracht om de toepassingscode te implementeren op de zojuist ingerichte resources:
azd deploy
De console voert berichten uit die vergelijkbaar zijn met het volgende voorbeeld:
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
Notitie
U kunt ook azd up de vorige drie opdrachten combineren: azd package (verpakt een implementeerbaar exemplaar van uw toepassing), azd provision (richt Azure-resources in) en azd deploy (implementeert toepassingscode). Zie Azure-Samples/spring-petclinic-microservices voor meer informatie.
Met de knop Implementeren naar Azure in de volgende sectie wordt een Azure-portal-ervaring gestart waarmee broncode wordt geïmplementeerd vanuit de Spring PetClinic-opslagplaats . Er zijn geen lokale voorbereidingsstappen nodig.
Gebruik de volgende stappen op uw lokale computer wanneer u de toepassing wilt controleren voordat u deze implementeert in de cloud:
Gebruik de volgende opdracht om de toepassing Pet Clinic te klonen vanuit GitHub:
Voor de services Klanten, Vets, Bezoeken en Spring Cloud Gateway opent u een nieuw Bash-venster en gebruikt u de volgende opdrachten om de services te starten:
Open een nieuw Bash-venster en navigeer naar de projectmap spring-petclinic-frontend . Gebruik de volgende opdrachten om afhankelijkheden te installeren en de front-endtoepassing uit te voeren:
npm install
npm run start
Nadat het script is voltooid, gaat u naar http://localhost:8080 uw browser om toegang te krijgen tot de PetClinic-toepassing.
Gebruik de volgende stappen op uw lokale computer wanneer u de toepassing wilt controleren voordat u deze implementeert in de cloud:
Gebruik de volgende opdracht om de toepassing Pet Clinic te klonen vanuit GitHub:
Voor de services Klanten, Vets, Bezoeken en Spring Cloud Gateway opent u een nieuw Bash-venster en gebruikt u de volgende opdrachten om de services te starten:
Open een nieuw Bash-venster en navigeer naar de projectmap spring-petclinic-frontend . Gebruik de volgende opdrachten om afhankelijkheden te installeren en de front-endtoepassing uit te voeren:
npm install
npm run start
Nadat het script is voltooid, gaat u naar http://localhost:8080 uw browser om toegang te krijgen tot de PetClinic-toepassing.
3. De cloudomgeving voorbereiden
De belangrijkste resource die u nodig hebt om dit voorbeeld uit te voeren, is een Azure Spring Apps-exemplaar. In deze sectie wordt beschreven hoe u deze resource maakt.
In deze sectie wordt een knop Implementeren in Azure gebruikt om een implementatie-ervaring te starten in Azure Portal. Deze ervaring maakt gebruik van een ARM-sjabloon om Azure-resources te maken.
3.1. Meld u aan bij het Azure Portal
Ga naar Azure Portal, voer uw referenties in en meld u aan bij de portal. De standaardweergave is uw service-dashboard.
3.2. Azure-resources maken
Gebruik de volgende stappen om alle Azure-resources te maken waarvoor de app afhankelijk is:
Selecteer de volgende knop Implementeren in Azure om de implementatie-ervaring in Azure Portal te starten:
Vul het formulier in op het tabblad Basisbeginselen . Gebruik de volgende tabel als richtlijn voor het voltooien van het formulier:
Instelling
Voorgestelde waarde
Beschrijving
Abonnement
De naam van uw abonnement.
Het Azure-abonnement dat u wilt gebruiken voor uw server. Als u meerdere abonnementen hebt, kiest u het abonnement waarin u wilt worden gefactureerd voor de resource.
Resourcegroep
myresourcegroup
Een nieuwe resourcegroepnaam of een bestaande naam uit uw abonnement.
Regio
De regio die zich het dichtst bij uw gebruikers bevindt.
De regio wordt gebruikt om de resourcegroep te maken.
Selecteer Controleren en Maken om uw selecties te controleren. Selecteer vervolgens Maken om de app te implementeren in Azure Spring Apps.
Selecteer het pictogram Meldingen (een klok) op de werkbalk om het implementatieproces te bewaken. Nadat de implementatie is voltooid, kunt u Vastmaken aan dashboard selecteren. Hiermee maakt u een tegel voor deze service op uw Azure Portal-dashboard als snelkoppeling naar de overzichtspagina van de service. Selecteer Ga naar de resource om de overzichtspagina van de service te openen.
3.1. Meld u aan bij het Azure Portal
Ga naar Azure Portal en voer uw referenties in om u aan te melden bij de portal. De standaardweergave is uw service-dashboard.
3.2. Een Azure Spring Apps-exemplaar maken
Gebruik de volgende stappen om het service-exemplaar te maken:
Selecteer Een resource maken in de hoek van Azure Portal.
Selecteer Compute>Azure Spring Apps.
Vul het formulier in op het tabblad Basisbeginselen . Gebruik de volgende tabel als richtlijn voor het voltooien van het formulier:
Instelling
Voorgestelde waarde
Beschrijving
Abonnement
De naam van uw abonnement.
Het Azure-abonnement dat u wilt gebruiken voor uw server. Als u meerdere abonnementen hebt, kiest u het abonnement waarin u wilt worden gefactureerd voor de resource.
Resourcegroep
myresourcegroup
Een nieuwe resourcegroepnaam of een bestaande naam uit uw abonnement.
Naam
myasa
Een unieke naam die uw Azure Spring Apps-service identificeert. De naam moet tussen de 4 en 32 tekens lang zijn en mag alleen kleine letters, cijfers en afbreekstreepjes bevatten. Het eerste teken van de servicenaam moet een letter zijn en het laatste teken moet een letter of een cijfer zijn.
Regio
De regio die zich het dichtst bij uw gebruikers bevindt.
De locatie die zich het dichtst bij uw gebruikers bevindt.
Hostingopties en -abonnementen
Enterprise
Het prijsplan waarmee de resource en kosten worden bepaald die zijn gekoppeld aan uw exemplaar.
Zoneredundant
Niet geselecteerd
De optie voor het maken van uw Azure Spring Apps-service in een Azure-beschikbaarheidszone. Deze functie wordt momenteel niet ondersteund in alle regio's.
Software-IP-plan
Betalen per gebruik
Het prijsplan waarmee u per gebruik kunt betalen met Azure Spring Apps.
Voorbeeldproject implementeren
Niet geselecteerd
De optie voor het gebruik van de ingebouwde voorbeeldtoepassing.
Ga naar het tabblad Diagnostische instellingen op de pagina Azure Spring Apps maken en selecteer Nieuw maken om een nieuw Exemplaar van Log Analytics-werkruimten te maken. Werk op de pagina Nieuwe Log Analytics-werkruimte maken de naam van de Log Analytics-werkruimte zo nodig bij en selecteer VERVOLGENS OK om het maken te bevestigen.
Ga naar het tabblad Application Insights op de pagina Azure Spring Apps maken en selecteer Nieuw maken om een nieuw Application Insights-exemplaar te maken. Werk op de pagina Nieuwe Application Insights-resource maken de naam van Application Insights zo nodig bij, selecteer werkruimte voor de resourcemodus en selecteer VERVOLGENS OK om het maken te bevestigen.
Selecteer Controleren en Maken om uw selecties te controleren. Selecteer Vervolgens Maken om het Azure Spring Apps-exemplaar in te richten.
Selecteer het meldingenpictogram (een bel) om het implementatieproces te bewaken. Nadat de implementatie is voltooid, kunt u Vastmaken aan dashboard selecteren om een snelkoppeling op uw Azure Portal-dashboard te maken naar de overzichtspagina van de service.
Selecteer Ga naar de resource om naar de overzichtspagina van Azure Spring Apps te gaan.
3.3. Azure Spring Apps-exemplaar configureren
In de volgende secties ziet u hoe u het service-exemplaar configureert.
De apps maken
Gebruik de volgende stappen om de apps te maken:
Selecteer apps in het navigatiedeelvenster en selecteer vervolgens App maken.
Op de pagina App maken gebruikt u front-end voor de naam van de app en laat u alle andere velden met de standaardwaarden staan.
Herhaal de vorige stap met behulp van elk van de volgende toepassingsnamen:
customers-service
vets-service
visits-service
Selecteer Maken om het maken van de app te voltooien.
Serviceregister configureren
Voer de volgende stappen uit om serviceregister te configureren:
Selecteer serviceregister in het navigatiedeelvenster.
Selecteer App-binding, selecteer Bind-app, selecteer customers-service in de lijst en selecteer Vervolgens Toepassen.
Herhaal de vorige stap om de volgende toepassingen te binden:
vets-service
visits-service
Toepassingsconfiguratieservice configureren
Gebruik de volgende stappen om de toepassingsconfiguratieservice te configureren:
Selecteer toepassingsconfiguratieservice in het navigatiedeelvenster en selecteer vervolgens Instellingen.
Vul de opslagplaats in met de volgende informatie en selecteer Valideren:
Nadat de validatie is gevalideerd, selecteert u Toepassen om de configuratie van de toepassingsconfiguratieservice te voltooien.
Selecteer App-binding, selecteer Bind-app, selecteer customers-service in de lijst en selecteer Vervolgens Toepassen.
Herhaal de vorige stap om de volgende toepassingen te binden:
vets-service
visits-service
De configuratiebestandspatronen voor apps instellen
Gebruik de volgende stappen om de configuratiebestandspatronen in te stellen:
Selecteer apps in het navigatiedeelvenster en selecteer vervolgens de customers-service app.
Selecteer Configuratie op de overzichtspagina van de app, selecteer configuratiebestandspatronen op het tabblad Algemene instellingen en selecteer vervolgens de toepassing en customers-service. Selecteer Opslaan om de configuratiebestandspatronen in te stellen.
Herhaal de vorige stap om de patronen van het configuratiebestand voor de volgende toepassingen op te slaan:
vets-service: Selecteer de toepassing en vets-service.
visits-service: Selecteer de toepassing en visits-service.
Spring Cloud Gateway configureren
In deze sectie wordt beschreven hoe u Spring Cloud Gateway configureert.
Gebruik eerst de volgende stappen om een eindpunt toe te wijzen voor de gatewaytoegang:
Selecteer Spring Cloud Gateway in het navigatiedeelvenster.
Selecteer ja op het tabblad Overzicht om een eindpunt toe te wijzen. Sla de eindpunt-URL op die u later wilt gebruiken.
Configureer vervolgens de routering voor Spring Cloud Gateway. Omdat de Azure-portal momenteel geen routeconfiguratie voor Spring Cloud Gateway ondersteunt, opent u een Bash-venster en gebruikt u de volgende Azure CLI-stappen om de routering te configureren:
Gebruik de volgende opdracht om u aan te melden bij de Azure CLI:
az login
Gebruik de volgende opdrachten om de Azure Spring Apps-extensie voor de Azure CLI te installeren en de naamruimte Microsoft.SaaSte registreren:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Gebruik de volgende opdracht om de juridische voorwaarden en privacyverklaringen te accepteren:
Notitie
Deze stap is alleen nodig als uw abonnement nog nooit is gebruikt om een Enterprise-abonnementexemplaren van Azure Spring Apps te maken.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Maak variabelen voor het opslaan van de resourcenamen met behulp van de volgende opdrachten. Vervang de tijdelijke aanduidingen door uw eigen waarden.
Gebruik de volgende opdrachten om toepassingen te maken voor het Azure Spring Apps-exemplaar:
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}
Gebruik de volgende opdrachten om toepassingen voor het serviceregister te 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}
Gebruik de volgende opdracht om een configuratieopslagplaats te maken voor de toepassingsconfiguratieservice:
Gebruik de volgende opdrachten om toepassingen te binden aan de Toepassingsconfiguratieservice:
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}
Gebruik de volgende opdracht om een eindpunt toe te wijzen aan Spring Cloud Gateway:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Gebruik de volgende opdracht om routering in te stellen voor de customers-service toepassing:
Met de knop Implementeren in Azure in de vorige sectie wordt een Azure-portal-ervaring gestart die toepassingsimplementatie omvat, zodat er niets anders nodig is.
In de volgende lijst worden de opdrachteninteracties beschreven:
Selecteer onderliggende modules die u wilt configureren: druk op Enter om alles te selecteren.
Abonnement selecteren: selecteer het abonnementslijstnummer van het Azure Spring Apps-exemplaar dat u hebt gemaakt. Dit is standaard het eerste abonnement in de lijst. Als u het standaardnummer gebruikt, drukt u rechtstreeks op Enter .
Gebruik bestaande Azure Spring Apps in Azure: Druk op y om het bestaande Azure Spring Apps-exemplaar te gebruiken.
Selecteer apps om openbare toegang beschikbaar te maken: druk op Enter om geen te selecteren.
Bevestig dat u alle bovenstaande configuraties wilt opslaan: Druk op y. Als u op n drukt, wordt de configuratie niet opgeslagen in de POM-bestanden.
Gebruik de volgende opdracht om de back-endtoepassingen te implementeren:
./mvnw azure-spring-apps:deploy
Nadat de opdracht is uitgevoerd, ziet u in de volgende logboekberichten dat de implementatie is geslaagd:
[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
Azure Portal biedt geen ondersteuning voor het implementeren van de front-endtoepassingen. Gebruik daarom de volgende Azure CLI-opdracht om de front-endtoepassing te implementeren:
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
Nadat de opdracht is uitgevoerd, ziet u in de volgende logboekberichten dat de implementatie is geslaagd:
[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.
Gebruik de volgende stappen om de apps te implementeren:
Voer de hoofdmap van het project in en gebruik de volgende opdracht om de front-endtoepassing te bouwen en te implementeren:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Gebruik de volgende opdracht om de customers-service toepassing te bouwen en te implementeren:
Nadat de implementatie is voltooid, kunt u de Spring Cloud Gateway-URL vinden in de uitvoer van de implementatie, zoals wordt weergegeven in de volgende schermopname:
Open de gateway-URL. De toepassing moet er ongeveer uitzien als in de volgende schermopname:
5.2. Query's uitvoeren op de toepassingslogboeken
Nadat u elke functie van de Pet Clinic hebt bekeken, verzamelt de Log Analytics-werkruimte logboeken van elke toepassing. U kunt de logboeken controleren met behulp van aangepaste query's, zoals wordt weergegeven in de volgende schermopname:
5.3. De toepassingen bewaken
Application Insights bewaakt de toepassingsafhankelijkheden, zoals wordt weergegeven in de volgende toepassingstraceringskaart:
U vindt de LIVE View-URL van de toepassing in de uitvoer van de implementatie. Open de liveweergave-URL van de toepassing om toepassingsruntimes te bewaken, zoals wordt weergegeven in de volgende schermopname:
5.1. Toegang tot de toepassingen
Gebruik het eindpunt dat is toegewezen vanuit Spring Cloud Gateway, https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.iobijvoorbeeld. De toepassing moet er ongeveer uitzien als in de volgende schermopname:
5.2. Query's uitvoeren op de toepassingslogboeken
Nadat u elke functie van de Pet Clinic hebt bekeken, verzamelt de Log Analytics-werkruimte logboeken van elke toepassing. U kunt de logboeken controleren met behulp van aangepaste query's, zoals wordt weergegeven in de volgende schermopname:
5.3. De toepassingen bewaken
Application Insights bewaakt de toepassingsafhankelijkheden, zoals wordt weergegeven in de volgende toepassingstraceringskaart:
Open de liveweergave-URL van de toepassing die wordt weergegeven door de ontwikkelhulpprogramma's om toepassingsruntimes te bewaken, zoals wordt weergegeven in de volgende schermopname:
5.1. Toegang tot de toepassingen
Gebruik de volgende opdrachten om de URL voor Spring Cloud Gateway op te halen:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
De toepassing moet er ongeveer uitzien als in de volgende schermopname:
5.2. Query's uitvoeren op de toepassingslogboeken
Nadat u elke functie van de Pet Clinic hebt bekeken, verzamelt de Log Analytics-werkruimte logboeken van elke toepassing. U kunt de logboeken controleren met behulp van aangepaste query's, zoals wordt weergegeven in de volgende schermopname:
5.3. De toepassingen bewaken
Application Insights bewaakt de toepassingsafhankelijkheden, zoals wordt weergegeven in de volgende toepassingstraceringskaart:
Gebruik de volgende opdrachten om de URL voor de liveweergave van de toepassing op te halen:
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"
Open de liveweergave-URL van de toepassing om toepassingsruntimes te bewaken, zoals wordt weergegeven in de volgende schermopname:
5.1. Toegang tot de toepassingen
Open met behulp van de URL-informatie in de uitvoer van het implementatielogboek de URL die wordt weergegeven door de app met de naam api-gateway , https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.iobijvoorbeeld. De toepassing moet er ongeveer uitzien als in de volgende schermopname:
5.2. Query's uitvoeren op de toepassingslogboeken
Nadat u elke functie van de Pet Clinic hebt bekeken, verzamelt de Log Analytics-werkruimte logboeken van elke toepassing. U kunt de logboeken controleren met behulp van aangepaste query's, zoals wordt weergegeven in de volgende schermopname:
5.3. De toepassingen bewaken
Application Insights bewaakt de toepassingsafhankelijkheden, zoals wordt weergegeven in de volgende toepassingstraceringskaart:
Open de URL die door de app admin-server wordt weergegeven om de toepassingen te beheren via de Spring Boot-beheerserver, zoals wordt weergegeven in de volgende schermopname:
6. Resources opschonen
Als u van plan bent om verder te gaan met volgende snelstarts en zelfstudies, kunt u deze resources het beste intact laten. Wanneer u de resources niet meer nodig hebt, kunt u overbodige resources opschonen om Azure-kosten te voorkomen.
Gebruik de volgende stappen om de hele resourcegroep te verwijderen, inclusief het zojuist gemaakte service-exemplaar:
Zoek de resourcegroep in Azure Portal. Selecteer resourcegroepen in het navigatiemenu en selecteer vervolgens de naam van uw resourcegroep.
Selecteer Verwijderen op de pagina Resourcegroep. Voer de naam van de resourcegroep in het tekstvak in om het verwijderen te bevestigen en selecteer Vervolgens Verwijderen.
Gebruik de volgende opdracht om alle Azure-resources te verwijderen die in deze voorbeeldtoepassing worden gebruikt:
azd down
In de volgende lijst wordt de interactie met de opdracht beschreven:
Totaal aantal te verwijderen resources: <resourcestotaal>, weet u zeker dat u wilt doorgaan?: Druk op y.
De console voert berichten uit die vergelijkbaar zijn met het volgende voorbeeld:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Verwijder de resources die u in dit artikel hebt gemaakt wanneer u ze niet meer nodig hebt. U kunt de Azure-resourcegroep verwijderen, met alle resources uit de resourcegroep.
Gebruik de volgende stappen om de hele resourcegroep te verwijderen:
Zoek de resourcegroep in Azure Portal. Selecteer resourcegroepen in het navigatiemenu en selecteer vervolgens de naam van uw resourcegroep.
Selecteer Verwijderen op de pagina Resourcegroep. Voer de naam van de resourcegroep in het tekstvak in om het verwijderen te bevestigen en selecteer Vervolgens Verwijderen.
Gebruik de volgende stappen om de hele resourcegroep te verwijderen:
Zoek de resourcegroep in Azure Portal. Selecteer resourcegroepen in het navigatiemenu en selecteer vervolgens de naam van uw resourcegroep.
Selecteer Verwijderen op de pagina Resourcegroep. Voer de naam van de resourcegroep in het tekstvak in om het verwijderen te bevestigen en selecteer Vervolgens Verwijderen.
Gebruik de volgende opdracht om de resourcegroep te verwijderen: