Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
I piani Basic, Standard ed Enterprise sono entrati in un periodo di ritiro il 17 marzo 2025. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
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
- Un'istanza esistente del piano Enterprise di Azure Spring Apps con Tanzu Service Registry abilitato.
- Un ambiente di app contenitore di Azure esistente usato per distribuire 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:latestdi 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
- Replica: 1 - non scalabile
Per confronto, il Registro di servizio del piano Enterprise di Azure Spring Apps esegue il provisioning di risorse fisse, ma include anche due repliche, ciascuna 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 ulteriori 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 scaricare immagini da Registro Azure Container (ACR), vedere la sezione Creare un Registro Azure Container di Esercitazione: Compilare e distribuire l'app in App contenitore di Azure.
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
Collega 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 ulteriori informazioni su altre proprietà, vedi la sezione Collegare l'app contenitore al componente Java Eureka Server for Spring di Connettersi a un server Eureka gestito per Spring in App contenitore di Azure.
Se devi annullare l'associazione dell'applicazione da Eureka Server, vedi la sezione Annullare l'associazione dell'app contenitore dal componente Eureka Server for Spring Java di Connettersi a un server Eureka gestito per Spring in App contenitore di Azure.
Visualizzare le applicazioni registrate con un dashboard
Dopo aver creato la tua applicazione e l'aver assegnata al server Eureka, puoi visualizzare le applicazioni registrate tramite una dashboard di gestione. Per ulteriori informazioni, vedi la sezione Monitorare e gestire le applicazioni tramite un dashboard di 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:
Vai alla pagina Ambiente di app contenitore.
Vai a Monitoraggio>Opzioni di registrazione e, in Destinazione log, verifica che sia selezionato Log Analytics di Azure.
Vai a Monitoraggio>Log.
(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, consulta Esercitazione: Connettersi a un server Eureka gestito per Spring in App contenitore di Azure.