تكوين بوابة VMware Spring Cloud

إشعار

يعد Azure Spring Apps هو الاسم الجديد لخدمة Azure Spring Cloud. رغم أن الخدمة تحمل اسماً جديداً، سترى الاسم القديم في بعض الأماكن لفترة من الوقت بينما نعمل على تحديث الأصول مثل لقطات الشاشة، ومقاطع الفيديو، والرسوم التخطيطية.

تنطبق هذه المقالة على:❌ Basic/Standard ✔️ Enterprise

توضح هذه المقالة كيفية تكوين VMware Spring Cloud Gateway ل VMware Tanzu باستخدام خطة Azure Spring Apps Enterprise.

VMware Spring Cloud Gateway هو مكون VMware Tanzu تجاري يستند إلى مشروع Spring Cloud Gateway مفتوح المصدر. تعالج VMware Spring Cloud Gateway for Tanzu المخاوف الشاملة لفرق تطوير واجهة برمجة التطبيقات، مثل تسجيل الدخول الأحادي (SSO)، والتحكم في الوصول، والحد من المعدل، والمرونة، والأمان. يمكنك تسريع تسليم واجهة برمجة التطبيقات باستخدام أنماط السحابة الأصلية الحديثة في اختيارك للغة البرمجة لتطوير واجهة برمجة التطبيقات.

يوجه مثيل VMware Spring Cloud Gateway نسبة استخدام الشبكة وفقا للقواعد. وهو يدعم التحجيم داخل/خارج ولأعلى /لأسفل لتلبية حمل حركة مرور ديناميكية.

تتضمن بوابة سحابة الربيع VMware الميزات التالية:

  • تكوين التوجيه الديناميكي، بغض النظر عن التطبيقات الفردية، التي يمكنك تطبيقها وتغييرها دون إعادة التحويل البرمجي
  • عوامل تصفية مسار API التجارية لنقل مطالبات JSON Web Token المعتمدة (JWT) إلى خدمات التطبيق
  • تخويل شهادة العميل
  • نهج تحديد المعدل
  • تكوين قاطع الدائرة
  • دعم الوصول إلى خدمات التطبيق عبر بيانات اعتماد مصادقة HTTP الأساسية

للتكامل مع مدخل API ل VMware Tanzu، تقوم بوابة VMware Spring Cloud تلقائيا بإنشاء وثائق OpenAPI الإصدار 3 بعد أي إضافات أو تغييرات على تكوين التوجيه. لمزيد من المعلومات، راجع استخدام مدخل API ل VMware Tanzu.

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

تمكين أو تعطيل بوابة VMware Spring Cloud

يمكنك تمكين أو تعطيل VMware Spring Cloud Gateway بعد إنشاء مثيل الخدمة باستخدام مدخل Azure أو Azure CLI. قبل تعطيل بوابة VMware Spring Cloud، يجب إلغاء تعيين نقطة النهاية الخاصة بها وإزالة كافة تكوينات المسار.

استخدم الخطوات التالية لتمكين أو تعطيل بوابة VMware Spring Cloud باستخدام مدخل Microsoft Azure:

  1. انتقل إلى مورد الخدمة، ثم حدد Spring Cloud Gateway.
  2. حدد إدارة.
  3. حدد خانة الاختيار تمكين بوابة Spring Cloud أو قم بإلغاء تحديدها، ثم حدد حفظ.

يمكنك الآن عرض حالة Spring Cloud Gateway على صفحة Spring Cloud Gateway .

لقطة شاشة لمدخل Azure تعرض صفحة Spring Cloud Gateway.

إعادة تشغيل بوابة سحابة الربيع VMware

بعد إكمال إجراء إعادة التشغيل، تتم إعادة تشغيل مثيلات VMware Spring Cloud Gateway على أساس متجدد.

استخدم الخطوات التالية لإعادة تشغيل بوابة VMware Spring Cloud باستخدام مدخل Microsoft Azure:

  1. انتقل إلى مورد الخدمة، ثم حدد Spring Cloud Gateway.
  2. حدد إعادة التشغيل.
  3. حدد موافق لتأكيد إعادة التشغيل.

لقطة شاشة لمدخل Azure تعرض صفحة Spring Cloud Gateway مع رسالة التأكيد حول إعادة تشغيل البوابة.

تعيين نقطة نهاية عامة إلى VMware Spring Cloud Gateway

يصف هذا القسم كيفية تعيين نقطة نهاية عامة ل VMware Spring Cloud Gateway وتكوين خصائصها.

