Tutorial: Herstellen einer Verbindung mit einem verwalteten Eureka Server für Spring in Azure Container-Apps (Vorschau)
Eureka Server für Spring ist eine Dienstregistrierung, die es Microservices ermöglicht, sich selbst zu registrieren und andere Dienste zu entdecken. Als Azure Container Apps-Komponente können Sie Ihre Container-App für die automatische Registrierung an einen Eureka Server für Spring binden.
In diesem Tutorial lernen Sie Folgendes:
- Erstellen einer Java-Komponente vom Typ „Eureka Server für Spring“
- Binden Ihrer Container-App an eine Java-Komponente vom Typ „Eureka Server für Spring“
Wichtig
In diesem Tutorial werden Dienste verwendet, die sich auf Ihre Azure-Rechnung auswirken können. Wenn Sie sich dafür entscheiden, Schritt für Schritt vorzugehen, sollten Sie die in diesem Artikel verwendeten Ressourcen löschen, um unerwartete Abrechnungen zu vermeiden.
Voraussetzungen
Zum Abschließen dieses Projekts benötigen Sie die folgenden Elemente:
Anforderung | Anweisungen |
---|---|
Azure-Konto | Ein aktives Abonnement ist erforderlich. Falls Sie keins haben, können Sie kostenlos eins erstellen. |
Azure CLI | Installieren Sie die Azure CLI. |
Überlegungen
Beachten Sie bei der Ausführung in Eureka Server für Spring in Azure Container Apps die folgenden Details:
Artikel | Erklärung |
---|---|
Umfang | Die Komponente vom Typ „Eureka Server für Spring“ wird in der gleichen Umgebung ausgeführt wie die verbundene Container-App. |
Skalieren | Eureka Server für Spring kann nicht skaliert werden. Die Skalierungseigenschaften minReplicas und maxReplicas sind beide auf 1 . |
Ressourcen | Die Containerressourcenzuordnung für Eureka Server für Spring ist vorgegeben. Die Anzahl der CPU-Kerne beträgt 0,5, und die Speichergröße beträgt 1Gi. |
Preise | Die Abrechnung für Eureka Server für Spring ist verbrauchsabhängig. Ressourcen, die von verwalteten Java-Komponenten verbraucht werden, werden in den Aktiven/Leerlaufraten abgerechnet. Sie können Komponenten löschen, die nicht mehr zum Beenden der Abrechnung verwendet werden. |
Binding | Container-Apps stellen über eine Bindung eine Verbindung mit einer Komponente vom Typ „Eureka Server für Spring“ her. Die Bindungen enthalten Konfigurationen in Container-App-Umgebungsvariablen. Nachdem eine Bindung eingerichtet wurde, kann die Container-App die Konfigurationswerte aus Umgebungsvariablen lesen und eine Verbindung mit Eureka Server für Spring herstellen. |
Setup
Bevor Sie mit dem Eureka Server für Spring arbeiten, müssen Sie zuerst die erforderlichen Ressourcen erstellen.
Führen Sie die folgenden Befehle aus, um Ihre Ressourcengruppe, Container-Apps-Umgebung zu erstellen.
Erstellen Sie Variablen, um Ihre Anwendungskonfiguration zu unterstützen. Diese Werte werden Ihnen im Rahmen dieser Lerneinheit bereitgestellt.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export JAVA_COMPONENT_NAME=eureka export APP_NAME=sample-service-eureka-client export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"
Variable Beschreibung LOCATION
Der Standort der Azure-Region, an dem Sie Ihre Container-App und die Java-Komponente erstellen ENVIRONMENT
Der Name der Azure Container Apps-Umgebung für Ihre Demoanwendung. RESOURCE_GROUP
Der Name der Azure-Ressourcengruppe für Ihre Demoanwendung JAVA_COMPONENT_NAME
Der Name der für Ihre Container-App erstellten Java-Komponente. In diesem Fall erstellen Sie eine Java-Komponente vom Typ „Eureka Server für Spring“. IMAGE
Das containerimage, das in Ihrer Container-App verwendet wird. Melden Sie sich mit der Azure-Befehlszeilenschnittstelle (CLI) bei Azure an:
az login
Erstellen Sie eine Ressourcengruppe.
az group create --name $RESOURCE_GROUP --location $LOCATION
Erstellen Sie die Container Apps-Umgebung.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Verwenden der Java-Komponente vom Typ „Eureka Server für Spring“
Nachdem Sie nun über eine Umgebung verfügen, können Sie Ihre Container-App erstellen und an eine Java-Komponenteninstanz von Eureka Server für Spring binden.
Erstellen Sie die Java-Komponente vom Typ „Eureka Server für Spring“
az containerapp env java-component eureka-server-for-spring create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME
Aktualisieren Sie die Konfiguration der Java-Komponente vom Typ „Eureka Server für Spring“.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
Erstellen Sie die Container-App, und binden Sie sie an den Eureka Server für Spring.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080 \ --bind $JAVA_COMPONENT_NAME \ --query properties.configuration.ingress.fqdn
Dieser Befehl gibt die URL Ihrer Container-App zurück, die Register für die Eureka-Serverkomponente verwendet. Kopieren Sie die URL in einen Text-Editor, damit Sie sie in einem nächsten Schritt verwenden können.
Navigieren Sie oben zur Route
/allRegistrationStatus
, um alle Anwendungen anzuzeigen, die beim Eureka Server für Spring registriert sind.Die Bindung fügt mehrere Konfigurationen als Umgebungsvariablen in die Anwendung ein, in erster Linie die
eureka.client.service-url.defaultZone
Eigenschaft. Diese Eigenschaft gibt den internen Endpunkt der Eureka Server-Java-Komponente an.Die Bindung fügt auch die folgenden Eigenschaften ein:
"eureka.client.register-with-eureka": "true" "eureka.instance.prefer-ip-address": "true"
Die
eureka.client.register-with-eureka
Eigenschaft wird festgelegt, um die Registrierung mit dem Eureka-Server zutrue
erzwingen. Diese Registrierung überschreibt die lokale Einstellung inapplication.properties
, vom Konfigurationsserver usw. Wenn Sie siefalse
auf festlegen möchten, können Sie sie überschreiben, indem Sie eine Umgebungsvariable in Ihrer Container-App festlegen.Der
eureka.instance.prefer-ip-address
Wert wird aufgrund der spezifischen DNS-Auflösungsregel in der Container-App-Umgebung festgelegttrue
. Ändern Sie diesen Wert nicht, sodass Sie die Bindung nicht unterbrechen.Sie können auch eine Bindung aus Ihrer Anwendung entfernen.
Bereinigen von Ressourcen
Die in diesem Tutorial erstellten Ressourcen wirken sich auf Ihre Azure-Abrechnung aus. Führen Sie den folgenden Befehl aus, um alle in diesem Tutorial erstellten Ressourcen zu entfernen, wenn Sie diese Dienste nicht langfristig verwenden werden.
az group delete \
--resource-group $RESOURCE_GROUP
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für