Dela via


Snabbstart: Distribuera mikrotjänstprogram till Azure Spring Apps

Kommentar

Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.

Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.

Den här artikeln beskriver hur du distribuerar mikrotjänstprogram till Azure Spring Apps med hjälp av den välkända exempelappen PetClinic.

Exemplet på husdjurskliniken visar arkitekturmönstret för mikrotjänster. Följande diagram visar arkitekturen för PetClinic-programmet i Azure Spring Apps Enterprise-planen.

Diagram som visar arkitekturen för PetClinic-exemplet i Azure Spring Apps Enterprise-planen.

Diagrammet visar följande arkitektoniska flöden och relationer för petklinikexemplet:

  • Använder Azure Spring Apps för att hantera klientdels- och serverdelsappar. Serverdelsapparna skapas med Spring Boot och varje app använder HSQLDB som beständig butik. Den omtilldelade klientdelsappen bygger på API Gateway-appen för husdjurskliniken med Node.js som fungerar som en fristående klientdelswebbapp.
  • Använder de hanterade komponenterna i Azure Spring Apps, inklusive Service Registry, Application Configuration Service, Spring Cloud Gateway och Application Live View. Programkonfigurationstjänsten läser konfigurationen av Git-lagringsplatsen.
  • Exponerar URL:en för Spring Cloud Gateway för att dirigera begäran till serverdelstjänstappar och exponerar URL:en för programmets livevy för att övervaka serverdelsapparna.
  • Analyserar loggar med Log Analytics-arbetsytan.
  • Övervakar prestanda med Application Insights.

Kommentar

Den här artikeln använder en förenklad version av PetClinic med hjälp av en minnesintern databas som inte är produktionsklar för att snabbt distribuera till Azure Spring Apps.

Tanzu Developer Tools exponerar offentlig åtkomst för Application Live View, vilket är en riskpunkt. Produktionsmiljön måste skydda åtkomsten. Mer information finns i avsnittet Konfigurera Dev Tools-portalen i Konfigurera Tanzu Dev Tools i Azure Spring Apps Enterprise-planen.

Exemplet på husdjurskliniken visar arkitekturmönstret för mikrotjänster. Följande diagram visar arkitekturen för PetClinic-programmet i Azure Spring Apps Standard-planen.

Diagram som visar arkitekturen för PetClinic-exemplet i Azure Spring Apps-standardplanen.

Diagrammet visar följande arkitektoniska flöden och relationer för petklinikexemplet:

  • Använder Azure Spring Apps för att hantera Spring Boot-appar. Varje app använder HSQLDB som beständiga arkiv.
  • Använder de hanterade komponenterna Spring Cloud Config Server och Eureka Service Registry i Azure Spring Apps. Konfigurationsservern läser konfigurationen av Git-lagringsplatsen.
  • Exponerar URL:en för API Gateway för belastningsutjämning av begäranden till tjänstappar och exponerar URL:en för administratörsservern för att hantera programmen.
  • Analyserar loggar med Log Analytics-arbetsytan.
  • Övervakar prestanda med Application Insights.

Kommentar

Den här artikeln använder en förenklad version av PetClinic med hjälp av en minnesintern databas som inte är produktionsklar för att snabbt distribuera till Azure Spring Apps.

Den distribuerade appen admin-server exponerar offentlig åtkomst, vilket är en riskpunkt. Produktionsmiljön måste skydda Spring Boot Admin-programmet.

Den här artikeln innehåller följande alternativ för att distribuera till Azure Spring Apps:

  • Alternativet Azure Portal är det enklaste och snabbaste sättet att skapa resurser och distribuera program med ett enda klick. Det här alternativet är lämpligt för Spring-utvecklare som snabbt vill distribuera program till Azure-molntjänster.
  • Plugin-alternativet Azure Portal + Maven är ett mer konventionellt sätt att skapa resurser och distribuera program steg för steg. Det här alternativet är lämpligt för Spring-utvecklare som använder Azure-molntjänster för första gången.
  • Azure CLI-alternativet använder ett kraftfullt kommandoradsverktyg för att hantera Azure-resurser. Det här alternativet är lämpligt för Spring-utvecklare som är bekanta med Azure-molntjänster.
  • Plugin-alternativet Azure Portal + Maven är ett mer konventionellt sätt att skapa resurser och distribuera program steg för steg. Det här alternativet är lämpligt för Spring-utvecklare som använder Azure-molntjänster för första gången.
  • Cli-alternativet Azure Developer är ett effektivare sätt att automatiskt skapa resurser och distribuera program via enkla kommandon. Azure Developer CLI använder en mall för att etablera de Azure-resurser som behövs och för att distribuera programkoden. Det här alternativet är lämpligt för Spring-utvecklare som är bekanta med Azure-molntjänster.