لتعيين نقطة نهاية في مدخل Microsoft Azure، استخدم الخطوات التالية:

  1. افتح مثيل Azure Spring Apps.
  2. حدد Spring Cloud Gateway في جزء التنقل، ثم حدد Overview.
  3. تعيين تعيين نقطة النهاية إلى نعم.

بعد بضع دقائق، يعرض URL عنوان URL لنقطة النهاية المكونة. احفظ عنوان URL لاستخدامه لاحقًا.

لقطة شاشة لمدخل Azure تعرض صفحة نظرة عامة على Spring Cloud Gateway مع التبديل لتعيين نقطة نهاية.

تكوين بيانات تعريف بوابة سحابة الربيع VMware

تنشئ بيانات تعريف بوابة VMware Spring Cloud تلقائيا وثائق الإصدار 3 من OpenAPI. يمكنك تكوين بيانات تعريف بوابة VMware Spring Cloud لعرض مجموعات التوجيه في مدخل واجهة برمجة التطبيقات ل VMware Tanzu. لمزيد من المعلومات، راجع استخدام مدخل API ل VMware Tanzu.

يصف الجدول التالي خيارات بيانات التعريف المتوفرة:

الخاصية ‏‏الوصف
title عنوان يصف سياق واجهات برمجة التطبيقات المتوفرة على مثيل بوابة VMware Spring Cloud. القيمة الافتراضية هي Spring Cloud Gateway for K8S.
description وصف مفصل لواجهات برمجة التطبيقات المتوفرة على مثيل VMware Spring Cloud Gateway. القيمة الافتراضية هي Generated OpenAPI 3 document that describes the API routes configured for '[Gateway instance name]' Spring Cloud Gateway instance deployed under '[namespace]' namespace.*.
documentation موقع وثائق واجهة برمجة التطبيقات المتوفرة على مثيل VMware Spring Cloud Gateway.
version إصدار واجهات برمجة التطبيقات المتوفرة على مثيل VMware Spring Cloud Gateway هذا. القيمة الافتراضية هي unspecified.
serverUrl عنوان URL الأساسي للوصول إلى واجهات برمجة التطبيقات على مثيل VMware Spring Cloud Gateway. هذه الخاصية إلزامية إذا كنت تريد التكامل مع مدخل واجهة برمجة التطبيقات.

يمكنك استخدام مدخل Microsoft Azure أو Azure CLI لتحرير خصائص بيانات التعريف.

لتحرير بيانات التعريف في مدخل Microsoft Azure، استخدم الخطوات التالية:

  1. افتح مثيل Azure Spring Apps.
  2. حدد Spring Cloud Gateway في جزء التنقل، ثم حدد Configuration.
  3. حدد قيم الخصائص المدرجة لواجهة برمجة التطبيقات.
  4. حدد حفظ.

لقطة شاشة لمدخل Azure تعرض علامة تبويب تكوين Spring Cloud Gateway مع تمييز قسم واجهة برمجة التطبيقات.

تكوين تسجيل الدخول الأحادي

تدعم VMware Spring Cloud Gateway المصادقة والتخويل من خلال تسجيل الدخول الأحادي (SSO) مع موفر هوية OpenID. يدعم الموفر بروتوكول OpenID Connect Discovery. يصف الجدول التالي خصائص تسجيل الدخول الأحادي:

الخاصية مطلوب؟ ‏‏الوصف
issuerUri ‏‏نعم‬ معرف URI الذي تم تأكيده كمعرف المصدر الخاص به. على سبيل المثال، إذا كان issuerUri ، https://example.comيتم إجراء طلب تكوين موفر OpenID إلى https://example.com/.well-known/openid-configuration. ومن المتوقع أن تكون النتيجة استجابة تكوين موفّر OpenID.
clientId ‏‏نعم‬ معرف عميل OpenID Connect من موفر الهوية الخاص بك.
clientSecret ‏‏نعم‬ سر عميل OpenID Connect من موفر الهوية الخاص بك.
scope ‏‏نعم‬ قائمة النطاقات المُراد إدراجها في رموز هوية JWT المميزة. يجب أن تستند هذه القائمة إلى النطاقات التي يسمح بها موفر الهوية.

لإعداد SSO باستخدام معرف Microsoft Entra، راجع إعداد تسجيل الدخول الأحادي باستخدام معرف Microsoft Entra ل Spring Cloud Gateway ومدخل API.

يمكنك استخدام مدخل Microsoft Azure أو Azure CLI لتحرير خصائص SSO.

لتحرير خصائص تسجيل الدخول الأحادي في مدخل Microsoft Azure، استخدم الخطوات التالية:

  1. افتح مثيل Azure Spring Apps.
  2. حدد Spring Cloud Gateway في جزء التنقل، ثم حدد Configuration.
  3. حدد قيم الخصائص المدرجة لتسجيل الدخول الأحادي.
  4. حدد حفظ.

