Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten får du lära dig hur du distribuerar ett program i Azure Container Apps som använder Java-komponenter för att hantera konfigurationshantering, tjänstidentifiering och hälsa och mått. Exempelprogrammet som används i det här exemplet är Java PetClinic, som använder arkitekturmönstret för mikrotjänster. Följande diagram visar arkitekturen för PetClinic-programmet i Azure Container Apps:
PetClinic-programmet innehåller följande funktioner:
- Klientdelen är en fristående Node.js webbapp som finns i API Gateway-appen.
- API-gatewayen dirigerar begäranden till serverdelstjänstappar.
- Back-end-appar byggs med Spring Boot.
- Varje serverdelsapp använder en HyperSQL-databas som beständig lagringsplats.
- Apparna använder hanterade Java-komponenter i Azure Container Apps, inklusive ett tjänstregister, en konfigurationsserver och en administratörsserver.
- Konfigurationsservern läser data från en Git-lagringsplats.
- En Log Analytics-arbetsyta loggar serverdata.
I den här kursen får du:
- Skapa en konfigurationsserver, Eureka-server, administratörsserver och administratörskomponenter
- Skapa en serie mikrotjänstappar
- Binda serverkomponenterna till dina mikrotjänstappar
- Distribuera samlingen med appar
- Granska de distribuerade apparna
I slutet av den här artikeln distribuerar du ett webbprogram och tre serverdelsprogram som är konfigurerade för att fungera med tre olika Java-komponenter. Du kan sedan hantera varje komponent via Azure Portal.
Förutsättningar
- Azure-konto: Om du inte har något Azure-konto skapar du ett kostnadsfritt. Du behöver behörigheten Deltagare eller Ägare för Azure-prenumerationen för att kunna använda den här snabbstarten. Mer information finns i Tilldela Azure-roller med Azure-portalen.
- Azure CLI: Installera Azure CLI.
- Azure Container Apps CLI-tillägg. Använd version 0.3.47 eller senare. 
              az extension add --name containerapp --upgrade --allow-previewAnvänd kommandot för att installera den senaste versionen.
Inställningar
Använd följande steg för att skapa miljövariabler, en resursgrupp och en Azure Container Apps-miljö:
- Miljövariablerna innehåller dina anpassade värden, så ersätt platshållarvärdena som omges av - <>med dina egna värden innan du kör följande kommandon:- export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>
- Nu skapar du fler miljövariabler som innehåller inställningarna för din mikrotjänstapp. Dessa värden används för att definiera namn och konfigurationer för Java-komponenterna och De Azure Container Apps som du använder för att distribuera mikrotjänsterna. Skapa dessa miljövariabler med hjälp av följande kommandon: - export CONFIG_SERVER_COMPONENT=configserver export ADMIN_SERVER_COMPONENT=admin export EUREKA_SERVER_COMPONENT=eureka export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git export CUSTOMERS_SERVICE=customers-service export VETS_SERVICE=vets-service export VISITS_SERVICE=visits-service export API_GATEWAY=api-gateway export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gateway
- Logga in på Azure CLI och välj din aktiva prenumeration med hjälp av följande kommando: - az login
- Skapa en resursgrupp för att organisera dina Azure-tjänster med hjälp av följande kommando: - az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
- Skapa din Azure Container Apps-miljö som är värd för både Java-komponenterna och dina containerappar med hjälp av följande kommando: - az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
Skapa Java-komponenter
Nu skapar du följande Java-komponenter som stöder din app:
- Konfigurationsserver. Används för att hantera konfigurationsinställningar för dina mikrotjänstappar.
- Eureka-server. Används för att hantera tjänsteregister och upptäckt.
- Administratörsserver. Används för att övervaka och hantera hälsotillståndet och måtten för dina mikrotjänstappar.
Använd följande steg för att skapa dessa serverkomponenter:
- Skapa konfigurationsservern för dina Java-komponenter med hjälp av följande kommando: - az containerapp env java-component config-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $CONFIG_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URI
- Skapa Eureka-servern för dina Java-komponenter med hjälp av följande kommando: - az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
- Skapa administratörsservern för dina Java-komponenter med hjälp av följande kommando: - az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Distribuera mikrotjänstapparna
Använd följande steg för att distribuera Java-mikrotjänstappar till Azure Container Apps med hjälp av de fördefinierade containeravbildningarna:
Kommentar
I den här artikeln använder du en serie byggda bilder för Spring Petclinic-mikrotjänstappar. Du har också möjlighet att anpassa exempelkoden och använda dina egna bilder. Mer information finns i GitHub-lagringsplatsen azure-container-apps-java-samples.
- Skapa kunddataappen med hjälp av följande kommando: - az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGE
- Skapa veterinärappen med hjälp av följande kommando: - az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGE
- Skapa besöksappen med hjälp av följande kommando: - az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGE
- Skapa API Gateway-appen med hjälp av följande kommando: - az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $API_GATEWAY_IMAGE \ --ingress external \ --target-port 8080 \ --query properties.configuration.ingress.fqdn
Binda containerappar till Java-komponenter
Sedan binder du Java-komponenterna till dina containerappar. Bindningarna som du skapar i det här avsnittet innehåller följande funktioner:
- Mata in konfigurationsdata i varje app från den hanterade konfigurationsservern vid start.
- Registrera appen med den hanterade Eureka-servern för tjänstidentifiering.
- Aktivera administratörsservern för att övervaka appen.
              containerapp update Använd kommandot för att skapa bindningar för varje app med hjälp av följande steg:
