البرنامج التعليمي: دمج المسؤول ل Spring مع خادم يوريكا ل Spring في Azure Container Apps
يرشدك هذا البرنامج التعليمي خلال عملية دمج مسؤول مدار ل Spring مع خادم يوريكا ل Spring داخل Azure Container Apps.
تحتوي هذه المقالة على بعض المحتويات المشابهة للبرنامج التعليمي "الاتصال بمسؤول مدار ل Spring in Azure Container Apps"، ولكن باستخدام Eureka Server for Spring، يمكنك ربط المسؤول ل Spring بخادم Eureka ل Spring، بحيث يمكنه الحصول على معلومات التطبيق من خلال Eureka، بدلا من الاضطرار إلى ربط التطبيقات الفردية ب Admin for Spring.
باتباع هذا الدليل، يمكنك إعداد خادم Eureka لاكتشاف الخدمة ثم إنشاء مسؤول ل Spring لإدارة ومراقبة تطبيقات Spring المسجلة مع خادم Eureka. يضمن هذا الإعداد أن التطبيقات الأخرى تحتاج فقط إلى الربط بخادم يوريكا، ما يبسط إدارة الخدمات المصغرة الخاصة بك.
ستتعرف في هذا البرنامج التعليمي على:
- إنشاء خادم يوريكا ل Spring.
- إنشاء مسؤول ل Spring وربطه بخادم Eureka.
- ربط التطبيقات الأخرى بخادم يوريكا لاكتشاف الخدمة وإدارتها المبسطة.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. إذا لم يكن لديك حساب بالفعل، يمكنك إنشاء حساب مجانا.
- Azure CLI.
- مكون خادم يوريكا الحالي ل Spring Java. إذا لم يكن لديك واحد، فشاهد إنشاء خادم يوريكا ل Spring.
الاعتبارات
عند تشغيل مكونات Java المدارة في Azure Container Apps، كن على دراية بالتفاصيل التالية:
العنصر | الشرح |
---|---|
النطاق | تعمل المكونات في نفس البيئة مثل تطبيق الحاوية المتصل. |
تغير الحجم | لا يمكن تغيير حجم المكون. يتم تعيين خصائص minReplicas التحجيم و maxReplicas على 1 . |
الموارد | تم إصلاح تخصيص موارد الحاوية للمكونات. عدد الذاكرات الأساسية لوحدة المعالجة المركزية هو 0.5، وحجم الذاكرة هو 1 Gi. |
التسعير | تندرج فوترة المكونات ضمن التسعير المستند إلى الاستهلاك. تتم فوترة الموارد التي تستهلكها المكونات المدارة بأسعار نشطة/خبيثة. يمكنك حذف المكونات التي لم تعد قيد الاستخدام لإيقاف الفوترة. |
Binding | تتصل تطبيقات الحاوية بمكون عبر ربط. تدخل الروابط التكوينات في متغيرات بيئة تطبيق الحاوية. بعد تأسيس الربط، يمكن لتطبيق الحاوية قراءة قيم التكوين من متغيرات البيئة والاتصال بالمكون. |
الإعداد
قبل البدء، قم بإنشاء الموارد الضرورية عن طريق تنفيذ الأوامر التالية.
إنشاء متغيرات لدعم تكوين التطبيق الخاص بك. يتم توفير هذه القيم لك لأغراض هذا الدرس.
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"
المتغير الوصف LOCATION
موقع منطقة Azure حيث تقوم بإنشاء تطبيق الحاوية ومكونات Java. RESOURCE_GROUP
اسم مجموعة موارد Azure لتطبيق العرض التوضيحي الخاص بك. ENVIRONMENT
اسم بيئة Azure Container Apps لتطبيق العرض التوضيحي الخاص بك. EUREKA_COMPONENT_NAME
اسم مكون Java لخادم يوريكا. ADMIN_COMPONENT_NAME
اسم مكون المسؤول ل Spring Java. CLIENT_APP_NAME
اسم تطبيق الحاوية الذي يرتبط بخادم يوريكا. CLIENT_IMAGE
صورة الحاوية المستخدمة في تطبيق حاوية خادم Eureka. سجل الدخول إلى Azure باستخدام Azure CLI.
az login
قم بإنشاء مجموعة موارد.
az group create --name $RESOURCE_GROUP --location $LOCATION
إنشاء بيئة تطبيقات الحاوية.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
يؤدي استخدام المعلمة
--query
إلى تصفية الاستجابة وصولا إلى رسالة نجاح أو فشل بسيطة.
اختياري: إنشاء خادم يوريكا ل Spring
إذا لم يكن لديك خادم يوريكا الحالي ل Spring، فاتبع الأمر أدناه لإنشاء مكون Java لخادم يوريكا. لمزيد من المعلومات، راجع إنشاء خادم يوريكا ل 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، يمكنك الآن ربط التطبيقات الأخرى به لاكتشاف الخدمة. ويمكنك أيضا مراقبة هذه التطبيقات وإدارتها في لوحة معلومات المسؤول ل Spring. استخدم الخطوات التالية لإنشاء تطبيق حاوية وربطه بخادم Eureka:
إنشاء تطبيق الحاوية وربطه بخادم Eureka.
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، فإن مكون المسؤول يتيح اكتشاف الخدمة ويسمح لك بإدارته من خلال لوحة معلومات المسؤول ل Spring في نفس الوقت.
عرض لوحات المعلومات
هام
لعرض لوحة المعلومات، يجب أن يكون لديك على الأقل Microsoft.App/managedEnvironments/write
الدور المعين لحسابك على مورد البيئة المدارة. يمكنك إما تعيين Owner
أو Contributor
دور على المورد بشكل صريح أو اتباع الخطوات لإنشاء تعريف دور مخصص وتعيينه إلى حسابك.
إنشاء تعريف الدور المخصص.
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
القيمة بمعرف الاشتراك الخاص بك.تعيين الدور المخصص لحسابك على مورد البيئة المدارة.
احصل على معرف المورد للبيئة المدارة.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
تعيين الدور إلى حسابك.
قبل تشغيل هذا الأمر، استبدل
<USER_OR_SERVICE_PRINCIPAL_ID>
العنصر النائب بالمعرف الأساسي للمستخدم أو الخدمة.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
احصل على عنوان URL للوحة معلومات المسؤول ل 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
احصل على عنوان URL للوحة معلومات خادم يوريكا ل 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 الذي يمكنك استخدامه للوصول إلى خادم يوريكا للوحة معلومات Spring. من خلال لوحة المعلومات، يكون تطبيق الحاوية أيضا لك كما هو موضح في لقطة الشاشة التالية.
تنظيف الموارد
الموارد التي تم إنشاؤها في هذا البرنامج التعليمي لها تأثير على فاتورة Azure. إذا كنت لن تستخدم هذه الخدمات على المدى الطويل، فقم بتشغيل الأمر التالي لإزالة كل شيء تم إنشاؤه في هذا البرنامج التعليمي.
az group delete --resource-group $RESOURCE_GROUP