Перенос реестра служб Eureka Server или Tanzu на управляемый сервер Eureka для Spring в приложениях контейнеров Azure
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к:✅ Basic/Standard ✅ Enterprise
В этой статье описывается, как перенести Eureka Server на Eureka Server for Spring в приложениях контейнеров Azure.
Управляемый сервер Eureka для Azure Container Apps для Spring предоставляет аналогичный интерфейс с Azure Spring Apps. Он позволяет развертывать существующие приложения Spring, не изменяя исходный код и регистрируя их на управляемом сервере Eureka.
Необходимые компоненты
- Существующий экземпляр плана Azure Spring Apps Enterprise с включенным реестром служб Tanzu.
- Существующая среда приложения-контейнера Azure, используемая для развертывания приложений. Дополнительные сведения см. в статье "Подготовка приложений контейнеров Azure".
- Образ контейнера приложения, выступающего в качестве клиента Eureka. При необходимости можно использовать образец
mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
. - Azure CLI.
Подготовка управляемого сервера Eureka для Spring
Чтобы использовать управляемый сервер Eureka для Spring, сначала необходимо создать компонент Сервера Eureka в среде приложений контейнеров Azure.
Чтобы создать управляемый сервер Eureka для Spring, выполните следующие действия.
Чтобы создать компонент Eureka Server для Spring Java, используйте следующую команду:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT
(Необязательно) Чтобы обновить конфигурацию компонента Eureka Server для Spring Java, используйте следующую команду:
az containerapp env java-component eureka-server-for-spring update \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT \ --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
При удалении управляемого сервера Eureka через портал Azure приложения контейнеров Azure автоматически отменяют привязку всех приложений контейнеров, зарегистрированных в нем, и удаляет управляемый сервер Eureka. Это поведение отличается от плана Azure Spring Apps Enterprise, где необходимо вручную отменить привязку служб перед удалением реестра служб Tanzu.
Выделение ресурсов и цены
Распределение ресурсов контейнера для управляемого сервера Eureka в приложениях контейнеров Azure исправлено следующими значениями:
- ЦП: 0,5 vCPU
- Память: 1 Ги
- Реплики: 1 — не масштабируемые
В отличие от этого, реестр служб планов Azure Spring Apps Enterprise также подготавливает фиксированные ресурсы, но включает две реплики, каждая из которых содержит 0,5 виртуальных ЦП и 1 Гим памяти.
В отличие от планов "Базовый" и "Стандартный" в Azure Spring Apps, которые не взимается, управляемый сервер Eureka server for Spring в Azure Container Apps работает под ценами на основе потребления. Эта цена аналогична ценам на план Azure Spring Apps Enterprise.
Дополнительные сведения см. в разделе "Рекомендации. Подключение к управляемому серверу Eureka для Spring в приложениях контейнеров Azure".
Развертывание и привязка приложения
После подготовки управляемого сервера Eureka для Spring вы можете развернуть приложение Spring в приложениях контейнеров Azure и привязать его к серверу Eureka Server. Этот процесс аналогичен работе плана предприятия в Azure Spring Apps. В частности, необходимо привязать приложение к серверу Eureka, который отличается от плана Azure Spring Apps Basic/Standard, где привязка не требуется.
Примечание.
Если образ не используется mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
для развертывания приложения, может потребоваться выполнить некоторую настройку, чтобы приложения контейнеров Azure могли извлекать образы из реестра контейнеров. Например, чтобы подготовить необходимые разрешения для извлечения изображений из Реестр контейнеров Azure (ACR), см. раздел "Создание Реестр контейнеров Azure" руководства. Создание и развертывание приложения в приложениях контейнеров Azure.
Развертывание приложения
Чтобы создать приложение контейнера, используйте следующую команду:
az containerapp create \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--environment $ENVIRONMENT \
--image $IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Привязка приложения
После успешного создания приложения можно привязать приложение к управляемому серверу Eureka.
Используйте следующую команду, чтобы привязать созданное приложение к серверу Eureka:
az containerapp update \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--bind $EUREKA_COMPONENT_NAME \
--query properties.configuration.ingress.fqdn
Привязка внедряет в приложение несколько конфигураций в качестве переменных среды, в первую очередь eureka.client.service-url.defaultZone
свойство. Это свойство указывает внутреннюю конечную точку компонента Java сервера Eureka. Дополнительные сведения о других свойствах см . в разделе "Привязка приложения контейнера к серверу Eureka для Spring Java " раздела "Подключение к управляемому серверу Eureka server for Spring в приложениях контейнеров Azure".
Если вам нужно отменить привязку приложения из Eureka Server, см. раздел "Отмена привязки приложения контейнера" из раздела компонента Eureka Server for Spring Java "Подключение к управляемому серверу Eureka server for Spring в приложениях контейнеров Azure".
Просмотр зарегистрированных приложений с помощью панели мониторинга
После успешного создания приложения и привязки его к Серверу Eureka можно просмотреть зарегистрированные приложения с помощью панели мониторинга управления. Дополнительные сведения см. в разделе "Просмотр приложения" в разделе "Подключение к управляемому серверу Eureka для Spring" в приложениях контейнеров Azure.
На следующем снимке экрана показан пример того, как выглядит панель мониторинга Eureka Server:
Устранение неполадок
Журналы управляемого сервера Eureka для Spring в приложениях контейнеров Azure можно просмотреть с помощью Log Analytics, который работает аналогично механизму ведения журнала в Azure Spring Apps.
Чтобы просмотреть управляемые журналы Eureka Server для Spring в приложениях контейнеров Azure, выполните следующие действия.
Перейдите на страницу среды приложения-контейнера.
Перейдите к параметрам ведения журнала мониторинга>и в разделе "Назначение журналов" убедитесь, что выбран Azure Log Analytics.
Перейдите к журналам мониторинга>.
(Необязательно) Если область Log Analytics не соответствует заданной в параметрах ведения журнала, выберите "Выбрать область ", чтобы выбрать правильную рабочую область log analytics.
Введите запрос в редактор запросов, чтобы просмотреть журналы из таблицы ContainerAppSystemLogs_CL , как показано в следующем примере:
ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudEureka" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
Дополнительные сведения о запросах журналов с помощью Azure CLI см. в статье "Мониторинг журналов в приложениях контейнеров Azure" с помощью Log Analytics.
Известные ограничения
- Внешний доступ. Доступ к управляемому серверу Eureka для Spring в приложениях контейнеров Azure не удается получить внешний доступ.
- Трафик редакции. В режиме нескольких версий контейнерных приложений Azure все реплики приложения, зарегистрированного в Eureka, получают трафик.
Дополнительные ресурсы
Дополнительные сведения об управлении Сервером Eureka в приложениях контейнеров Azure см. в руководстве по подключению к управляемому серверу Eureka server for Spring в приложениях контейнеров Azure.