لقطة شاشة لمدخل Azure تعرض علامة تبويب تكوين Spring Cloud Gateway مع تمييز قسم تسجيل الدخول الأحادي.

تدعم بوابة VMware Spring Cloud فقط خوادم التخويل التي تدعم بروتوكول OpenID Connect Discovery. تأكد أيضًا من تكوين خادم التخويل الخارجي للسماح بإعادة التوجيه مرة أخرى إلى البوابة. ارجع إلى وثائق خادم التخويل الخاصة بك، وأضف https://<gateway-external-url>/login/oauth2/code/sso إلى قائمة معرفات الموارد المنتظمة لإعادة التوجيه المسموح بها.

إذا قمت بتكوين خاصية SSO خاطئة، مثل كلمة المرور الخاطئة، يجب إزالة خاصية SSO بأكملها ثم إضافة التكوين الصحيح.

بعد تكوين تسجيل الدخول الأحادي، تذكر تعيين ssoEnabled: true مسارات بوابة VMware Spring Cloud.

تكوين تسجيل الخروج من تسجيل الدخول الأحادي

توفر مثيلات خدمة VMware Spring Cloud Gateway نقطة نهاية افتراضية لواجهة برمجة التطبيقات لتسجيل الخروج من جلسة SSO الحالية. المسار إلى نقطة النهاية هذه هو /scg-logout. ينتج عن تسجيل الخروج إحدى النتائج التالية، اعتمادا على كيفية استدعاء نقطة نهاية تسجيل الخروج:

  • تسجيل الخروج من الجلسة وإعادة التوجيه إلى تسجيل الخروج لموفر الهوية (IdP).
  • تسجيل الخروج من جلسة عمل مثيل الخدمة.

تسجيل الخروج من جلسة IdP وSSO

إذا أرسلت GET طلبا إلى /scg-logout نقطة النهاية، ترسل نقطة النهاية استجابة 302 إعادة توجيه إلى عنوان URL لتسجيل الخروج من موفر هوية. للحصول على نقطة النهاية لإرجاع المستخدم إلى مسار على مثيل خدمة البوابة، أضف معلمة إعادة توجيه إلى GET الطلب مع /scg-logout نقطة النهاية. على سبيل المثال، يمكنك استخدام ${server-url}/scg-logout?redirect=/home.

يجب أن تكون قيمة معلمة إعادة التوجيه مسارا صالحا على مثيل خدمة VMware Spring Cloud Gateway. لا يمكنك إعادة التوجيه إلى عنوان URL خارجي.

تصف الخطوات التالية مثالا على كيفية تنفيذ الدالة في الخدمات المصغرة الخاصة بك:

  1. احصل على تكوين مسار لتوجيه طلب تسجيل الخروج إلى التطبيق الخاص بك. على سبيل المثال، راجع تكوين المسار في مستودع الإنقاذ الحيواني على GitHub.

  2. أضف أي منطق تسجيل الخروج الذي تحتاجه إلى التطبيق. في النهاية، تحتاج إلى GET طلب إلى نقطة نهاية البوابة /scg-logout ، كما هو موضح في return قيمة getActionButton الأسلوب في مستودع الإنقاذ الحيواني.

تسجيل الخروج من جلسة SSO فقط

إذا أرسلت GET الطلب إلى /scg-logout نقطة النهاية باستخدام XMLHttpRequest، 302 يمكن ابتلاع إعادة التوجيه وعدم معالجتها في معالج الاستجابة. في هذه الحالة، سيتم تسجيل خروج المستخدم فقط من جلسة SSO على مثيل خدمة VMware Spring Cloud Gateway. سيظل لدى المستخدم جلسة IdP صالحة. عادة، إذا حاول المستخدم تسجيل الدخول مرة أخرى، يتم إرساله تلقائيا إلى البوابة كما تمت مصادقته من IdP.

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