1. Förutsättningar

2. Förbereda Spring-projektet

Använd följande steg för att förbereda exemplet lokalt:

  1. Klona exempelprojektet med hjälp av följande kommando:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. Gå till projektrotkatalogen och använd sedan följande kommando för att köra exempelprojektet lokalt:

    bash ./scripts/run_all_without_infra.sh
    
  3. När skriptet har slutförts går du till http://localhost:8080 i webbläsaren för att få åtkomst till PetClinic-programmet.

3. Förbereda molnmiljön

I det här avsnittet beskrivs hur du skapar en Azure Spring Apps-tjänstinstans och förbereder Azure-molnmiljön.

3.1. Logga in på Azure-portalen

Gå till Azure Portal, ange dina autentiseringsuppgifter och logga in på portalen. Standardvyn är instrumentpanelen.

3.2. Skapa en Azure Spring Apps-instans

Använd följande steg för att skapa tjänstinstansen:

  1. Välj Skapa en resurs i hörnet av Azure Portal.

  2. På fliken Azure Services väljer du Beräkna>Azure Spring Apps.

    Skärmbild av Azure Portal som visar sidan Skapa en resurs med Azure Spring Apps markerat.

  3. På sidan Skapa Azure Spring Apps fyller du i formuläret på fliken Grundläggande .

    Skärmbild av Azure Portal som visar sidan Skapa Azure Spring Apps med fliken Grundläggande markerad.

    Använd följande tabell som en guide för att fylla i formuläret. Den rekommenderade planen är Standard.

    Inställning Föreslaget värde beskrivning
    Abonnemang Namnet på din prenumeration. Den Azure-prenumeration som ska användas för servern. Om du har flera prenumerationer väljer du den prenumeration som du vill debiteras för för resursen.
    Resursgrupp myresourcegroup Ett nytt resursgruppnamn eller ett befintligt namn i prenumerationen.
    Namn myasa Ett unikt namn som identifierar din Azure Spring Apps-instans. Namnet måste vara mellan 4 och 32 tecken långt och får endast innehålla gemener, siffror och bindestreck. Det första tecknet i tjänstnamnet måste vara en bokstav och det sista tecknet måste vara antingen en bokstav eller ett tal.
    Planera Standard Prisplanen avgör vilka resurser och kostnader som är kopplade till din instans.
    Region Den region som är närmast dina användare. Den plats som är närmast dina användare.
    Zonredundant Inte markerat Skapar din Azure Spring Apps-tjänst i en Azure-tillgänglighetszon. Stöds inte för närvarande i alla regioner.
  4. Gå till fliken Diagnostikinställningarsidan Skapa Azure Spring Apps och välj sedan Skapa ny för att skapa en ny Log Analytics-arbetsyteinstans. På sidan Skapa ny Log Analytics-arbetsyta uppdaterar du namnet på Log Analytics-arbetsytan efter behov och väljer sedan OK för att bekräfta skapandet.

    Skärmbild av Azure Portal som visar sidan Skapa Azure Spring Apps med fliken Diagnostik markerad och knappen Skapa ny markerad.

  5. Gå till fliken Application Insightssidan Skapa Azure Spring Apps och välj sedan Skapa ny för att skapa en ny Application Insights-instans. På sidan Skapa ny Application Insights-resurs uppdaterar du application insights-namnet efter behov, väljer Arbetsyta-baserad för resursläge och väljer sedan OK för att bekräfta skapandet.

    Skärmbild av Azure Portal som visar sidan Skapa Azure Spring Apps med fönstret Skapa ny Application Insights-resurs som visas.

  6. Välj Granska och skapa för att granska dina val. Välj sedan Skapa för att etablera Azure Spring Apps-instansen.

  7. Välj ikonen Meddelanden (en klocka) för att övervaka distributionsprocessen. När distributionen är klar kan du välja Fäst på instrumentpanelen för att skapa en genväg på din Azure Portal instrumentpanel till tjänstens översiktssida.

    Skärmbild av Azure Portal som visar en distribution av en resurs och meddelandefönstret med knapparna Gå till resurs och Fäst på instrumentpanelen.

  8. Välj Gå till resurs för att gå till översiktssidan för Azure Spring Apps .

  9. Välj Konfigurationsserver i navigeringsfönstret.

  10. På sidan Konfigurationsserver anger du https://github.com/Azure-Samples/spring-petclinic-microservices-config.git för URI och väljer sedan Verifiera.

    Skärmbild av Azure Portal som visar sidan Konfigurationsserver med standard-URI:n och knappen Verifiera markerad.

  11. Efter valideringen väljer du Använd för att slutföra konfigurationen av konfigurationen av konfigurationen för konfigurationen av konfigurationen av konfigurationen.

