Migrar o Servidor Eureka ou o Registro de Serviço do Tanzu para o Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo se aplica a:✅ Básico/Standard ✅ Enterprise
Este artigo explica como migrar o Servidor Eureka para o Servidor Eureka para Spring nos Aplicativos de Contêiner do Azure.
O Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure oferece uma experiência parecida com os Aplicativos Spring do Azure. Ele permite implantar aplicativos Spring existentes sem modificar o código-fonte e registrá-los automaticamente no Servidor Eureka gerenciado.
Pré-requisitos
- Uma instância do plano Enterprise dos Aplicativos Spring do Azure com o Registro de Serviço do Tanzu habilitado.
- Um ambiente de aplicativo contêiner do Azure existente usado para implantar aplicativos. Para saber mais, acesse Provisionar Aplicativos de Contêiner do Azure.
- Uma imagem de contêiner do aplicativo atuando como um cliente Eureka. Se necessário, você pode usar a imagem de exemplo
mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
. - CLI do Azure.
Provisionar o Servidor Eureka Gerenciado para Spring
Para usar o Servidor Eureka Gerenciado para Spring, primeiro você precisa criar o componente Servidor Eureka dentro do seu ambiente de Aplicativos de Contêiner do Azure.
Para criar o Servidor Eureka Gerenciado para Spring, siga as etapas:
Para criar o componente Java do Servidor Eureka para Spring, use o seguinte comando:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT
(Opcional) Para atualizar a configuração do componente Java do Servidor Eureka para Springs, use o seguinte comando:
az containerapp env java-component eureka-server-for-spring update \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT \ --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
Ao excluir o Servidor Eureka gerenciado pelo portal do Azure, os Aplicativos de Contêiner do Azure desvinculam automaticamente todos os aplicativos de contêiner registrados e excluem o Servidor Eureka gerenciado. Esse comportamento é diferente no Plano Enterprise dos Aplicativos Spring do Azure. Nele, você deve desassociar manualmente os serviços antes de excluir o Registro de Serviço do Tanzu.
Alocação de recursos e preços
A alocação de recursos de contêiner para o Servidor Eureka gerenciado nos Aplicativos de Contêiner do Azure é fixada para os seguintes valores:
- CPU: 0,5 vCPU
- Memória: 1 Gi
- Réplicas: 1 – não escalonável
Para comparação, o Registro de Serviço no Plano Enterprise dos Aplicativos Spring do Azure também provisiona recursos fixos, mas inclui duas réplicas, cada uma com 0,5 de vCPU e 1 Gi de memória.
Diferente dos planos Básico/Standard dos Aplicativos Spring do Azure, que não possuem cobrança, Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure opera com precificação baseada no consumo. Esse modelo de preços é semelhante ao do plano Enterprise dos Aplicativos Spring do Azure.
Para obter mais informações, veja a seção de Considerações do Tutorial: conectar-se a um Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure.
Implantar e associar um aplicativo
Depois de provisionar o Servidor Eureka gerenciado para Spring, você pode implantar seu aplicativo Spring nos Aplicativos de Contêiner do Azure e associá-lo ao Servidor Eureka. Esse processo é semelhante a como o Plano Enterprise funciona nos Aplicativos Spring do Azure. No entanto, é necessário associar manualmente o aplicativo ao Servidor Eureka, que é diferente dos planos Básico/Standard dos Aplicativos Spring do Azure, onde essa associação não é necessária.
Observação
Se você não estiver usando a imagem de exemplo mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
para implantar um aplicativo, pode ser necessário configurar permissões para permitir que os Aplicativos de Contêiner do Azure efetue o pull de imagens do seu registro de contêiner. Por exemplo, para preparar as permissões necessárias para efetuar o pull imagens do ACR (Registro de Contêiner do Azure), confira a seção Criar um Registro de Contêiner do Azure do Tutorial: criar e implantar seu aplicativo nos Aplicativos de Contêiner do Azure.
Implantar o aplicativo
Use o seguinte comando para criar um aplicativo contêiner:
az containerapp create \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--environment $ENVIRONMENT \
--image $IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Associar o aplicativo
Após criar o aplicativo com sucesso, você pode associá-lo ao Servidor Eureka gerenciado.
Use o seguinte comando para associar o aplicativo criado ao Servidor Eureka:
az containerapp update \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--bind $EUREKA_COMPONENT_NAME \
--query properties.configuration.ingress.fqdn
A associação injeta várias configurações no aplicativo como variáveis de ambiente, principalmente a propriedade eureka.client.service-url.defaultZone
. Essa propriedade indica o ponto de extremidade interno do componente Java do Eureka Server. Para mais informações sobre outras propriedades, confira a seção Associar seu aplicativo contêiner ao componente Java do Servidor Eureka para Spring do artigo Conectar-se a um Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure.
Se precisar desassociar seu aplicativo do Servidor Eureka, confira a seção Desassociar seu aplicativo contêiner do componente Java do Servidor Eureka para Spring no Conectar-se a um Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure.
Exibir os aplicativos registrados no painel
Após criar e vincular seu aplicativo ao Servidor Eureka com sucesso, você pode visualizar os aplicativos registrados por meio de um painel de gerenciamento. Para obter mais informações, veja a seção de Exibir o aplicativo por meio de um painel do tutorial Conectar-se a um Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure.
A captura de tela a seguir mostra um exemplo de como é o painel do Servidor Eureka:
Solução de problemas
Você pode exibir logs do Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure usando o Log Analytics, que funciona de forma semelhante ao mecanismo de registro em log nos Aplicativos Spring do Azure.
Para exibir o Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure, siga estas etapas:
Acesse a página do Ambiente do Aplicativo Contêiner.
Vá para Monitoramento>Opções de Registro em Log e, em Destino dos Logs, verifique se Azure Log Analytics está selecionado.
Acesse Monitoramento>Logs.
(Opcional) Se o escopo do Log Analytics não corresponder ao configurado em Opções de registro em log, selecione Selecionar escopo para escolher o workspace do Log Analytics correto.
Insira sua consulta no editor de consultas para visualizar os logs na tabela ContainerAppSystemLogs_CL, conforme mostrado no exemplo a seguir:
ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudEureka" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
Para mais informações sobre como consultar logs usando a CLI do Azure, veja o artigo Monitorar logs nos Aplicativos de Contêiner com o Log Analytics.
Limitações conhecidas
- Acesso externo: o Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure não pode ser acessado externamente.
- Tráfego de revisão: no modo de múltiplas revisões dos Aplicativos de Contêiner do Azure, todas as réplicas do aplicativo registradas no Eureka recebem tráfego.
Mais recursos
Para obter mais informações sobre o gerenciamento do Servidor Eureka nos Aplicativos de Contêiner do Azure, veja o Tutorial: conectar-se a um Servidor Eureka Gerenciado para Spring nos Aplicativos de Contêiner do Azure.