Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie leert u hoe u een Eureka-service maakt die is ontworpen om operationeel te blijven ten aanzien van storingen en hoge vraag. Door een maximaal beschikbare Eureka-service te bouwen, zorgt u ervoor dat het serviceregister dat u gebruikt voor Azure Container Apps altijd beschikbaar is voor clients, ongeacht de vraag.
Het bereiken van de status van hoge beschikbaarheid voor Eureka omvat het koppelen van meerdere Eureka-serverexemplaren, zodat ze een cluster vormen. Het cluster biedt resources, zodat als één Eureka-server mislukt, de andere services beschikbaar blijven voor aanvragen.
In deze zelfstudie hebt u:
- Maak Eureka-servers voor Spring-onderdelen.
- Koppel twee Eureka-servers voor Spring-onderdelen aan elkaar in een cluster.
- Bind een container-app aan beide Eureka-servers voor maximaal beschikbare servicedetectie.
Vereisten
- Een Azure-account met een actief abonnement. Als u er nog geen hebt, kunt u er gratis een maken.
- De Azure CLI.
Overwegingen
Wanneer u beheerde Java-onderdelen uitvoert in Container Apps, moet u rekening houden met de volgende details:
| Artikel | Uitleg |
|---|---|
| Bereik | Onderdelen worden uitgevoerd in dezelfde omgeving als de verbonden container-app. |
| Schalen | Onderdelen kunnen niet worden geschaald. De schaaleigenschappen minReplicas en maxReplicas beide zijn ingesteld op 1. |
| Resources | De toewijzing van containerresources voor onderdelen is opgelost. Het aantal CPU-kernen is 0,5 en de geheugengrootte is 1 GB. |
| Prijzen | Facturering van onderdelen valt onder de prijzen op basis van verbruik. Resources die door beheerde onderdelen worden verbruikt, worden gefactureerd tegen de actieve of niet-actieve tarieven, afhankelijk van het resourcegebruik. U kunt onderdelen verwijderen die niet meer worden gebruikt om de facturering te stoppen. |
| Binding | Container-apps maken verbinding met een onderdeel via een binding. De bindingen injecteren configuraties in omgevingsvariabelen voor container-apps. Nadat een binding tot stand is gebracht, kan de container-app de configuratiewaarden van omgevingsvariabelen lezen en verbinding maken met het onderdeel. |
Instellen van initiële middelen
Gebruik de volgende stappen om enkele resources te maken die u nodig hebt voor uw Eureka-servicecluster.
Maak variabelen die toepassingsconfiguratiewaarden bevatten.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export EUREKA_COMPONENT_FIRST=eureka01 export EUREKA_COMPONENT_SECOND=eureka02 export APP_NAME=sample-service-eureka-client export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"Gebruik de Azure CLI om u aan te melden bij Azure.
az loginMaak een resourcegroep.
az group create --name $RESOURCE_GROUP --location $LOCATIONMaak uw Container Apps-omgeving.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Servers maken voor een cluster
Maak twee Eureka Server voor Spring-onderdelen.
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_FIRST
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_SECOND
Onderdelen verbinden om een cluster te vormen
Voordat de Eureka-servers in een configuratie met hoge beschikbaarheid werken, moeten ze als cluster worden gekoppeld.
Bind de eerste Eureka-server aan de tweede.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_FIRST \ --bind $EUREKA_COMPONENT_SECONDBind de tweede Eureka-server aan de eerste.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_SECOND \ --bind $EUREKA_COMPONENT_FIRST
De toepassing implementeren en binden
Als de serveronderdelen aan elkaar zijn gekoppeld, kunt u de container-app maken en deze verbinden met de twee Eureka-onderdelen.
Maak de container-app.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080Bind de container-app aan het eerste Eureka-serveronderdeel.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_FIRSTBind de container-app aan het tweede Eureka-serveronderdeel.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_SECOND
Het dashboard weergeven
Belangrijk
Als u het Spring-dashboard voor de Eureka-server wilt weergeven, moet u de rol Microsoft.App/managedEnvironments/write, Owner, of Contributor toegewezen hebben aan uw account voor de Container Apps-omgevingsresource.
- Als u al een van deze rollen hebt, gaat u naar de sectie Url van het dashboard ophalen om de URL op te halen en het dashboard weer te geven.
- Als u een aangepaste roldefinitie wilt maken en aan uw account wilt toewijzen, voert u de stappen in de volgende sectie uit, maakt en wijst u een aangepaste rol toe.
- Als u uw account de
Owner- ofContributor- rollen voor de resource wilt toewijzen, maakt u deze toewijzing. Daarna ga verder naar de sectie Dashboard-URL ophalen.
Een aangepaste rol maken en toewijzen
Maak de aangepaste roldefinitie. Voordat u deze opdracht uitvoert, vervangt u de aanduiding
AssignableScopesin de waarde door uw abonnements-id.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>"] }'Haal de resource-id van de Container Apps-omgeving op.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)Wijs de aangepaste rol toe aan uw account voor de Container Apps-omgevingsresource. Voordat u deze opdracht uitvoert, vervangt u de tijdelijke aanduiding in de
assignee-waarde door uw gebruikersobject-id of service-principal-id.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
De URL van het dashboard ophalen
Haal de URL van de Eureka-server voor springdashboard op.
az containerapp env java-component eureka-server-for-spring show \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_FIRST \
--query properties.ingress.fqdn \
--output tsv
Met deze opdracht wordt de URL geretourneerd die u kunt gebruiken voor toegang tot de Eureka-server voor springdashboard. Via het dashboard kunt u controleren of de Installatie van de Eureka-server bestaat uit twee replica's.
Resources opschonen
De resources die in deze handleiding zijn gemaakt, beïnvloeden uw Azure-factuur. Als u deze services op de lange termijn niet gaat gebruiken, voert u de volgende opdracht uit om alles te verwijderen dat in deze zelfstudie is gemaakt.
az group delete --resource-group $RESOURCE_GROUP