Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste início rápido, você aprenderá a implantar um aplicativo em Aplicativos de Contêiner do Azure que usa componentes Java para lidar com gerenciamento de configuração, descoberta de serviços e integridade e métricas. O aplicativo de exemplo usado neste exemplo é o Java PetClinic, que usa o padrão de arquitetura de microsserviço. O diagrama a seguir descreve a arquitetura do aplicativo PetClinic em Aplicativos de Contêiner do Azure:
A aplicação PetClinic inclui as seguintes funcionalidades:
- O front-end é uma aplicação web Node.js autónoma hospedada na aplicação de gateway de API.
- O gateway de API roteia solicitações para aplicativos de serviço back-end.
- Os aplicativos back-end são criados com o Spring Boot.
- Cada aplicativo back-end usa um banco de dados HyperSQL como armazenamento persistente.
- Os aplicativos usam componentes Java gerenciados em Aplicativos de Contêiner do Azure, incluindo um registro de serviço, servidor de configuração e servidor de administração.
- O servidor de configuração lê dados de um repositório Git.
- Um espaço de trabalho do Log Analytics registra dados do servidor.
Neste tutorial, você:
- Crie um servidor de configuração, um servidor Eureka, um servidor de administração e componentes de administração
- Criar uma série de aplicativos de microsserviço
- Vincular os componentes do servidor aos seus aplicativos de microsserviços
- Implantar a coleção de aplicativos
- Revisar os aplicativos implantados
No final deste artigo, você implanta um aplicativo Web e três aplicativos back-end configurados para funcionar com três componentes Java diferentes. Em seguida, você pode gerenciar cada componente por meio do portal do Azure.
Pré-requisitos
- Conta do Azure: se você não tiver uma conta do Azure, crie uma gratuitamente. Você precisa da permissão de Colaborador ou Proprietário na assinatura do Azure para usar esse início rápido. Para obter mais informações, consulte Atribuir funções do Azure usando o portal do Azure.
- CLI do Azure: Instale a CLI do Azure.
- Extensão da CLI dos Aplicativos de Contêiner do Azure. Use a versão 0.3.47 ou superior. Use o
az extension add --name containerapp --upgrade --allow-previewcomando para instalar a versão mais recente.
Configuração
Para criar variáveis de ambiente, um grupo de recursos e um ambiente de Aplicativos de Contêiner do Azure, use as seguintes etapas:
As variáveis de ambiente contêm os seus valores personalizados, portanto, substitua os valores entre parênteses angulares, cercados por
<>, pelos seus próprios valores antes de executar os comandos seguintes.export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>Agora você cria mais variáveis de ambiente que contêm as configurações para seu aplicativo de microsserviços. Esses valores são usados para definir os nomes e as configurações dos componentes Java e dos Aplicativos de Contêiner do Azure que você usa para implantar os microsserviços. Crie essas variáveis de ambiente usando os seguintes comandos:
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-gatewayEntre na CLI do Azure e escolha sua assinatura ativa usando o seguinte comando:
az loginCrie um grupo de recursos para organizar seus serviços do Azure usando o seguinte comando:
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONCrie seu ambiente de Aplicativos de Contêiner do Azure, que hospeda os componentes Java e seus aplicativos de contêiner, usando o seguinte comando:
az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
Criar componentes Java
Agora você cria os seguintes componentes Java que suportam seu aplicativo:
- Configuração do servidor. Usado para gerenciar definições de configuração para seus aplicativos de microsserviços.
- Servidor Eureka. Usado para gerenciar o registro e a descoberta do serviço.
- Servidor de administração. Usado para monitorar e gerenciar a integridade e as métricas de seus aplicativos de microsserviços.
Para criar esses componentes de servidor, use as seguintes etapas:
Crie o servidor de configuração para seus componentes Java usando o seguinte comando:
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_URICrie o servidor Eureka para seus componentes Java usando o seguinte comando:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \Crie o servidor de administração para seus componentes Java usando o seguinte comando:
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Implantar os aplicativos de microsserviço
Para implantar os aplicativos de microsserviço Java nos Aplicativos de Contêiner do Azure usando as imagens de contêiner pré-criadas, use as seguintes etapas:
Observação
Neste artigo, você usa uma série de imagens criadas para os aplicativos de microsserviço Spring Petclinic. Você também tem a opção de personalizar o código de exemplo e usar suas próprias imagens. Para obter mais informações, consulte o repositório do GitHub azure-container-apps-java-samples.
Crie o aplicativo de dados do cliente usando o seguinte comando:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGECrie o aplicativo vet usando o seguinte comando:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGECrie o aplicativo de visitas usando o seguinte comando:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGECrie o aplicativo de gateway de API usando o seguinte comando:
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
Vincular aplicativos de contêiner a componentes Java
Em seguida, vincule os componentes Java aos seus aplicativos de contêiner. As associações que você cria nesta seção fornecem a seguinte funcionalidade:
- Injete dados de configuração em cada aplicativo a partir do servidor de configuração gerenciado na inicialização.
- Registe a aplicação no servidor Eureka gerido para deteção de serviços.
- Habilite o servidor de administração para monitorar o aplicativo.
Use o containerapp update comando para criar associações para cada aplicativo usando as seguintes etapas:
Adicione associações ao aplicativo de dados do cliente usando o seguinte comando:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAdicione associações ao serviço veterinário usando o seguinte comando:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAdicione associações ao serviço de visitas usando o seguinte comando:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAdicione associações ao gateway de API. Use o seguinte comando para retornar a URL do aplicativo front-end e abra esse local no navegador:
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
Verificar o status do aplicativo
Use as seguintes etapas para verificar o status do aplicativo:
Usando a URL retornada do comando
az containerapp updatedo gateway de API, visualize o aplicativo front-end no seu navegador. O aplicativo deve ser semelhante à seguinte captura de tela:Exiba o painel do servidor Eureka usando as seguintes etapas:
Importante
Para visualizar o painel do Eureka Server e o painel Admin for Spring, você precisa ter pelo menos a
Microsoft.App/managedEnvironments/writefunção atribuída à sua conta no recurso de ambiente gerenciado. Você pode atribuir explicitamente a funçãoOwnerouContributorno recurso. Você também pode seguir as etapas para criar uma definição de função personalizada e atribuí-la à sua conta.Execute o seguinte comando para retornar a URL do painel:
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.fqdnAbra o URL no seu navegador. Você verá um aplicativo semelhante à seguinte captura de tela:
Exiba o painel Admin for Spring usando as seguintes etapas:
Use o seguinte comando para retornar a URL do painel:
az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnAbra o URL no seu navegador. Você verá um aplicativo semelhante à seguinte captura de tela:
Opcional: Configurar componentes Java
Você pode configurar os componentes Java criados neste início rápido por meio do portal do Azure usando a seção Configurações .
Para obter mais informações sobre como configurar os três componentes Java criados neste início rápido, consulte os seguintes links:
Limpeza de recursos
Os recursos criados neste início rápido têm um efeito na sua fatura do Azure. Se você não vai usar esses serviços a longo prazo, use o seguinte comando para remover tudo o que foi criado neste início rápido:
az group delete --resource-group $RESOURCE_GROUP