استخدام خدمة تكوين التطبيق لخدمة Tanzu

إشعار

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

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

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

خدمة تكوين التطبيق ل VMware Tanzu هي واحدة من مكونات VMware Tanzu التجارية. يتيح إدارة موارد Kubernetes الأصلية ConfigMap التي يتم ملؤها من الخصائص المحددة في مستودع Git واحد أو أكثر.

باستخدام خدمة تكوين التطبيق، لديك مكان مركزي لإدارة الخصائص الخارجية للتطبيقات عبر جميع البيئات. لفهم الاختلافات من خادم تكوين Spring Cloud في الخطط الأساسية والقياسية، راجع قسم استخدام خدمة تكوين التطبيق للتكوين الخارجي من ترحيل مثيل خطة Azure Spring Apps Basic أو Standard إلى خطة المؤسسة.

يتم تقديم خدمة تكوين التطبيق في إصدارين: Gen1 وGen2. يخدم إصدار Gen1 بشكل أساسي العملاء الحاليين لأغراض التوافق مع الإصدارات السابقة، ويتم دعمه فقط حتى 30 أبريل 2024. يجب أن تستخدم مثيلات الخدمة الجديدة Gen2. يستخدم إصدار Gen2 flux كواجهة خلفية للتواصل مع مستودعات Git، ويوفر أداء أفضل مقارنة ب Gen1.

يعرض الجدول التالي علاقات الحوسبة الفرعية:

إنشاء خدمة تكوين التطبيق المكونات الفرعية
Gen1 application-configuration-service
Gen2 application-configuration-service
flux-source-controller

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

إنشاء خدمة تكوين التطبيق مدة التحديث أقل من 100 نمط مدة التحديث أقل من 250 نمطا مدة التحديث أقل من 500 نمط
Gen1 330 ثانية 840 ثانية 1500 ثانية
Gen2 13 ثانية 100 ثانية 378 ثانية

يوفر Gen2 أيضا المزيد من عمليات التحقق من الأمان عند الاتصال بمستودع Git بعيد. يتطلب Gen2 اتصالا آمنا إذا كنت تستخدم HTTPS، ويتحقق من مفتاح المضيف الصحيح وخوارزمية المضيف عند استخدام اتصال SSH.

يمكنك اختيار إصدار خدمة تكوين التطبيق عند إنشاء مثيل خدمة Azure Spring Apps Enterprise. الإصدار الافتراضي هو Gen1. يمكنك أيضا الترقية إلى Gen2 بعد إنشاء المثيل، ولكن الرجوع إلى الإصدار الأدنى غير مدعوم. الترقية ليست وقت تعطل، ولكننا ما زلنا نوصي بإجراء الاختبار في بيئة التشغيل المرحلي قبل الانتقال إلى بيئة إنتاج.

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

إدارة إعدادات خدمة تكوين التطبيق

تدعم خدمة تكوين التطبيق Azure DevOps وGitHub وGitLab وBitbucket لتخزين ملفات التكوين الخاصة بك.

لإدارة إعدادات الخدمة، افتح قسم الإعدادات. في هذا القسم، يمكنك تكوين الجوانب الرئيسية التالية:

  • Generation: ترقية إنشاء الخدمة.
  • الفاصل الزمني للتحديث: اضبط التردد الذي تتحقق فيه الخدمة من التحديثات من مستودعات Git.
  • المستودعات: إضافة إدخالات جديدة أو تعديل الإدخالات الموجودة. تمكنك هذه الدالة من التحكم في المستودعات التي تستخدمها شاشات الخدمة لسحب البيانات.

لقطة شاشة لمدخل Azure تعرض صفحة خدمة تكوين التطبيق مع تمييز علامة التبويب الإعدادات.

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

يحدد الفاصل الزمني للتحديث تكرار (بالثوان) للتحقق من التحديثات في المستودع. الحد الأدنى للقيمة هو 0، مما يعطل التحديث التلقائي. للحصول على الأداء الأمثل، قم بتعيين هذا الفاصل الزمني إلى قيمة 60 ثانية كحد أدنى.