4. Distribuera apparna till Azure Spring Apps

Nu kan du distribuera appen till Azure Spring Apps.

Använd följande steg för att distribuera mikrotjänstprogrammen med hjälp av Maven-plugin-programmet för Azure Spring Apps:

  1. Gå till exempelprojektkatalogen och använd sedan följande kommando för att konfigurera apparna för Azure Spring Apps:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. I följande lista beskrivs kommandointeraktionerna:

    • Välj underordnade moduler som ska konfigureras(indatanummer avgränsade med kommatecken, t.ex. [1–2,4,6], RETUR för att välja ALLA): Tryck på Retur för att markera alla.
    • OAuth2-inloggning: Auktorisera inloggningen till Azure baserat på OAuth2-protokollet.
    • Välj prenumeration: Välj prenumerationslistans nummer för den Azure Spring Apps-instans som du skapade, som standard är den första prenumerationen i listan. Om du använder standardnumret trycker du på Retur direkt.
    • Välj Azure Spring Apps för distribution: Välj listnumret för den Azure Spring Apps-instans som du skapade. Om du använder standardnumret trycker du på Retur direkt.
    • Välj appar som ska exponera offentlig åtkomst:(indatanummer avgränsade med kommatecken, t.ex. [1–2,4,6], RETUR för att välja NONE): Ange 1,5 för admin-server och api-gateway.
    • Bekräfta för att spara alla ovanstående konfigurationer (Y/n): Tryck på y. Om du trycker på n sparas inte konfigurationen i POM-filerna.
  3. Använd följande kommando för att skapa och distribuera varje program:

    ./mvnw azure-spring-apps:deploy
    
  4. För OAuth2-inloggningsprompten auktoriserar du inloggningen till Azure baserat på OAuth2-protokollet.

    Kommentar

    Distributionen till Azure Spring Apps kan ta upp till 25 minuter.

När kommandot har körts visar en logg utdata som liknar följande exempel, vilket indikerar att alla distributioner lyckas:

