Esercitazione: Integrare il componente Amministrazione per Spring con Eureka Server per Spring in App contenitore di Azure
Questa esercitazione illustra il processo di integrazione di un componente Amministrazione gestita per Spring con un Eureka Server per Spring all'interno di App contenitore di Azure.
Questo articolo offre contenuto simile all'esercitazione "Connettersi a un componente Amministrazione gestita per Spring in App contenitore di Azure", ma con Eureka Server per Spring è possibile associare il componente Amministrazione per Spring a Eureka Server per Spring, in modo che possa ottenere informazioni sull'applicazione tramite Eureka, invece di dover associare singole applicazioni al componente Amministrazione per Spring.
Seguendo questa guida si configurerà un server Eureka Server per l'individuazione dei servizi e quindi si creerà un componente Amministrazione per Spring per gestire e monitorare le applicazioni Spring registrate con Eureka Server. Questa configurazione garantisce che le altre applicazioni debbano essere associate solo a Eureka Server, semplificando la gestione dei microservizi.
In questa esercitazione si apprenderà come:
- Creare un'istanza di Eureka Server per Spring.
- Creare un componente Amministrazione per Spring e collegarlo a Eureka Server.
- Associare altre applicazioni a Eureka Server per facilitare l'individuazione e la gestione dei servizi.
Prerequisiti
Per completare l'esercitazione, sono necessari gli elementi seguenti:
Requisito | Istruzioni |
---|---|
Account di Azure | È necessaria una sottoscrizione attiva. Se non hai un account, puoi crearlo gratuitamente. |
Interfaccia della riga di comando di Azure | Installare l'interfaccia della riga di comando di Azure. |
Un componente Eureka Server per Spring Java esistente | Se non è disponibile, seguire la sezione Creare Eureka Server per Spring per crearne uno. |
Considerazioni
Quando si eseguono componenti Java gestiti in App contenitore di Azure, tenere presenti i dettagli seguenti:
Articolo | Spiegazione |
---|---|
Scope | I componenti vengono eseguiti nello stesso ambiente dell'app contenitore connessa. |
Ridimensionamento | Il componente non può essere ridimensionato. Le proprietà di ridimensionamento minReplicas e maxReplicas sono entrambe impostate su 1 . |
Risorse | L'allocazione delle risorse del contenitore per i componenti è fissa. Il numero di core CPU è 0,5 e la dimensione della memoria è 1 Gi. |
Prezzi | La fatturazione dei componenti rientra nei prezzi basati sul consumo. Le risorse utilizzate dai componenti gestiti vengono fatturate in base alle tariffe attive/inattive. È possibile eliminare i componenti che non sono più in uso per interrompere la fatturazione. |
Binding | Le app contenitore si connettono a un componente tramite un'associazione. Le associazioni inseriscsono le configurazioni nelle variabili di ambiente dell'app contenitore. Dopo aver stabilito un'associazione, l'app contenitore può leggere i valori di configurazione dalle variabili di ambiente e connettersi al componente. |
Attrezzaggio
Prima di iniziare, creare le risorse necessarie eseguendo i comandi seguenti.
Creare le variabili per supportare la configurazione dell'applicazione. Questi valori vengono forniti ai fini di questa lezione.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export EUREKA_COMPONENT_NAME=eureka export ADMIN_COMPONENT_NAME=admin export CLIENT_APP_NAME=sample-service-eureka-client export CLIENT_IMAGE="mcr.microsoft.com/javacomponents/samples/sample-admin-for-spring-client:latest"
Variabile Descrizione LOCATION
Area di Azure in cui si creano l'app contenitore e il componente Java. RESOURCE_GROUP
Nome del gruppo di risorse di Azure per l'applicazione demo. ENVIRONMENT
Nome dell'ambiente App contenitore di Azure per l'applicazione demo. EUREKA_COMPONENT_NAME
Nome del componente Java Eureka Server. ADMIN_COMPONENT_NAME
Nome del componente Java Amministrazione per Spring. CLIENT_APP_NAME
Nome dell'app contenitore che verrà associata a Eureka Server. CLIENT_IMAGE
Immagine del contenitore usata nell'app contenitore Eureka Server. Accedere ad Azure con l'interfaccia della riga di comando di Azure.
az login
Creare un gruppo di risorse.
az group create --name $RESOURCE_GROUP --location $LOCATION
Creare l'ambiente app contenitore.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
L'uso del parametro
--query
filtra la risposta fino a un semplice messaggio di esito positivo o negativo.
Facoltativo: creare Eureka Server per Spring
Se non si dispone di un server Eureka Server esistente per Spring, seguire il comando seguente per creare il componente Java Eureka Server. Per altre informazioni, vedere [Creare Eureka Server per Spring](java-eureka-server.md#create-the-eureka server-for-spring-java-component).
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_NAME
Associare i componenti
Creare il componente Java Amministrazione per Spring.
az containerapp env java-component admin-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $ADMIN_COMPONENT_NAME \
--min-replicas 1 \
--max-replicas 1 \
--bind $EUREKA_COMPONENT_NAME
Associare altre app a Eureka Server
Dopo aver configurato Eureka Server, è ora possibile associarvi altre applicazioni per l'individuazione dei servizi. È anche possibile monitorare e gestire queste applicazioni nel dashboard di Amministrazione per Spring. Seguire questa procedura per creare e associare un'app contenitore a Eureka Server:
Creare l'app contenitore e associarla a Eureka Server.
az containerapp create \
--name $CLIENT_APP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $CLIENT_IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--bind $EUREKA_COMPONENT_NAME
Suggerimento
Poiché nei passaggi precedenti è stato associato il componente Amministrazione per Spring al componente Eureka Server per Spring, il componente Amministrazione abilita l'individuazione del servizio e consente di gestirlo contemporaneamente tramite il dashboard di Amministrazione per Spring.
Visualizzare i dashboard
Importante
Per visualizzare il dashboard, è necessario che all'account sia assegnato almeno il ruolo Microsoft.App/managedEnvironments/write
nella risorsa ambiente gestito. È possibile assegnare in modo esplicito il ruolo Owner
o Contributor
nella risorsa oppure seguire la procedura per creare una definizione del ruolo personalizzata e assegnarla all'account.
Creare la definizione del ruolo personalizzata.
az role definition create --role-definition '{ "Name": "Java Component Dashboard Access", "IsCustom": true, "Description": "Can access managed Java Component dashboards in managed environments", "Actions": [ "Microsoft.App/managedEnvironments/write" ], "AssignableScopes": ["/subscriptions/<SUBSCRIPTION_ID>"] }'
Assicurarsi di sostituire il segnaposto tra le parentesi
<>
nel valoreAssignableScopes
con l'ID sottoscrizione in uso.Assegnare il ruolo personalizzato all'account nella risorsa ambiente gestito.
Ottenere l'ID risorsa dell'ambiente gestito.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id -o tsv)
Assegnare il ruolo all'account.
Prima di eseguire questo comando, sostituire il segnaposto tra parentesi
<>
con l'ID utente o l'entità servizio.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Ottenere l'URL del dashboard di Amministrazione per Spring.
az containerapp env java-component admin-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_COMPONENT_NAME \ --query properties.ingress.fqdn -o tsv
Ottenere l'URL del dashboard di Eureka Server per Spring.
az containerapp env java-component eureka-server-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --query properties.ingress.fqdn -o tsv
Questo comando restituisce l'URL che è possibile usare per accedere al dashboard di Eureka Server per Spring. Tramite il dashboard, l'app contenitore è disponibile anche come illustrato nello screenshot seguente.
Pulire le risorse
Le risorse create in questa esercitazione hanno effetto sulla fattura di Azure. Se non si intende usare questi servizi a lungo termine, eseguire il comando seguente per rimuovere tutti gli elementi creati in questa esercitazione.
az group delete \
--resource-group $RESOURCE_GROUP