Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart leert u hoe u een toepassing implementeert in Azure Container Apps die gebruikmaakt van Java-onderdelen voor het afhandelen van configuratiebeheer, servicedetectie en status en metrische gegevens. De voorbeeldtoepassing die in dit voorbeeld wordt gebruikt, is de Java PetClinic, die gebruikmaakt van het microservicearchitectuurpatroon. In het volgende diagram ziet u de architectuur van de PetClinic-toepassing in Azure Container Apps:
De PetClinic-toepassing bevat de volgende functies:
- De front-end is een zelfstandige Node.js web-app die wordt gehost in de API-gateway-app.
- De API-gateway stuurt aanvragen naar back-endservice-apps.
- Back-end-apps zijn gebouwd met Spring Boot.
- Elke back-end-app maakt gebruik van een HyperSQL-database als permanente opslag.
- De apps maken gebruik van beheerde Java-onderdelen in Azure Container Apps, waaronder een serviceregister, een configuratieserver en een beheerserver.
- De configuratieserver leest gegevens uit een Git-opslagplaats.
- Een Log Analytics-werkruimte registreert servergegevens.
In deze handleiding zult u:
- Een configuratieserver, Eureka-server, beheerserver en beheeronderdelen maken
- Een reeks microservice-apps maken
- De serveronderdelen verbinden met uw microservices-apps
- De verzameling apps implementeren
- De geïmplementeerde apps controleren
Aan het einde van dit artikel implementeert u één webtoepassing en drie back-endtoepassingen die zijn geconfigureerd voor gebruik met drie verschillende Java-onderdelen. Vervolgens kunt u elk onderdeel beheren via Azure Portal.
Vereisten
- Azure-account: Als u geen Azure-account hebt, maakt u er gratis een. U hebt de machtiging Inzender of Eigenaar voor het Azure-abonnement nodig om deze quickstart te kunnen gebruiken. Zie Azure-rollen toewijzen met behulp van Azure Portal voor meer informatie.
- Azure CLI: Installeer de Azure CLI.
- Azure Container Apps CLI-extensie. Gebruik versie 0.3.47 of hoger. Gebruik de
az extension add --name containerapp --upgrade --allow-previewopdracht om de nieuwste versie te installeren.
Instellingen
Gebruik de volgende stappen om omgevingsvariabelen, een resourcegroep en een Azure Container Apps-omgeving te maken:
De omgevingsvariabelen bevatten uw aangepaste waarden, dus vervang de tijdelijke aanduidingen die door
<>uw eigen waarden worden omgeven voordat u de volgende opdrachten uitvoert:export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>Nu maakt u meer omgevingsvariabelen die de instellingen voor uw microservices-app bevatten. Deze waarden worden gebruikt voor het definiëren van de namen en configuraties van de Java-onderdelen en de Azure Container Apps die u gebruikt om de microservices te implementeren. Maak deze omgevingsvariabelen met behulp van de volgende opdrachten:
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-gatewayMeld u aan bij de Azure CLI en kies uw actieve abonnement met behulp van de volgende opdracht:
az loginMaak een resourcegroep om uw Azure-services te organiseren met behulp van de volgende opdracht:
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONMaak uw Azure Container Apps-omgeving, die als host fungeert voor zowel de Java-onderdelen als uw container-apps, met behulp van de volgende opdracht:
az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
Java-onderdelen maken
Nu maakt u de volgende Java-onderdelen die ondersteuning bieden voor uw app:
- Configuratieserver. Wordt gebruikt voor het beheren van configuratie-instellingen voor uw microservices-apps.
- Eureka-server. Wordt gebruikt om het serviceregister en de detectie te beheren.
- Beheerserver. Wordt gebruikt voor het bewaken en beheren van de status en metrische gegevens van uw microservices-apps.
Voer de volgende stappen uit om deze serveronderdelen te maken:
Maak de configuratieserver voor uw Java-onderdelen met behulp van de volgende opdracht:
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_URIMaak de Eureka-server voor uw Java-onderdelen met behulp van de volgende opdracht:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \Maak de beheerserver voor uw Java-onderdelen met behulp van de volgende opdracht:
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
De microservice-apps implementeren
Als u de Java-microservice-apps wilt implementeren in Azure Container Apps met behulp van de vooraf gemaakte containerinstallatiekopieën, gebruikt u de volgende stappen:
Notitie
In dit artikel gebruikt u een reeks opgebouwde afbeeldingen voor de Spring Petclinic microservice-apps. U hebt ook de mogelijkheid om de voorbeeldcode aan te passen en uw eigen afbeeldingen te gebruiken. Zie de GitHub-opslagplaats azure-container-apps-java-samples voor meer informatie.
Maak de klantgegevens-app met behulp van de volgende opdracht:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGEMaak de vet-app met behulp van de volgende opdracht:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGEMaak de app bezoeken met behulp van de volgende opdracht:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGEMaak de API-gateway-app met behulp van de volgende opdracht:
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
Container-apps binden aan Java-onderdelen
Koppel vervolgens de Java-onderdelen aan uw container-apps. De bindingen die u in deze sectie maakt, bieden de volgende functionaliteit:
- Injecteer configuratiegegevens in elke app vanaf de beheerde configuratieserver bij het opstarten.
- Registreer de app bij de beheerde Eureka-server voor servicedetectie.
- Schakel de beheerserver in om de app te controleren.
Gebruik de containerapp update opdracht om bindingen voor elke app te maken met behulp van de volgende stappen:
Voeg bindingen toe aan de klantgegevens-app met behulp van de volgende opdracht:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTVoeg bindingen toe aan de veterinaire dienst met behulp van het volgende commando:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTVoeg bindingen toe aan de bezoeken-service met behulp van de volgende opdracht:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTBindingen toevoegen aan de API-gateway. Gebruik de volgende opdracht om de URL van de front-endtoepassing te retourneren en open deze locatie vervolgens in uw browser:
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
App-status controleren
Gebruik de volgende stappen om de app-status te controleren:
Met behulp van de URL die wordt geretourneerd vanuit de opdracht van
az containerapp updatede API-gateway, bekijkt u de front-endtoepassing in uw browser. De toepassing moet er ongeveer uitzien als in de volgende schermopname:Bekijk het Eureka-serverdashboard met behulp van de volgende stappen:
Belangrijk
Als u het Eureka Server-dashboard en -beheerder voor Spring-dashboard wilt weergeven, moet u ten minste de
Microsoft.App/managedEnvironments/writerol hebben toegewezen aan uw account in de beheerde omgevingsresource. U kunt deOwnerofContributorrol expliciet toewijzen aan de resource. U kunt ook de stappen volgen om een aangepaste roldefinitie te maken en deze toe te wijzen aan uw account.Voer de volgende opdracht uit om de URL van het dashboard te retourneren:
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.fqdnOpen de URL in uw browser. U ziet nu een toepassing die lijkt op de volgende schermopname:
Bekijk het dashboard Beheerder voor Spring met behulp van de volgende stappen:
Gebruik de volgende opdracht om de URL van het dashboard te retourneren:
az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnOpen de URL in uw browser. U ziet nu een toepassing die lijkt op de volgende schermopname:
Optioneel: Java-onderdelen configureren
U kunt de Java-onderdelen configureren die in deze quickstart zijn gemaakt via Azure Portal met behulp van de sectie Configuraties .
Zie de volgende koppelingen voor meer informatie over het configureren van de drie Java-onderdelen die u in deze quickstart hebt gemaakt:
Resources opschonen
De resources die in deze quickstart zijn gemaakt, hebben een effect op uw Azure-factuur. Als u deze services niet op de lange termijn gaat gebruiken, gebruikt u de volgende opdracht om alles te verwijderen dat in deze quickstart is gemaakt:
az group delete --resource-group $RESOURCE_GROUP