const req = new XMLHttpRequest();
req.open("GET", "/scg-logout);
req.send();

تكوين مشاركة الموارد عبر المنشأ

تسمح مشاركة الموارد عبر المنشأ (CORS) بطلب الموارد المقيدة على صفحة ويب من مجال آخر خارج المجال الذي تم تقديم المورد الأول منه. يصف الجدول التالي خيارات تكوين CORS المتوفرة.

الخاصية ‏‏الوصف
allowedOrigins الأصول المسموح بها لتقديم طلبات المواقع المشتركة
allowedOriginPatterns أنماط الأصل المسموح بها لتقديم طلبات عبر المواقع
allowedMethods أساليب HTTP المسموح بها على طلبات المواقع المشتركة
allowedHeaders العناوين المسموح بها في طلبات المواقع المشتركة
maxAge كم من الوقت، في ثوان، يقوم العملاء بالتخزين المؤقت للاستجابة من طلب الاختبار المبدئي
allowCredentials ما إذا كانت بيانات اعتماد المستخدم مدعومة في طلبات المواقع المشتركة
exposedHeaders عناوين استجابة HTTP لعرضها لطلبات المواقع المشتركة

تأكد من أن لديك تكوين CORS الصحيح إذا كنت تريد التكامل مع مدخل واجهة برمجة التطبيقات. لمزيد من المعلومات، راجع قسم تعيين نقطة نهاية عامة ل VMware Spring Cloud Gateway .

استخدام تحجيم الخدمة

يمكنك تخصيص تخصيص الموارد لمثيلات VMware Spring Cloud Gateway، بما في ذلك وحدة المعالجة المركزية الظاهرية والذاكرة وعدد المثيلات.

للحصول على قابلية وصول عالية، لا نوصي باستخدام نسخة متماثلة واحدة.

يصف الجدول التالي استخدام الموارد الافتراضي.

اسم المكون عدد المثيلات وحدة المعالجة المركزية الظاهرية لكل مثيل الذاكرة لكل مثيل
بوابة سحابة الربيع VMware 2 ذاكرة أساسية واحدة 2 GiB
عامل تشغيل VMware Spring Cloud Gateway 2 ذاكرة أساسية واحدة 2 GiB

تكوين TLS بين البوابة والتطبيقات

لتحسين الأمان والمساعدة في حماية المعلومات الحساسة من اعتراض الأطراف غير المصرح بها، يمكنك تمكين أمان طبقة النقل (TLS) بين VMware Spring Cloud Gateway وتطبيقاتك.

قبل تكوين TLS، تحتاج إلى تطبيق يدعم TLS وشهادة TLS. لإعداد شهادة TLS، قم بإنشاء شهادة من مرجع مصدق موثوق به (CA). تتحقق الشهادة من هوية الخادم وتنشئ اتصالا آمنا.

بعد أن يكون لديك تطبيق يدعم TLS يعمل في Azure Spring Apps، قم بتحميل الشهادة إلى Azure Spring Apps. لمزيد من المعلومات، راجع قسم استيراد شهادة من استخدام شهادات TLS/SSL في تطبيقك في Azure Spring Apps.

مع تحديث الشهادة إلى Azure Spring Apps، يمكنك تكوين شهادة TLS للبوابة وتمكين التحقق من الشهادة. يمكنك تكوين الشهادة في مدخل Microsoft Azure أو باستخدام Azure CLI.

استخدم الخطوات التالية لتكوين الشهادة في مدخل Microsoft Azure:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل.
  2. في صفحة Spring Cloud Gateway ، حدد إدارة الشهادات.
  3. حدد Enable cert verification.
  4. حدد شهادة TLS في الشهادات.
  5. حدد حفظ.

يمكن أن تأخذ عملية تحديث التكوين بضع دقائق. يجب أن تتلقى إعلاماً عند اكتمال التكوين.

إعداد تكوين المسار

يجب تحديد البروتوكول ك HTTPS في تكوين المسار. يوجه كائن JSON التالي VMware Spring Cloud Gateway لاستخدام بروتوكول HTTPS لجميع نسبة استخدام الشبكة بين البوابة والتطبيق.

  1. أنشئ ملفا باسم test-tls-route.json بالمحتوى التالي:

    {
        "routes": [
          {
            "title": "Test TLS app",
            "predicates": [
              "Path=/path/to/your/app",
              "Method=GET"
            ]
          }
         ],
        "uri": "https://<app-custom-domain-name>"
    }
    
  2. استخدم الأمر التالي لتطبيق القاعدة على التطبيق:

    az spring gateway route-config create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name test-tls-app \
        --routes-file test-tls-route.json
    

يمكنك الآن اختبار ما إذا كان التطبيق ممكن ل TLS مع نقطة نهاية البوابة. لمزيد من المعلومات، راجع قسم تكوين المسارات في استخدام بوابة Spring Cloud.

تدوير الشهادات

مع انتهاء صلاحية الشهادات، تحتاج إلى تدوير الشهادات في VMware Spring Cloud Gateway باستخدام الخطوات التالية:

  1. إنشاء شهادات جديدة من مرجع مصدق موثوق به.
  2. استيراد الشهادات إلى Azure Spring Apps. لمزيد من المعلومات، راجع قسم استيراد شهادة من استخدام شهادات TLS/SSL في تطبيقك في Azure Spring Apps.
  3. مزامنة الشهادات باستخدام مدخل Azure أو Azure CLI.

تتم إعادة تشغيل VMware Spring Cloud Gateway للتأكد من أن البوابة تستخدم الشهادة الجديدة لجميع الاتصالات.

استخدم الخطوات التالية لمزامنة الشهادات:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل.
  2. في صفحة Spring Cloud Gateway ، حدد Restart، ثم قم بتأكيد العملية.

إعداد إعدادات التحجيم التلقائي

يمكنك تعيين أوضاع التحجيم التلقائي ل VMware Spring Cloud Gateway.

تعرض القائمة التالية الخيارات المتوفرة لإدارة الطلب على التحجيم التلقائي:

  • يحتفظ خيار المقياس اليدوي بعدد مثيلات ثابت. يمكنك التوسع إلى 10 مثيلات كحد أقصى. تغير هذه القيمة عدد مثيلات التشغيل المنفصلة ل Spring Cloud Gateway.
  • يتم تغيير حجم خيار التحجيم التلقائي المخصص على أي جدول زمني، استنادا إلى أي مقاييس.

في مدخل Microsoft Azure، اختر الطريقة التي تريد تغيير حجمها. تظهر لقطة الشاشة التالية خيار التحجيم التلقائي المخصص وإعدادات الوضع:

لقطة شاشة لمدخل Azure تعرض صفحة إعداد التحجيم التلقائي مع تمييز خيار التحجيم التلقائي المخصص.

لمزيد من المعلومات حول المقاييس المتوفرة، راجع قسم خيارات مقاييس المستخدم في مقاييس Azure Spring Apps.

تكوين ذاكرة التخزين المؤقت للاستجابة

يوفر تكوين ذاكرة التخزين المؤقت للاستجابة طريقة لتعريف ذاكرة التخزين المؤقت لاستجابة HTTP التي يمكنك تطبيقها عالميا أو على مستوى المسار.

تمكين ذاكرة التخزين المؤقت للاستجابة بشكل عام

بعد تمكين ذاكرة التخزين المؤقت للاستجابة بشكل عام، يتم تمكين ذاكرة التخزين المؤقت للاستجابة تلقائيا لجميع المسارات القابلة للتطبيق.

استخدم الخطوات التالية لتمكين ذاكرة التخزين المؤقت للاستجابة بشكل عام:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل.
  2. في صفحة Spring Cloud Gateway ، حدد Configuration.
  3. في قسم Response Cache ، حدد Enable response cache ثم قم بتعيين Scope إلى Instance.
  4. تعيين الحجم والوقت للعيش لذاكرة التخزين المؤقت للاستجابة.
  5. حدد حفظ.

استخدم الخطوات التالية لتعطيل ذاكرة التخزين المؤقت للاستجابة:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل.
  2. في صفحة Spring Cloud Gateway ، حدد Configuration.
  3. في قسم ذاكرة التخزين المؤقت للاستجابة، قم بإلغاء تحديد تمكين ذاكرة التخزين المؤقت للاستجابة.
  4. حدد حفظ.

تمكين ذاكرة التخزين المؤقت للاستجابة على مستوى المسار

لتمكين ذاكرة التخزين المؤقت للاستجابة لأي مسار، استخدم عامل التصفية LocalResponseCache . يوضح لك المثال التالي كيفية استخدام عامل التصفية LocalResponseCache في تكوين قاعدة التوجيه:

{
   "filters": [
      "<other-app-level-filter-of-route>",
   ],
   "routes": [
      {
        "predicates": [
            "Path=/api/**",
            "Method=GET"
         ],
         "filters": [
            "<other-filter-of-route>",
            "LocalResponseCache=3m, 1MB"
         ],
      }
   ]
}

لمزيد من المعلومات، راجع قسم LocalResponseCache في كيفية استخدام عوامل تصفية مسار بوابة VMware Spring Cloud مع خطة Azure Spring Apps Enterprise و LocalResponseCache في وثائق VMware.

بدلا من تكوين size و timeToLive لكل LocalResponseCache عامل تصفية على حدة، يمكنك تعيين هذه المعلمات على مستوى Spring Cloud Gateway. يمكنك هذا الخيار من استخدام عامل التصفية LocalResponseCache دون تحديد هذه القيم في البداية، مع الاحتفاظ بالمرونة لتجاوزها لاحقا.

استخدم الخطوات التالية لتمكين ذاكرة التخزين المؤقت للاستجابة على مستوى المسار وتعيين size و timeToLive:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل.
  2. في صفحة Spring Cloud Gateway ، حدد Configuration.
  3. في قسم Response Cache ، حدد Enable response cache ثم قم بتعيين Scope إلى Route.
  4. تعيين الحجم والوقت للعيش لذاكرة التخزين المؤقت للاستجابة.
  5. حدد حفظ.

استخدم الخطوات التالية لتعطيل ذاكرة التخزين المؤقت للاستجابة على مستوى المسار، والذي يمسح size و timeToLive:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل.
  2. في صفحة Spring Cloud Gateway ، حدد Configuration.
  3. في قسم ذاكرة التخزين المؤقت للاستجابة، قم بإلغاء تحديد تمكين ذاكرة التخزين المؤقت للاستجابة.
  4. حدد حفظ.

يوضح لك المثال التالي كيفية استخدام عامل التصفية LocalResponseCache عند size تعيين و timeToLive على مستوى Spring Cloud Gateway:

{
   "filters": [
      "<other-app-level-filter-of-route>",
   ],
   "routes": [
      {
        "predicates": [
            "Path=/api/path1/**",
            "Method=GET"
         ],
         "filters": [
            "<other-filter-of-route>",
            "LocalResponseCache"
         ],
      },
      {
        "predicates": [
            "Path=/api/path2/**",
            "Method=GET"
         ],
         "filters": [
            "<other-filter-of-route>",
            "LocalResponseCache=3m, 1MB"
         ],
      }
   ]
}

تكوين متغيرات البيئة

تدير خدمة Azure Spring Apps وتضبط VMware Spring Cloud Gateway. باستثناء حالات الاستخدام التي تكون مراقبة أداء التطبيق (APM) ومستوى السجل، لا تحتاج عادة إلى تكوين VMware Spring Cloud Gateway مع متغيرات البيئة.

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

لتكوين متغيرات البيئة في مدخل Microsoft Azure، استخدم الخطوات التالية:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل، ثم حدد Configuration.
  2. املأ أزواج المفاتيح/القيم لمتغيرات البيئة في قسمي الخصائص والأسرار. يمكنك تضمين متغيرات مع معلومات حساسة في قسم Secrets .
  3. حدد حفظ لحفظ التغييرات الخاصة بك.

بعد تحديث متغيرات البيئة، يتم إعادة تشغيل VMware Spring Cloud Gateway.

تكوين مراقبة أداء التطبيق

لمراقبة VMware Spring Cloud Gateway، يمكنك تكوين APM. يسرد الجدول التالي الأنواع الخمسة من عوامل APM Java التي توفرها بوابة VMware Spring Cloud، جنبا إلى جنب مع متغيرات البيئة المطلوبة.

عامل Java متغيرات البيئة المطلوبة
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING
Dynatrace DT_TENANT
DT_TENANTTOKEN
DT_CONNECTION_POINT
New Relic NEW_RELIC_LICENSE_KEY
NEW_RELIC_APP_NAME
AppDynamics APPDYNAMICS_AGENT_APPLICATION_NAME
APPDYNAMICS_AGENT_TIER_NAME
APPDYNAMICS_AGENT_NODE_NAME
APPDYNAMICS_AGENT_ACCOUNT_NAME
APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY
APPDYNAMICS_CONTROLLER_HOST_NAME
APPDYNAMICS_CONTROLLER_SSL_ENABLED
APPDYNAMICS_CONTROLLER_PORT
Elastic APM ELASTIC_APM_SERVICE_NAME
ELASTIC_APM_APPLICATION_PACKAGES
ELASTIC_APM_SERVER_URL

للحصول على متغيرات البيئة المدعومة الأخرى، راجع المصادر التالية:

لتمكين مراقبة APM في VMware Spring Cloud Gateway، يمكنك إنشاء تكوين APM على مستوى مثيل الخدمة وربطه ب Spring Cloud Gateway. بهذه الطريقة، يمكنك تكوين APM مرة واحدة فقط بسهولة وربط نفس APM ب Spring Cloud Gateway وتطبيقاتك.

استخدم الخطوات التالية لإعداد APM باستخدام مدخل Microsoft Azure:

  1. تكوين APM على مستوى مثيل الخدمة باستخدام اسم APM ونوعه وخصائصه. لمزيد من المعلومات، راجع قسم إدارة APMs على مستوى مثيل الخدمة (مستحسن) في كيفية تكوين تكامل APM وشهادات CA.

    لقطة شاشة لمدخل Azure تعرض صفحة محرر Azure Spring Apps APM.

  2. حدد Spring Cloud Gateway في جزء التنقل، ثم حدد APM.

  3. اختر اسم APM في قائمة الأسماء المرجعية ل APM. تتضمن القائمة جميع أسماء APM المكونة في الخطوة 1.

  4. حدد حفظ لربط أسماء مراجع APM ب Spring Cloud Gateway. تتم إعادة تشغيل البوابة لتمكين مراقبة APM.

إدارة APM في VMware Spring Cloud Gateway (مهمل)

يمكنك استخدام مدخل Azure أو Azure CLI لإعداد APM في VMware Spring Cloud Gateway. يمكنك أيضا تحديد أنواع عوامل APM Java لاستخدامها ومتغيرات بيئة APM المقابلة التي يدعمونها.

استخدم الخطوات التالية لإعداد APM باستخدام مدخل Microsoft Azure:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل، ثم حدد Configuration.
  2. اختر نوع APM في قائمة APM لمراقبة بوابة.
  3. املأ أزواج المفاتيح/القيم لمتغيرات بيئة APM في قسمي الخصائص والأسرار. يمكنك وضع متغيرات مع معلومات حساسة في الأسرار.
  4. حدد حفظ لحفظ التغييرات الخاصة بك.

يمكن أن تأخذ عملية تحديث التكوين بضع دقائق. يجب أن تتلقى إعلاماً عند اكتمال التكوين.

إشعار

تقوم Azure Spring Apps بترقية عامل APM ونشر التطبيقات بنفس ال إيقاع للحفاظ على توافق العوامل بين VMware Spring Cloud Gateway وAzure Spring Apps.

بشكل افتراضي، يطبع Azure Spring Apps سجلات عامل APM Java إلى STDOUT. يتم تضمين هذه السجلات مع سجلات بوابة سحابة VMware Spring. يمكنك التحقق من إصدار عامل APM المستخدم في السجلات. يمكنك الاستعلام عن هذه السجلات في Log Analytics لاستكشاف الأخطاء وإصلاحها.

لجعل عوامل APM تعمل بشكل صحيح، قم بزيادة وحدة المعالجة المركزية وذاكرة VMware Spring Cloud Gateway.

تكوين مستويات السجل

يمكنك تكوين مستويات السجل ل VMware Spring Cloud Gateway بالطرق التالية للحصول على مزيد من التفاصيل أو لتقليل السجلات:

  • يمكنك تعيين مستويات السجل إلى TRACEأو DEBUGأو INFOWARNERROR.OFF مستوى السجل الافتراضي ل VMware Spring Cloud Gateway هو INFO.
  • يمكنك إيقاف تشغيل السجلات عن طريق تعيين مستويات السجل إلى OFF.
  • عند تعيين مستوى السجل إلى WARNأو ERRORأو OFF، قد يطلب منك ضبطه عند INFO طلب الدعم من فريق Azure Spring Apps. يؤدي هذا التغيير إلى إعادة تشغيل VMware Spring Cloud Gateway.
  • عند تعيين مستوى السجل إلى TRACE أو DEBUG، قد يؤثر على أداء VMware Spring Cloud Gateway. حاول تجنب هذه الإعدادات في بيئة الإنتاج الخاصة بك.
  • يمكنك تعيين مستويات السجل للمسجل root أو لمسجلات معينة مثل io.pivotal.spring.cloud.gateway.

قد تحتوي المسجلات التالية على معلومات قيمة لاستكشاف الأخطاء وإصلاحها على المستويين TRACE و DEBUG :

المسجل ‏‏الوصف
io.pivotal.spring.cloud.gateway عوامل التصفية والمسندات، بما في ذلك الملحقات المخصصة
org.springframework.cloud.gateway بوابة API
org.springframework.http.server.reactive تفاعلات خادم HTTP
org.springframework.web.reactive تدفقات تفاعلية لبوابة API
org.springframework.boot.autoconfigure.web التكوين التلقائي لبوابة API
org.springframework.security.web معلومات المصادقة والتخويل
reactor.netty Reactor Netty

للحصول على مفاتيح متغير البيئة، أضف البادئة logging.level. ، ثم قم بتعيين مستوى السجل عن طريق تكوين البيئة logging.level.{loggerName}={logLevel}. توضح الأمثلة التالية خطوات مدخل Azure وAzure CLI.

لتكوين مستويات السجل في مدخل Microsoft Azure، استخدم الخطوات التالية:

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل، ثم حدد Configuration.
  2. املأ أزواج المفاتيح/القيم لمتغيرات البيئة لمستويات السجل في قسمي الخصائص والأسرار. إذا كان مستوى السجل معلومات حساسة في حالتك، يمكنك تضمينه باستخدام قسم Secrets .
  3. حدد حفظ لحفظ التغييرات الخاصة بك.

لقطة شاشة لمدخل Azure تعرض متغيرات بيئة Spring Cloud Gateway لتكوين مستويات السجل.

تحديث تكوين الوظيفة الإضافية

تمكنك ميزة تكوين الوظيفة الإضافية من تخصيص خصائص معينة ل VMware Spring Cloud Gateway باستخدام سلسلة تنسيق JSON. تكون الميزة مفيدة عندما تحتاج إلى تكوين الخصائص التي لا يتم كشفها من خلال واجهة برمجة تطبيقات REST.

تكوين الوظيفة الإضافية هو كائن JSON مع أزواج المفتاح/القيمة التي تمثل التكوين المطلوب. يوضح المثال التالي بنية تنسيق JSON:

{
    "<addon-key-name>": {
        "<addon-key-name>": "<addon-value>"
        ...
    },
    "<addon-key-name>": "<addon-value>",
    ...
}

تعرض القائمة التالية تكوينات الوظيفة الإضافية المدعومة لأسماء مفاتيح الوظيفة الإضافية وأنواع القيم. تخضع هذه القائمة للتغيير بينما نقوم بترقية إصدار VMware Spring Cloud Gateway.

  • تكوين تسجيل الدخول الأحادي:

    • اسم المفتاح: sso

    • نوع القيمة: كائن

    • الخصائص:

      • RolesAttributeName (سلسلة): يحدد اسم السمة التي تحتوي على الأدوار المقترنة بجلسة SSO.
      • InactiveSessionExpirationInMinutes (عدد صحيح): يحدد وقت انتهاء الصلاحية، بالدقائق، لجلسات SSO غير النشطة. تعني قيمة أن 0 جلسة العمل لا تنتهي صلاحيتها أبدا.
    • مثال:

      {
          "sso": {
              "rolesAttributeName": "roles",
              "inactiveSessionExpirationInMinutes": 1
          }
      }
      
  • تكوين بيانات التعريف:

    • اسم المفتاح: api

    • نوع القيمة: كائن

    • خصائص

      • groupId (سلسلة): معرف فريد لمجموعة واجهات برمجة التطبيقات المتوفرة على مثيل VMware Spring Cloud Gateway. يمكن أن تحتوي القيمة على أحرف صغيرة وأرقام فقط.
    • مثال:

      {
          "api": {
              "groupId": "id1"
          }
      }
      
  • تكوين الجراب

    • اسم المفتاح: PodOverrides، والذي يستخدم لتحديد التجاوزات لتكوين الجراب الافتراضي.

    • نوع القيمة: كائن

    • خصائص

      • Containers: يحتوي هذا الصفيف على تكوين للحاويات الفردية داخل الجراب. الحاوية المسماة gateway فقط مدعومة حاليا.
        • Name: يحدد اسم الحاوية. يجب تسمية gatewayالحاوية .
        • Lifecycle: PreStop هو خطاف دورة الحياة الذي يتم تنفيذه عندما تكون الحاوية على وشك الإنهاء. يمكنك هذا الخطاف من إجراء أي تنظيف ضروري قبل توقف الحاوية.
      • TerminationGracePeriodSeconds: يحدد مقدار الوقت الذي ينتظر فيه Kubernetes حتى ينتهي الجراب بأمان قبل قتله قسرا.
    • مثال:

      {
          "PodOverrides": {
              "Containers": [
                  {
                      "Name": "gateway",
                      "Lifecycle": {
                          "PreStop": {
                              "Exec": {
                                  "Command": [
                                      "/bin/sh",
                                      "-c",
                                      "sleep 20"
                                  ]
                              }
                          }
                      }
                  }
              ],
              "TerminationGracePeriodSeconds": 120
          }
      }
      

      عند إنهاء جراب يحتوي على هذه الحاوية، PreStop ينفذ الخطاف الأمر /bin/sh -c 'sleep 20'، مما يتسبب في سكون الحاوية لمدة 20 ثانية. يمنح هذا الإيقاف المؤقت الحاوية بعض الوقت لإكمال أي مهام مستمرة أو تنظيف قبل أن تتوقف فعليا.

      TerminationGracePeriodSeconds يوفر الإعداد إجمالي 120 ثانية للجراب لإنهاء بأمان، بما في ذلك الوقت الذي يستغرقه أي خطافات دورة حياة، مثل PreStop.

استخدم الخطوات التالية لتحديث تكوين الوظيفة الإضافية.

  1. في مثيل Azure Spring Apps، حدد Spring Cloud Gateway في جزء التنقل، ثم حدد Configuration.
  2. حدد قيمة JSON ل Addon Configs.
  3. حدد حفظ.

الخطوات التالية