يصف الجدول التالي خصائص كل إدخال مستودع:

الخاصية مطلوب؟ ‏‏الوصف
Name ‏‏نعم‬ اسمٌ فريد لتسمية كل مستودع Git.
Patterns ‏‏نعم‬ الأنماط للبحث عن في مستودعات Git. لكل نمط، استخدم تنسيقا مثل {application} أو {application}/{profile} بدلا من {application}-{profile}.yml. افصل الأنماط بفواصل. لمزيد من المعلومات، راجع قسم النمط في هذه المقالة.
URI ‏‏نعم‬ Git URI (على سبيل المثال، https://github.com/Azure-Samples/piggymetrics-config أو git@github.com:Azure-Samples/piggymetrics-config)
Label ‏‏نعم‬ اسم الفرع للبحث عن في مستودع Git.
Search path لا مسارات البحث الاختيارية، مفصولة بفواصل، للبحث في الدلائل الفرعية لمستودع Git.

النمط

يتم سحب التكوين من الواجهات الخلفية ل Git باستخدام ما تحدده في نمط. النمط هو مزيج من {application}/{profile} كما هو موضح في الإرشادات التالية.

  • {application} - اسم التطبيق الذي تقوم باسترداد تكوينه. تعتبر القيمة application التطبيق الافتراضي وتتضمن معلومات التكوين المشتركة عبر تطبيقات متعددة. تشير أي قيمة أخرى إلى تطبيق معين وتتضمن خصائص لكل من التطبيق المحدد والخصائص المشتركة للتطبيق الافتراضي.
  • {ملف شخصي} - اختياري. اسم ملف التعريف الذي يمكنك استرداد خصائصه. تتضمن القيمة الفارغة أو القيمة defaultالخصائص التي تتم مشاركتها عبر ملفات التعريف. تتضمن القيم غير الافتراضية خصائص ملف التعريف الذي تم تحديده وخصائص ملف التعريف الافتراضي.

المصادقة

تظهر لقطة الشاشة التالية الأنواع الثلاثة لمصادقة المستودع التي تدعمها خدمة تكوين التطبيق.

لقطة شاشة لمدخل Azure تعرض صفحة خدمة تكوين التطبيق مع تمييز قائمة نوع المصادقة.

تصف القائمة التالية أنواع المصادقة الثلاثة:

  • المستودع العام.

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

    يعرض الجدول التالي الخاصية القابلة للتكوين التي يمكنك استخدامها لإعداد مستودع Git عام:

    الخاصية مطلوب؟ ‏‏الوصف
    CA certificate لا مطلوب فقط عند استخدام شهادة موقعة ذاتيا ل Git repo URL.
  • مستودع خاص مع المصادقة الأساسية.

    يعرض الجدول التالي الخصائص القابلة للتكوين التي يمكنك استخدامها لإعداد مستودع Git خاص مع المصادقة الأساسية:

    الخاصية مطلوب؟ ‏‏الوصف
    username ‏‏نعم‬ اسم المستخدم الذي تم استخدامه للوصول إلى المستودع.
    password ‏‏نعم‬ كلمة المرور التي تم استخدامها للوصول إلى المستودع.
    CA certificate لا مطلوب فقط عند استخدام شهادة موقعة ذاتيا ل Git repo URL.
  • مستودع خاص مع مصادقة SSH.

    يعرض الجدول التالي الخصائص القابلة للتكوين التي يمكنك استخدامها لإعداد مستودع Git خاص باستخدام SSH:

    الخاصية مطلوب؟ ‏‏الوصف
    Private key ‏‏نعم‬ المفتاح الخاص الذي يحدد مستخدم Git. المفاتيح الخاصة المشفرة بعبارة المرور غير مدعومة.
    Host key لا ل Gen1
    نعم ل Gen2
    مفتاح المضيف الخاصة بخادم Git. إذا قمت بالاتصال بالخادم عبر Git على سطر الأوامر، يكون مفتاح المضيف في ملف .ssh/known_hosts . لا تقم بتضمين بادئة الخوارزمية، حيث أنها محددة فيHost key algorithm.
    Host key algorithm لا ل Gen1
    نعم ل Gen2
    خوارزمية لـ: hostKeyواحدة من ssh-dssوssh-rsaوecdsa-sha2-nistp256وecdsa-sha2-nistp384وecdsa-sha2-nistp521. (مطلوب في حالة التوريد Host key).
    Strict host key checking لا قيمة اختيارية تشير إلى ما إذا كان يجب تجاهل الواجهة الخلفية إذا واجهت خطأً عند استخدام المقدمةHost key. القيم الصالحة هي true و false. القيمة الافتراضية هي true.

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

الترقية من Gen1 إلى Gen2

يوفر Application Configuration Service Gen2 أداء أفضل مقارنة ب Gen1، خاصة عندما يكون لديك عدد كبير من ملفات التكوين. نوصي باستخدام Gen2، خاصة لأنه سيتم إيقاف Gen1 قريبا. الترقية من Gen1 إلى Gen2 ليست وقت تعطل، ولكننا لا نزال نوصي بالاختبار في بيئة التقسيم المرحلي قبل الانتقال إلى بيئة إنتاج.

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

الخاصية ‏‏الوصف
Host key مفتاح المضيف الخاصة بخادم Git. إذا قمت بالاتصال بالخادم عبر Git على سطر الأوامر، يكون مفتاح المضيف في ملف .ssh/known_hosts . لا تقم بتضمين بادئة الخوارزمية، حيث أنها محددة فيHost key algorithm.
Host key algorithm خوارزمية hostKey: واحدة من ssh-dssأو ssh-rsaأو ecdsa-sha2-nistp384ecdsa-sha2-nistp256أو أو .ecdsa-sha2-nistp521

استخدم الخطوات التالية للترقية من Gen1 إلى Gen2:

  1. في مدخل Microsoft Azure، انتقل إلى صفحة خدمة تكوين التطبيق لمثيل خدمة Azure Spring Apps.

  2. حدد قسم الإعدادات ثم حدد Gen2 في القائمة المنسدلة Generation.

    لقطة شاشة لمدخل Microsoft Azure تعرض صفحة خدمة تكوين التطبيق مع علامة التبويب الإعدادات التي تظهر وقائمة Generation مفتوحة.

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

    لقطة شاشة لمدخل Azure تعرض صفحة خدمة تكوين التطبيق وعلامة التبويب الإعدادات مع تمييز زر التحقق من الصحة.

دعم متعدد اللغات

تعمل خدمة تكوين التطبيق بسلاسة مع تطبيقات Spring Boot. يتم استيراد الخصائص التي تم إنشاؤها بواسطة الخدمة كتكوينات خارجية بواسطة Spring Boot ويتم حقنها في الفاصوليا. لا تحتاج إلى كتابة تعليمات برمجية إضافية. يمكنك استهلاك القيم باستخدام التعليق التوضيحي @Value ، أو الوصول إليه من خلال تجريد بيئة Spring، أو يمكنك ربطها بعناصر منظمة باستخدام @ConfigurationProperties التعليق التوضيحي.

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

قم بتحديث الاستراتيجيات

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

  • الاستقصاء حسب خدمة تكوين التطبيق: تقوم خدمة تكوين التطبيق باستطلاع مستودعات Git الخلفية بانتظام للكشف عن أي تغييرات. يحدث هذا الاستقصاء عند تكرار مجموعة، يتم تحديده بواسطة الفاصل الزمني للتحديث. عند الكشف عن تغيير، تقوم خدمة تكوين التطبيق بتحديث Kubernetes ConfigMap.
  • ConfigMap التحديث والتفاعل مع ذاكرة التخزين المؤقت kubelet: في Azure Spring Apps، يتم تحميل هذا ConfigMap كحجم بيانات للتطبيق ذي الصلة. ومع ذلك، هناك تأخير طبيعي في هذه العملية بسبب التردد الذي يقوم فيه kubelet بتحديث ذاكرة التخزين المؤقت الخاصة به للتعرف على التغييرات في ConfigMap.
  • يقرأ التطبيق التكوين المحدث: يمكن للتطبيق الذي يعمل في بيئة Azure Spring Apps الوصول إلى قيم التكوين المحدثة. لا يتم تحديث الفاصوليا الموجودة في Spring Context تلقائيا لاستخدام التكوينات المحدثة.

يتم تلخيص هذه المراحل في الرسم التخطيطي التالي:

رسم تخطيطي يوضح دورة حياة عملية تحديث خدمة تكوين التطبيق.

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

في تطبيقات Spring، يتم الاحتفاظ بالخصائص أو الإشارة إليها كفاصوليا ضمن Spring Context. لتحميل تكوينات جديدة، ضع في اعتبارك استخدام الطرق التالية:

  • إعادة تشغيل التطبيق. تؤدي إعادة تشغيل التطبيق دائما إلى تحميل التكوين الجديد.

  • استدعاء نقطة النهاية المكشوفة /actuator/refresh على عميل التكوين عبر Spring Actuator.

    لاستخدام هذا الأسلوب، أضف التبعية التالية إلى ملف pom.xml لعميل التكوين.

    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    

    يمكنك أيضا تمكين نقطة نهاية المحرك عن طريق إضافة التكوين التالي:

    management.endpoints.web.exposure.include=refresh, bus-refresh, beans, env
    

    بعد إعادة تحميل مصادر الخصائص عن طريق استدعاء /actuator/refresh نقطة النهاية، يتم تحديث السمات المرتبطة في @Value الفاصوليا التي تحتوي على التعليق التوضيحي @RefreshScope .

    @Service
    @Getter @Setter
    @RefreshScope
    public class MyService {
       @Value
       private Boolean activated;
    }
    

    استخدم curl مع نقطة نهاية التطبيق لتحديث التكوين الجديد، كما هو موضح في المثال التالي:

    curl -X POST http://{app-endpoint}/actuator/refresh
    
  • استخدم FileSystemWatcher لمشاهدة تغيير الملف وتحديث السياق عند الطلب. FileSystemWatcher هي فئة يتم شحنها مع spring-boot-devtools التي تراقب أدلة محددة لتغييرات الملفات، أو يمكنك استخدام أداة مساعدة أخرى مع وظيفة مماثلة. يتطلب الخيار السابق من المستخدمين بدء التحديث بنشاط، بينما يمكن لهذا الأخير مراقبة تغييرات الملفات واستدعاء التحديث تلقائيا عند الكشف عن التحديثات. يمكنك استرداد مسار الملف باستخدام متغير AZURE_SPRING_APPS_CONFIG_FILE_PATHالبيئة ، كما هو مذكور في قسم دعم Polyglot.

تكوين إعدادات خدمة تكوين التطبيق

استخدم الخطوات التالية لتكوين خدمة تكوين التطبيق:

  1. قم بتحديد خدمة تكوين التطبيقات .

  2. حدد نظرة عامة لعرض حالة التشغيل والموارد المخصصة لخدمة تكوين التطبيق.

    لقطة شاشة لمدخل Azure تعرض صفحة خدمة تكوين التطبيق مع تمييز علامة التبويب نظرة عامة.

  3. قم بتحديد الإعدادات ، ثم أضف مدخلًا جديدًا في قسم المستودعات مع معلومات خلفية Git.

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

    لقطة شاشة لمدخل Azure تعرض صفحة خدمة تكوين التطبيق مع تمييز علامة التبويب الإعدادات وزر التحقق من الصحة.

تكوين شهادة TLS للوصول إلى خلفية Git مع شهادة موقعة ذاتيا ل Gen2

هذه الخطوة اختيارية. إذا كنت تستخدم شهادة موقعة ذاتيا لواجهة Git الخلفية، يجب تكوين شهادة TLS للوصول إلى الواجهة الخلفية ل Git.

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

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

  1. انتقل إلى مورد الخدمة ثم حدد خدمة تكوين التطبيق.

  2. حدد الإعدادات وإضافة إدخال جديد أو تحديثه في قسم المستودعات باستخدام معلومات الواجهة الخلفية ل Git.

    لقطة شاشة لمدخل Azure تعرض صفحة خدمة تكوين التطبيق مع ظهور علامة التبويب الإعدادات.

استخدام خدمة تكوين التطبيق مع التطبيقات

عند استخدام خدمة تكوين التطبيق مع واجهة خلفية Git واستخدام التكوينات المركزية، يجب ربط التطبيق بخدمة تكوين التطبيق.

استخدم الخطوات التالية لاستخدام خدمة تكوين التطبيق مع التطبيقات:

  1. قم بفتح علامة التبويب ربط بيانات التطبيق.

  2. حدد ربط التطبيق واختر تطبيقا واحدا من القائمة المنسدلة. قم بتحديد تطبيقللربط.

    لقطة شاشة لمدخل Azure تعرض صفحة خدمة تكوين التطبيق مع تمييز علامة التبويب ربط التطبيق.

    إشعار

    عند تغيير حالة الربط/فك الارتباط، يلزم عليك إعادة تشغيل التطبيق أو إعادة نشره حتى يصبح الملزم ساري المفعول.

  3. في قائمة التنقل، حدد التطبيقات لعرض قائمة جميع التطبيقات.

  4. حدد التطبيق الهدف لتكوين أنماط للعمود name .

  5. في جزء التنقل، حدد Configuration ثم حدد General settings.

  6. في القائمة المنسدلة تكوين أنماط الملفات ، قم باختيار نمطًا واحدًا أو أكثر من القائمة. لمزيد من المعلومات، قم بمراجعة قسم الأنماط.

    لقطة شاشة لمدخل Azure تعرض صفحة تكوين التطبيق مع تمييز علامة التبويب الإعدادات العامة وخيارات بوابة واجهة برمجة التطبيقات.

  7. حدد حفظ.

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

يمكنك الآن اختيار ربط التطبيق الخاص بك بخدمة تكوين التطبيق عند إنشاء تطبيق جديد.

استخدم الخطوات التالية لإنشاء تطبيق جديد وربطه بخدمة تكوين التطبيق:

  1. في جزء التنقل، حدد التطبيقات لمشاهدة جميع تطبيقاتك.

  2. حدد إنشاء تطبيق لإنشاء تطبيق جديد.

  3. أدخل اسما لتطبيقك الجديد.

  4. حدد علامة التبويب Bind ثم حدد خدمة تكوين التطبيق من القائمة المنسدلة.

    لقطة شاشة لمدخل Azure تعرض صفحة إنشاء تطبيق مع تمييز القائمة المنسدلة Bind.

  5. حدد إنشاء لإنهاء إنشاء التطبيق وربطه بخدمة تكوين التطبيق.

تمكين/تعطيل خدمة تكوين التطبيق بعد إنشاء الخدمة

يمكنك تمكين خدمة تكوين التطبيق وتعطيلها بعد إنشاء الخدمة باستخدام مدخل Azure أو Azure CLI. قبل تعطيل خدمة تكوين التطبيق، يطلب منك إلغاء ربط جميع تطبيقاتك منها.

استخدم الخطوات التالية لتمكين خدمة تكوين التطبيق أو تعطيلها:

  1. انتقل إلى مورد الخدمة ثم حدد خدمة تكوين التطبيق.
  2. حدد إدارة.
  3. حدد تمكين خدمة تكوين التطبيق أو ألغ تحديدها، ثم حدد حفظ.
  4. يمكنك الآن عرض حالة خدمة تكوين التطبيق على صفحة خدمة تكوين التطبيق.

فحص ملف التكوين في ConfigMap

يوضح لك القسم التالي كيفية فحص محتوى ملف التكوين الذي سحبته خدمة تكوين التطبيق من مستودعات Git المصدر في Kubernetes ConfigMapذات الصلة . لمزيد من المعلومات، راجع قسم Refresh strategies في هذه المقالة.

تعيين دور Azure

أولا، يجب أن يكون لديك دور Azure Spring Apps Application Configuration Service Config File Pattern Reader Role Azure المعين لك.

استخدم الخطوات التالية لتعيين دور Azure:

  1. افتح مدخل Microsoft Azure وانتقل إلى مثيل خدمة Azure Spring Apps.

  2. في جزء التنقل، حدد Access Control (IAM).

  3. في صفحة Access Control (IAM)، حدد Add، ثم حدد Add role assignment.

    لقطة شاشة لمدخل Azure تعرض صفحة التحكم في الوصول (IAM) لمثيل Azure Spring Apps مع تمييز خيار إضافة تعيين الدور.

  4. في صفحة إضافة تعيين دور، في قائمة الاسم ، ابحث عن الدور الهدف وحدده، ثم حدد التالي.

    لقطة شاشة لمدخل Azure تعرض صفحة إضافة تعيين دور لمثيل Azure Spring Apps مع تمييز اسم دور قارئ نمط ملف تكوين تطبيق Azure Spring Apps.

  5. حدد الأعضاء ثم ابحث عن اسم المستخدم وحدده.

  6. حدد مراجعة + تعيين.

فحص ملف التكوين باستخدام Azure CLI

استخدم الأمر التالي لعرض محتوى ملف التكوين حسب النمط:

az spring application-configuration-service config show \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --config-file-pattern <pattern>

ينتج عن هذا الأمر إخراج JSON مشابه للمثال التالي:

{
  "configurationFiles": {
    "application.properties": [
      "example.property.application.name: example-service",
      "example.property.cloud: Azure"
    ]
  },
  "metadata": {
    "gitRevisions": "[{\"url\":\"{gitRepoUrl}\",\"revision\":\"{revisionInfo}\"}]"
  }
}

إشعار

metadata لا تتوفر الخاصيتين و gitRevisions لإصدار Gen1 من خدمة تكوين التطبيق.

يمكنك أيضا استخدام هذا الأمر مع المعلمة --export-path {/path/to/target/folder} لتصدير ملف التكوين إلى المجلد المحدد. وهو يدعم كلا من المسارات النسبية والمسارات المطلقة. إذا لم تحدد المسار، يستخدم الأمر مسار الدليل الحالي بشكل افتراضي.

فحص ملف التكوين في التطبيق

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

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

  2. echo $AZURE_SPRING_APPS_CONFIG_FILE_PATH استخدم الأمر للعثور على المجلدات التي تحتوي على ملفات التكوين. تظهر قائمة المواقع مفصولة بفواصل، كما هو موضح في المثال التالي:

      $ echo $AZURE_SPRING_APPS_CONFIG_FILE_PATH
      /etc/azure-spring-cloud/configmap/acs-default-payment-default-e9d46,/etc/azure-spring-cloud/configmap/acs-default-catalog-default-616f4
    
  3. تحقق من محتوى ملف التكوين باستخدام أوامر مثل cat.

إشعار

معلومات مراجعة Git غير متوفرة في التطبيق.

التحقق من السجلات

توضح لك الأقسام التالية كيفية عرض سجلات التطبيق باستخدام إما Azure CLI أو مدخل Microsoft Azure.

استخدام دفق السجل في الوقت الحقيقي

يمكنك دفق السجلات في الوقت الحقيقي باستخدام Azure CLI. لمزيد من المعلومات، راجع دفق سجلات المكونات المدارة في Azure Spring Apps في الوقت الفعلي. توضح الأمثلة التالية كيف يمكنك استخدام أوامر Azure CLI لدفق سجلات جديدة باستمرار للحواسيب application-configuration-service الفرعية و flux-source-controller .

استخدم الأمر التالي لدفق السجلات ل application-configuration-service:

az spring component logs \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name application-configuration-service \
    --all-instances \
    --follow

استخدم الأمر التالي لدفق السجلات ل flux-source-controller:

az spring component logs \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name flux-source-controller \
    --all-instances \
    --follow

استخدام "Log Analytics"

توضح لك الأقسام التالية كيفية تشغيل سجلات النظام وعرضها باستخدام Log Analytics.

إعدادات التشخيص ل Log Analytics

يجب تشغيل سجلات النظام وإرسال السجلات إلى مثيل Log Analytics قبل الاستعلام عن سجلات خدمة تكوين التطبيق. لتمكين سجلات النظام في مدخل Microsoft Azure، استخدم الخطوات التالية:

  1. افتح مثيل Azure Spring Apps.

  2. في جزء التنقل، حدد Diagnostics settings.

  3. حدد إضافة إعداد تشخيص أو حدد تحرير الإعداد لإعداد موجود.

  4. في قسم Logs ، حدد فئة System Logs .

  5. في قسم Destination details ، حدد Send to Log Analytics workspace ثم حدد مساحة العمل الخاصة بك.

  6. حدد حفظ لتحديث الإعداد.

التحقق من السجلات في Log Analytics

للتحقق من application-configuration-service سجلات مدخل Microsoft Azure واستخدامها flux-source-controller ، استخدم الخطوات التالية:

  1. تأكد من تشغيل سجلات النظام. لمزيد من المعلومات، راجع قسم إعدادات التشخيص ل Log Analytics .

  2. افتح مثيل Azure Spring Apps.

  3. في قائمة التنقل، حدد Logs ثم حدد Overview.

  4. استخدم نماذج الاستعلامات التالية في جزء تحرير الاستعلام. اضبط النطاق الزمني ثم حدد تشغيل للبحث عن السجلات.

    • لعرض سجلات application-configuration-service، استخدم الاستعلام التالي:

      AppPlatformSystemLogs
      | where LogType in ("ApplicationConfigurationService")
      | project TimeGenerated , ServiceName , LogType, Log , _ResourceId
      | limit 100
      

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

    • لعرض سجلات flux-source-controller، استخدم الاستعلام التالي:

      AppPlatformSystemLogs
      | where LogType in ("Flux")
      | project TimeGenerated , ServiceName , LogType, Log , _ResourceId
      | limit 100
      

      لقطة شاشة لمدخل Azure تعرض نتيجة الاستعلام لسجلات flux-source-controller.

إشعار

قد يكون هناك تأخير لبضع دقائق قبل أن تتوفر السجلات في Log Analytics.

استكشاف المشكلات المعروفة وإصلاحها

إذا لم تنعكس التغييرات الأخيرة في التطبيقات، فتحقق من العناصر التالية استنادا إلى قسم Refresh strategies :

  • تأكد من تحديث مستودع Git بشكل صحيح عن طريق التحقق من العناصر التالية:
    • تأكد من تحديث فرع تغييرات ملف التكوين المطلوب.
    • تأكد من أن النمط الذي تم تكوينه في خدمة تكوين التطبيق يطابق ملفات التكوين المحدثة.
    • تأكد من أن التطبيق مرتبط بخدمة تكوين التطبيق.
  • تأكد من تحديث الذي ConfigMap يحتوي على ملف التكوين للنمط المستخدم من قبل التطبيق، كما هو موضح في قسم فحص ملف التكوين في ConfigMap من هذه المقالة. إذا لم يتم تحديثها، فقم برفع تذكرة.
  • تأكد من ConfigMap تحميل إلى التطبيق كملف، كما هو موضح في فحص ملف التكوين في قسم التطبيق من هذه المقالة. إذا لم يتم تحديث الملف، فانتظر الفاصل الزمني لتحديث Kubernetes (دقيقة واحدة)، أو قم بفرض تحديث عن طريق إعادة تشغيل التطبيق.

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

Azure Spring Apps