Поделиться через


Руководство по интеграции администратора для Spring с Eureka Server для Spring в приложениях контейнеров Azure

В этом руководстве описан процесс интеграции управляемого администратора для Spring с сервером Eureka server for Spring в приложениях контейнеров Azure.

В этой статье содержится некоторое содержимое, аналогичное руководству по подключению к управляемому администратору для Spring в приложениях контейнеров Azure, но с помощью Eureka Server for Spring можно привязать admin for Spring to Eureka Server for Spring, чтобы получить сведения о приложении через Eureka, а не привязать отдельные приложения к Admin for Spring.

Следуя этому руководству, вы настроите сервер Eureka для обнаружения служб, а затем создадите администратора для Spring для управления приложениями Spring, зарегистрированными на сервере Eureka. Эта настройка гарантирует, что другие приложения должны быть привязаны только к серверу Eureka, упрощая управление микрослужбами.

Из этого руководства вы узнаете, как:

  1. Создайте сервер Eureka для Spring.
  2. Создайте администратора для Spring и свяжите его с сервером Eureka.
  3. Привязать другие приложения к серверу Eureka для упрощения обнаружения и управления службами.

Необходимые компоненты

Рекомендации

При запуске управляемых компонентов Java в приложениях контейнеров Azure следует учитывать следующие сведения:

Товар Описание
Область Компоненты выполняются в той же среде, что и подключенное приложение контейнера.
Масштабирование Компоненты не могут масштабироваться. Свойства minReplicas масштабирования и maxReplicas имеют значение . 1.
Ресурсы Исправлено выделение ресурсов контейнера для компонентов. Число ядер ЦП равно 0,5, а размер памяти составляет 1 ГБ.
Цены Выставление счетов на основе компонентов зависит от цен на основе потребления. Счета за ресурсы, используемые управляемыми компонентами, выставляются по активным или бездействуемым тарифам в зависимости от использования ресурсов. Вы можете удалить компоненты, которые больше не используются для остановки выставления счетов.
Привязка Приложения-контейнеры подключаются к компоненту через привязку. Привязки внедряют конфигурации в переменные среды приложения-контейнера. После установки привязки приложение-контейнер может считывать значения конфигурации из переменных среды и подключаться к компоненту.

Настройка

Прежде чем начать, создайте необходимые ресурсы, выполнив следующие команды.

  1. Создайте переменные для поддержки конфигурации приложения. Эти значения предоставляются для вас в целях этого урока.

    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"
    
    «Переменная» Description
    LOCATION Расположение региона Azure, в котором создается приложение контейнера и компоненты Java.
    RESOURCE_GROUP Имя группы ресурсов Azure для демонстрационного приложения.
    ENVIRONMENT Имя среды "Приложения контейнеров Azure" для демонстрационного приложения.
    EUREKA_COMPONENT_NAME Имя компонента Java для сервера Eureka.
    ADMIN_COMPONENT_NAME Имя компонента Admin for Spring Java.
    CLIENT_APP_NAME Имя приложения-контейнера, которое привязывается к серверу Eureka.
    CLIENT_IMAGE Образ контейнера, используемый в приложении контейнера Eureka Server.
  2. Войдите в Azure с помощью Azure CLI.

    az login
    
  3. Создать группу ресурсов.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Создайте среду приложений контейнеров.

    az containerapp env create \
        --name $ENVIRONMENT \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --query "properties.provisioningState"
    

    --query Использование параметра фильтрует ответ до простого сообщения об успешном выполнении или сбое.

Необязательно. Создание сервера Eureka для Spring

Если у вас нет существующего сервера Eureka для Spring, выполните следующую команду, чтобы создать компонент Java для сервера Eureka. Дополнительные сведения см. в разделе "Создание сервера Eureka для Spring".

az containerapp env java-component eureka-server-for-spring create \
    --environment $ENVIRONMENT \
    --resource-group $RESOURCE_GROUP \
    --name $EUREKA_COMPONENT_NAME

Связывание компонентов вместе

Создайте компонент Admin for Spring Java.

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

Привязка других приложений к серверу Eureka

Настроив сервер Eureka, вы можете привязать к нему другие приложения для обнаружения служб. Кроме того, вы можете отслеживать и управлять этими приложениями на панели мониторинга администратора для Spring. Чтобы создать и привязать приложение контейнера к серверу Eureka, выполните следующие действия.

Создайте приложение-контейнер и привязать его к серверу 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 

Совет

Так как предыдущие шаги привязали компонент Admin for Spring к компоненту Eureka Server for Spring, компонент администрирования включает обнаружение служб и позволяет управлять им с помощью панели мониторинга Admin for Spring одновременно.

Просмотр панелей мониторинга

Внимание

Чтобы просмотреть панель мониторинга, необходимо иметь по крайней мере Microsoft.App/managedEnvironments/write роль, назначенную учетной записи в ресурсе управляемой среды. Вы можете явно назначить Owner или роль в ресурсе или Contributor выполнить действия, чтобы создать пользовательское определение роли и назначить его учетной записи.

  1. Создайте определение настраиваемой роли.

    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>"]
    }'
    

    Обязательно замените <SUBSCRIPTION_ID> заполнитель в значении AssignableScopes идентификатором подписки.

  2. Назначьте настраиваемую роль учетной записи в ресурсе управляемой среды.

    Получите идентификатор ресурса управляемой среды.

    export ENVIRONMENT_ID=$(az containerapp env show \
        --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \
        --query id \
        --output tsv)
    
  3. Назначьте роль учетной записи.

    Перед выполнением этой команды замените заполнитель идентификатором <USER_OR_SERVICE_PRINCIPAL_ID> пользователя или субъекта-службы.

    az role assignment create \
        --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \
        --role "Java Component Dashboard Access" \
        --scope $ENVIRONMENT_ID
    
  4. Получите URL-адрес панели мониторинга admin for Spring.

    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
    
  5. Получите URL-адрес панели мониторинга Eureka Server для 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 \
        --output tsv
    

    Эта команда возвращает URL-адрес, который можно использовать для доступа к панели мониторинга Eureka Server для Spring. С помощью панели мониторинга приложение-контейнер также относится к вам, как показано на следующем снимке экрана.

    Снимок экрана: панель мониторинга admin for Spring.

    Снимок экрана: панель мониторинга Eureka Server for Spring.

Очистка ресурсов

Ресурсы, созданные в этом руководстве, влияют на счет Azure. Если вы не собираетесь использовать эти службы в долгосрочной перспективе, выполните следующую команду, чтобы удалить все, созданное в этом руководстве.

az group delete --resource-group $RESOURCE_GROUP