- Lägg till bindningar i kunddataappen med hjälp av följande kommando: - az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
- Lägg till nätverksbindningar till veterinärtjänsten med hjälp av följande kommando: - az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
- Lägg till bindningar till besökstjänsten med hjälp av följande kommando: - az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
- Lägg till bindningar till API-gatewayen. Använd följande kommando för att returnera URL:en för klientdelsprogrammet och öppna sedan den här platsen i webbläsaren: - az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \ --query properties.configuration.ingress.fqdn
Verifiera appens status
Använd följande steg för att verifiera appens status:
- Visa frontend-applikationen i webbläsaren med hjälp av URL:en som returneras från API-gatewayens - az containerapp updatekommando. Programmet bör likna följande skärmbild:
- Visa Instrumentpanelen för Eureka-servern med hjälp av följande steg: - Viktigt! - Om du vill visa instrumentpanelen för Eureka Server och administratörspanelen för Spring måste du ha minst rollen - Microsoft.App/managedEnvironments/writetilldelad till ditt konto till resursen för den hanterade miljön. Du kan uttryckligen tilldela resursen- Ownereller- Contributorrollen. Du kan också följa stegen för att skapa en anpassad rolldefinition och tilldela den till ditt konto.- Kör följande kommando för att returnera instrumentpanelens URL: - az containerapp env java-component eureka-server-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdn
- Öppna URL:en i webbläsaren. Du bör se ett program som liknar följande skärmbild: 
 
- Visa instrumentpanelen Admin för Spring med hjälp av följande steg: - Använd följande kommando för att returnera instrumentpanelens URL: - az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdn
- Öppna URL:en i webbläsaren. Du bör se ett program som liknar följande skärmbild: 
 
Valfritt: Konfigurera Java-komponenter
Du kan konfigurera De Java-komponenter som skapas i den här snabbstarten via Azure Portal med hjälp av avsnittet Konfigurationer.
Mer information om hur du konfigurerar de tre Java-komponenterna som du skapade i den här snabbstarten finns i följande länkar:
Rensa resurser
De resurser som skapas i den här snabbstarten påverkar din Azure-faktura. Om du inte ska använda dessa tjänster på lång sikt använder du följande kommando för att ta bort allt som skapats i den här snabbstarten:
az group delete --resource-group $RESOURCE_GROUP
 
              
            
 
              
               
              
               
              
               
              
              