Tutorial: Integrieren von Admin for Spring in Eureka Server für Spring in Azure Container-Apps
Dieses Tutorial führt Sie durch den Prozess der Integration eines verwalteten Admin for Spring in Eureka Server für Spring in Azure Container Apps.
Dieser Artikel enthält einige Inhalte, die dem Tutorial „Herstellen einer Verbindung mit einem verwalteten Administrator für Spring in Azure Container-Apps“ ähneln. Mit Eureka-Server für Spring können Sie Admin for Spring an Eureka-Server für Spring binden, damit er Anwendungsinformationen über Eureka abrufen kann, anstatt einzelne Anwendungen an Admin for Spring binden zu müssen.
Wenn Sie diesem Leitfaden folgen, richten Sie einen Eureka Server für die Dienstermittlung ein und erstellen dann einen Administrator für Spring, um Ihre Spring-Anwendungen zu verwalten und zu überwachen, die mit dem Eureka Server registriert sind. Durch diese Einrichtung wird sichergestellt, dass andere Anwendungen nur eine Bindung an den Eureka-Server benötigen und die Verwaltung Ihrer Microservices vereinfachen.
In diesem Tutorial lernen Sie Folgendes:
- Erstellen von Eureka Server für Spring
- Erstellen Sie einen Admin für Spring, und verknüpfen Sie ihn mit dem Eureka Server.
- Binden Sie andere Anwendungen an den Eureka Server, um eine optimierte Dienstermittlung und -verwaltung zu ermöglichen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sollten Sie noch nicht über ein Konto verfügen, können Sie ein kostenloses Konto erstellen.
- Azure-Befehlszeilenschnittstelle.
- Eine vorhandene Java-Komponente „Eureka Server für Spring“. Wenn Sie keine haben, lesen Sie Erstellen des Eureka-Servers für Spring.
Überlegungen
Beachten Sie bei der Ausführung von verwalteten Java-Komponenten in Azure Container Apps die folgenden Details:
Artikel | Erklärung |
---|---|
`Scope` | Komponenten werden in derselben Umgebung wie die verbundene Container-App ausgeführt. |
Skalierung | Komponente kann nicht skaliert werden. Die Skalierungseigenschaften minReplicas und maxReplicas sind beide auf 1 . |
Ressourcen | Die Containerressourcenzuordnung für Komponenten ist behoben. Die Anzahl der CPU-Kerne beträgt 0,5, und die Speichergröße beträgt 1 Gi. |
Preise | Die Komponentenabrechnung fällt unter die verbrauchsbasierten Preise. Ressourcen, die von verwalteten 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 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 der Komponente herstellen. |
Setup
Bevor Sie beginnen, erstellen Sie die erforderlichen Ressourcen, indem Sie die folgenden Befehle ausführen.
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 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"
Variable Beschreibung LOCATION
Der Standort der Azure-Region, in der Sie Ihre Container-App und Java-Komponenten erstellen. RESOURCE_GROUP
Der Name der Azure-Ressourcengruppe für Ihre Demoanwendung ENVIRONMENT
Der Name der Azure Container Apps-Umgebung für Ihre Demoanwendung. EUREKA_COMPONENT_NAME
Der Name der Java-Komponente vom Typ „Eureka Server“. ADMIN_COMPONENT_NAME
Der Name Java-Komponente vom Typ „Admin für Spring“. CLIENT_APP_NAME
Der Name der Container-App, die an den Eureka Server gebunden ist. CLIENT_IMAGE
Das Containerimage, das in Ihrer Eureka Server-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 \ --query "properties.provisioningState"
Mithilfe des
--query
-Parameters wird die Antwort auf eine einfache Erfolgs- oder Fehlermeldung gefiltert.
Optional: Erstellen von Eureka Server für Spring
Wenn Sie nicht über einen Eureka-Server für Spring verfügen, folgen Sie dem folgenden Befehl, um die Java-Komponente von Eureka Server zu erstellen. Weitere Informationen finden Sie unter Erstellen des Eureka-Servers für Spring.
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_NAME
Binden der Komponenten
Erstellen Sie die Java-Komponente in Admin für 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
Binden anderer Apps an den Eureka Server
Mit der Einrichtung von Eureka Server können Sie jetzt andere Anwendungen für die Dienstermittlung binden. Außerdem können Sie diese Anwendungen im Dashboard von Admin für Spring überwachen und verwalten. Führen Sie die folgenden Schritte aus, um eine Container-App zu erstellen und an den Eureka Server zu binden:
Erstellen Sie die Container-App, und binden Sie sie an den 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
Tipp
Da die vorherigen Schritte die Komponente "Admin for Spring" an die Eureka-Server für Spring-Komponente gebunden haben, ermöglicht die Administratorkomponente die Dienstermittlung und ermöglicht es Ihnen, sie gleichzeitig über das Admin für Spring-Dashboard zu verwalten.
Anzeigen der Dashboards
Wichtig
Um das Dashboard anzuzeigen, müssen Sie mindestens die Microsoft.App/managedEnvironments/write
-Rolle Ihrem Konto in der Ressource der verwalteten Umgebung zugewiesen haben. Sie können entweder explizit die Rolle Owner
oder Contributor
für die Ressource zuweisen oder die Schritte ausführen, um eine benutzerdefinierte Rollendefinition zu erstellen und sie Ihrem Konto zuzuweisen.
Erstellen Sie die benutzerdefinierte Rollendefinition.
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>"] }'
Stellen Sie sicher, dass Sie den Platzhalter
<SUBSCRIPTION_ID>
im WertAssignableScopes
durch Ihre Abonnement-ID ersetzen:Weisen Sie Ihrem Konto die benutzerdefinierte Rolle in der Ressource der verwalteten Umgebung zu.
Rufen Sie die Ressourcen-ID der verwalteten Umgebung ab.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
Weisen Sie Ihrem Konto die Rolle zu.
Ersetzen Sie vor dem Ausführen dieses Befehls den Platzhalter
<USER_OR_SERVICE_PRINCIPAL_ID>
durch Ihre Benutzer- oder Dienstprinzipal-ID.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Rufen Sie die URL des Admin für Spring-Dashboards ab.
az containerapp env java-component admin-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsv
Rufen Sie die URL des Dashboards „Eureka-Server für Spring“ ab.
az containerapp env java-component eureka-server-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsv
Dieser Befehl gibt die URL zurück, die Sie für den Zugriff auf das Dashboard „Eureka Server für Spring“ verwenden können. Über das Dashboard ist Ihre Container-App auch für Sie verfügbar, wie im folgenden Screenshot dargestellt.
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