مشاركة عبر


البرنامج التعليمي: دمج المسؤول ل Spring مع خادم يوريكا ل Spring في Azure Container Apps

يرشدك هذا البرنامج التعليمي خلال عملية دمج مسؤول مدار ل Spring مع خادم يوريكا ل Spring داخل Azure Container Apps.

مع خادم يوريكا للربيع (Spring)، يمكنك ربط Admin for Spring بخادم يوريكا للربيع (Spring)، بحيث يمكنه الحصول على معلومات التطبيق من خلال يوريكا، بدلا من الاضطرار لربط التطبيقات الفردية بالإدارة في Spring.

باتباع هذا الدليل، يمكنك إعداد خادم Eureka لاكتشاف الخدمة ثم إنشاء مسؤول ل Spring لإدارة ومراقبة تطبيقات Spring المسجلة مع خادم Eureka. يضمن هذا الإعداد أن التطبيقات الأخرى تحتاج فقط إلى الربط بخادم يوريكا، ما يبسط إدارة الخدمات المصغرة الخاصة بك.

ستتعرف في هذا البرنامج التعليمي على:

  1. إنشاء خادم يوريكا ل Spring.
  2. إنشاء مسؤول ل Spring وربطه بخادم Eureka.
  3. ربط التطبيقات الأخرى بخادم يوريكا لاكتشاف الخدمة وإدارتها المبسطة.

المتطلبات الأساسية

الاعتبارات

عند تشغيل مكونات Java المدارة في Azure Container Apps، كن على دراية بالتفاصيل التالية:

العنصر الشرح
النطاق تعمل المكونات في نفس البيئة مثل تطبيق الحاوية المتصل.
تغير الحجم المكونات لا يمكن أن تتوسع. يتم تعيين خصائص minReplicas التحجيم و maxReplicas على 1.
الموارد تم إصلاح تخصيص موارد الحاوية للمكونات. عدد أنوية المعالج هو 0.5، وحجم الذاكرة 1 جيجابايت.
التسعير تندرج فوترة المكونات ضمن التسعير المستند إلى الاستهلاك. يتم احتساب الموارد التي تستهلكها المكونات المدارة بمعدلات النشاط أو الخمول، حسب استخدام الموارد. يمكنك حذف المكونات التي لم تعد قيد الاستخدام لإيقاف الفوترة.
Binding تتصل تطبيقات الحاوية بمكون عبر ربط. تدخل الروابط التكوينات في متغيرات بيئة تطبيق الحاوية. بعد تأسيس الربط، يمكن لتطبيق الحاوية قراءة قيم التكوين من متغيرات البيئة والاتصال بالمكون.

الإعداد

قبل البدء، قم بإنشاء الموارد الضرورية عن طريق تنفيذ الأوامر التالية.

  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"
    
    المتغير ‏‏الوصف
    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.
  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 إلى تصفية الاستجابة وصولا إلى رسالة نجاح أو فشل بسيطة.

اختياري: إنشاء خادم يوريكا ل Spring

إذا لم يكن لديك خادم يوريكا الحالي للعبة Spring، استخدم الأمر التالي لإنشاء مكون جافا في خادم يوريكا (Eureka Server 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 بمكون خادم يوريكا للسبرينغ. مكون الإدارة يتيح اكتشاف الخدمة ويسمح لك بإدارتها من خلال لوحة تحكم Admin for Spring في نفس الوقت.

عرض لوحات المعلومات

هام

لعرض لوحة المعلومات، يجب أن يكون لديك على الأقل Microsoft.App/managedEnvironments/write الدور المعين لحسابك على مورد البيئة المدارة. يمكنك إما تعيين دور Owner or 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 للوحة معلومات المسؤول ل 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 للوحة معلومات خادم يوريكا ل 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. من خلال لوحة التحكم، يمكنك عرض تطبيق الحاوية كما في لقطة الشاشة التالية.

    لقطة شاشة لمسؤول لوحة معلومات Spring.

    لقطة شاشة للوحة معلومات خادم Eureka ل Spring.

تنظيف الموارد

الموارد التي تم إنشاؤها في هذا البرنامج التعليمي لها تأثير على فاتورة Azure. إذا كنت لن تستخدم هذه الخدمات على المدى الطويل، فقم بتشغيل الأمر التالي لإزالة كل شيء تم إنشاؤه في هذا البرنامج التعليمي.

az group delete --resource-group $RESOURCE_GROUP