[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

2. Förbereda Spring-projektet

Knappen Distribuera till Azure i nästa avsnitt startar en Azure Portal upplevelse som distribuerar källkod från Spring PetClinic-lagringsplatsen. Inga lokala förberedelsesteg krävs.

3. Förbereda molnmiljön

Den viktigaste resursen som du behöver för att köra det här exemplet är en Azure Spring Apps-instans. I det här avsnittet beskrivs hur du skapar den här resursen.

I det här avsnittet används knappen Distribuera till Azure för att starta en distributionsupplevelse i Azure Portal. Den här upplevelsen använder en ARM-mall för att skapa Azure-resurser.

3.1. Logga in på Azure-portalen

Gå till Azure Portal, ange dina autentiseringsuppgifter och logga in på portalen. Standardvyn är instrumentpanelen.

3.2. Skapa Azure-resurser

Använd följande steg för att skapa alla Azure-resurser som appen är beroende av:

  1. Välj följande knappen Distribuera till Azure för att starta distributionsupplevelsen i Azure Portal:

    Knapp för att distribuera Resource Manager-mallen till Azure.

  2. Fyll i formuläret på fliken Grundläggande . Använd följande tabell som guide för att fylla i formuläret:

    Inställning Föreslaget värde beskrivning
    Abonnemang Namnet på din prenumeration. Den Azure-prenumeration som ska användas för servern. Om du har flera prenumerationer väljer du den prenumeration där du vill debiteras för resursen.
    Resursgrupp myresourcegroup Ett nytt resursgruppnamn eller ett befintligt namn i prenumerationen.
    Region Den region som är närmast dina användare. Regionen används för att skapa resursgruppen.

    Skärmbild av Azure Portal som visar sidan Anpassad distribution.

  3. Välj Granska och skapa för att granska dina val. Välj sedan Skapa för att distribuera appen till Azure Spring Apps.

  4. Välj ikonen Aviseringar (en bjällra) i verktygsfältet för att övervaka distributionsprocessen. När distributionen är klar kan du välja Fäst på instrumentpanelen, vilket skapar en panel för den här tjänsten på din Azure Portal instrumentpanel som en genväg till tjänstens översiktssida. Välj Gå till resurs för att öppna tjänstens översiktssida.

    Skärmbild av Azure Portal som visar sidan Översikt med fönstret för anpassade distributionsmeddelanden öppet.

4. Distribuera apparna till Azure Spring Apps

Knappen Distribuera till Azure i föregående avsnitt startar en Azure Portal upplevelse som innehåller programdistribution, så inget annat behövs.

5. Verifiera apparna

I följande avsnitt beskrivs hur du verifierar distributionen.

5.1. Få åtkomst till programmen

När distributionen är klar kan du hitta Spring Cloud Gateway-URL:en från distributionsutdata, som du ser i följande skärmbild:

Skärmbild av Azure Portal som visar sidan Distributionsutdata.

Öppna gateway-URL:en. Programmet bör se ut ungefär så här:

Skärmbild av det PetClinic-program som körs på Azure Spring Apps Enterprise-plan.

5.2. Fråga programloggarna

När du har bläddrat i varje funktion i husdjurskliniken samlar Log Analytics-arbetsytan in loggar för varje program. Du kan kontrollera loggarna med hjälp av anpassade frågor, enligt följande skärmbild:

Skärmbild av Azure Portal som visar sidan Loggar för frågan i PetClinic-programmet och resultatet för Enterprise-planen.

5.3. Övervaka programmen

Application Insights övervakar programberoendena enligt följande programspårningskarta:

Skärmbild av Azure Portal som visar sidan Programkarta för Azure Spring Apps Enterprise-plan.

Du hittar URL:en för programmets livevy från distributionsutdata. Öppna url:en för programmets livevy för att övervaka programkörningar, enligt följande skärmbild:

Skärmbild av programmets livevy för PetClinic-programmet.

5.1. Få åtkomst till programmen

Med hjälp av URL-informationen i distributionsloggens utdata öppnar du url:en som exponeras av appen med namnet api-gateway , till exempel https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Programmet bör se ut ungefär så här:

Skärmbild av det PetClinic-program som körs i Azure Spring Apps.

5.2. Fråga programloggarna

När du har bläddrat i varje funktion i husdjurskliniken samlar Log Analytics-arbetsytan in loggar för varje program. Du kan kontrollera loggarna med hjälp av anpassade frågor, enligt följande skärmbild:

Skärmbild av Azure Portal som visar sidan Loggar i frågan i PetClinic-programmet och resultaten.

5.3. Övervaka programmen

Application Insights övervakar programberoendena enligt följande programspårningskarta:

Skärmbild av Azure Portal som visar sidan Programkarta för en Application Insights-instans.

Öppna url:en som exponeras av appen admin-server för att hantera programmen via Spring Boot Admin Server, enligt följande skärmbild:

Skärmbild av sidan Spring Boot Admin Server för PetClinic-programmet med de aktuella programinstanserna.

6. Rensa resurser

Om du planerar att fortsätta arbeta med efterföljande snabbstarter och självstudier kanske du vill lämna dessa resurser på plats. När du inte längre behöver resurserna kan du rensa onödiga resurser för att undvika Azure-avgifter.

Använd följande steg för att ta bort hela resursgruppen, inklusive den nyligen skapade tjänstinstansen:

  1. Leta reda på resursgruppen på Azure Portal. På navigeringsmenyn väljer du Resursgrupper och sedan namnet på resursgruppen.

  2. På sidan Resursgrupp väljer du Ta bort. Ange namnet på resursgruppen i textrutan för att bekräfta borttagningen och välj sedan Ta bort.

Se till att ta bort de resurser som du skapade i den här artikeln när du inte längre behöver dem. Du kan ta bort den Azure-resursgrupp som innehåller alla resurser i resursgruppen.

Använd följande steg för att ta bort hela resursgruppen:

  1. Leta reda på resursgruppen på Azure Portal. På navigeringsmenyn väljer du Resursgrupper och sedan namnet på resursgruppen.

  2. På sidan Resursgrupp väljer du Ta bort. Ange namnet på resursgruppen i textrutan för att bekräfta borttagningen och välj sedan Ta bort.

7. Nästa steg

Mer information finns i följande artiklar: