Eseguire la migrazione del registro dei servizi Eureka o Tanzu al server Eureka gestito per Spring nelle app contenitore di Azure
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a:✅ Basic/Standard ✅ Enterprise
Questo articolo descrive come eseguire la migrazione del server Eureka al server Eureka per Spring nelle app contenitore di Azure.
Il server Eureka gestito di App Azure Container per Spring offre un'esperienza simile ad Azure Spring Apps. Consente di distribuire applicazioni Spring esistenti senza modificare il codice sorgente e registrarle con il server Eureka gestito.
Prerequisiti
- Istanza del piano Enterprise di Azure Spring Apps esistente con il Registro di sistema del servizio Tanzu abilitato.
- Un ambiente dell'app contenitore di Azure esistente usato per distribuire le applicazioni. Per altre informazioni, vedere Effettuare il provisioning di app contenitore di Azure.
- Immagine del contenitore dell'applicazione che funge da client Eureka. Se necessario, è possibile usare l'immagine
mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
di esempio . - Interfaccia della riga di comando di Azure.
Effettuare il provisioning di Eureka Server gestito per Spring
Per usare il server Eureka gestito per Spring, è prima necessario creare il componente Server Eureka all'interno dell'ambiente App Azure Container.
Per creare il server Eureka gestito per Spring, seguire questa procedura:
Per creare il componente Eureka Server for Spring Java, usare il comando seguente:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT
(Facoltativo) Per aggiornare la configurazione del componente Eureka Server for Spring Java, usare il comando seguente:
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
Quando si elimina il server Eureka gestito tramite il portale di Azure, App Azure Container annulla automaticamente l'associazione di tutte le app contenitore registrate e elimina il server Eureka gestito. Questo comportamento è diverso dal piano aziendale di Azure Spring Apps, in cui è necessario annullare manualmente l'associazione dei servizi prima di eliminare il Registro di sistema del servizio Tanzu.
Allocazione delle risorse e prezzi
L'allocazione delle risorse del contenitore per il server Eureka gestito in App Contenitore di Azure è fissa ai valori seguenti:
- CPU: 0.5 vCPU
- Memoria: 1 Gi
- Repliche: 1 - non scalabile
Il Registro di sistema del servizio Enterprise Plan di Azure Spring Apps esegue invece il provisioning di risorse fisse, ma include due repliche, ognuna con 0,5 vCPU e 1 Gi di memoria.
A differenza dei piani Basic/Standard in Azure Spring Apps, che non vengono addebitati, il server Eureka gestito per Spring in App Azure Container opera in base ai prezzi basati sul consumo. Questo prezzo è simile ai prezzi del piano Enterprise di Azure Spring Apps.
Per altre informazioni, vedere la sezione Considerazioni di Esercitazione: Connettersi a un server Eureka gestito per Spring in App Contenitore di Azure.
Distribuire e associare un'applicazione
Dopo aver effettuato il provisioning del server Eureka gestito per Spring, è possibile distribuire l'applicazione Spring in App Contenitore di Azure e associarla al server Eureka. Questo processo è simile al funzionamento del piano aziendale in Azure Spring Apps. In particolare, è necessario associare l'applicazione al server Eureka, diversa dal piano Basic/Standard di Azure Spring Apps, in cui non è richiesta alcuna associazione.
Nota
Se non si usa l'immagine mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
di esempio per distribuire un'applicazione, potrebbe essere necessario eseguire alcune operazioni di configurazione per consentire ad App Contenitore di Azure di eseguire il pull delle immagini dal registro contenitori. Ad esempio, per preparare le autorizzazioni necessarie per eseguire il pull delle immagini da Registro Azure Container (Registro Azure Container), vedere la sezione Creare un Registro Azure Container di Esercitazione: Compilare e distribuire l'app in App Azure Container.
Distribuire l'applicazione
Usare il comando seguente per creare un'applicazione contenitore:
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
Associare l'applicazione
Dopo aver creato correttamente l'applicazione, è possibile associare l'applicazione al server Eureka gestito.
Usare il comando seguente per associare l'applicazione creata al server Eureka:
az containerapp update \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--bind $EUREKA_COMPONENT_NAME \
--query properties.configuration.ingress.fqdn
L'associazione inserisce diverse configurazioni nell'applicazione come variabili ambiente, principalmente la proprietà eureka.client.service-url.defaultZone
. Questa proprietà indica l'endpoint interno del componente Java di Eureka Server. Per altre informazioni su altre proprietà, vedere la sezione Associare l'app contenitore al componente Eureka Server for Spring Java di Connettersi a un server Eureka gestito per Spring in App Azure Container.
Se è necessario annullare l'associazione dell'applicazione da Eureka Server, vedere la sezione Annullare l'associazione dell'app contenitore dalla sezione Componente Eureka Server for Spring Java di Connect to a managed Eureka Server for Spring in Azure Container Apps (Connettersi a un server Eureka per Spring gestito per Spring in App contenitore di Azure).
Visualizzare le applicazioni registrate con un dashboard
Dopo aver creato correttamente l'applicazione e associarla al server Eureka, è possibile visualizzare le applicazioni registrate tramite un dashboard di gestione. Per altre informazioni, vedere la sezione Visualizzare l'applicazione tramite un dashboard di Connect to a managed Eureka Server for Spring in Azure Container Apps (Connettersi a un server Eureka gestito per Spring in App Contenitore di Azure).
Lo screenshot seguente mostra un esempio dell'aspetto del dashboard di Eureka Server:
Risoluzione dei problemi
È possibile visualizzare i log per il server Eureka gestito per Spring in App Azure Container usando Log Analytics, che funziona in modo analogo al meccanismo di registrazione in Azure Spring Apps.
Per visualizzare il server Eureka gestito per i log Spring in App Azure Container, seguire questa procedura:
Passare alla pagina Ambiente app contenitore.
Passare a Opzioni di registrazione monitoraggio> e, in Destinazione log, verificare che Sia selezionato Azure Log Analytics.
Passare a Log di monitoraggio>.
(Facoltativo) Se l'ambito di Log Analytics non corrisponde a quello configurato in Opzioni di registrazione, selezionare Seleziona ambito per scegliere l'area di lavoro Log Analytics corretta.
Immettere la query nell'editor di query per visualizzare i log dalla tabella ContainerAppSystemLogs_CL , come illustrato nell'esempio seguente:
ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudEureka" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
Per altre informazioni sull'esecuzione di query sui log usando l'interfaccia della riga di comando di Azure, vedere Monitorare i log in App Azure Container con Log Analytics.
Limitazioni note
- Accesso esterno: non è possibile accedere esternamente al server Eureka gestito per Spring in App Contenitore di Azure.
- Traffico di revisione: nella modalità di revisione multipla di App Azure Container, tutte le repliche dell'applicazione registrata in Eureka ricevono traffico.
Altre risorse
Per altre informazioni sulla gestione del server Eureka in App Contenitore di Azure, vedere Esercitazione: Connettersi a un server Eureka gestito per Spring nelle app contenitore di Azure.