مشاركة عبر


البرنامج التعليمي: تكوين حاوية sidecar لتطبيق حاوية مخصص

يوضح لك هذا البرنامج التعليمي كيفية إضافة جامع OpenTelemetry كحاوية sidecar إلى تطبيق حاوية مخصص Linux في Azure App Service.

تتيح لك حاويات Sidecar في App Service نشر خدمات وميزات إضافية لتطبيقات Linux الخاصة بك دون اقترانها بإحكام بالحاوية الرئيسية المضمنة أو المخصصة. تعمل حاويات sidecar جنبا إلى جنب مع حاوية التطبيق الرئيسية في نفس خطة App Service.

يمكنك إضافة ما يصل إلى تسع حاويات جانبية لكل تطبيق Linux في App Service. على سبيل المثال، يمكنك إضافة خدمات المراقبة والتسجيل والتكوين والشبكات كحاويات sidecar. يعد جامع OpenTelemetry sidecar مثالا واحدا للمراقبة.

للحصول على تطبيقات Linux ذات التعليمات البرمجية الخاصة بك، راجع البرنامج التعليمي: تكوين حاوية sidecar لتطبيق Linux في Azure App Service.

Prerequisites

  • إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.

  • يمكنك تشغيل الأوامر في هذا البرنامج التعليمي باستخدام Azure Cloud Shell، وهي shell تفاعلية تستخدمها من خلال متصفحك للعمل مع خدمات Azure. لاستخدام Cloud Shell:

    1. حدد زر Launch Cloud Shell التالي أو انتقل إلى https://shell.azure.com لفتح Cloud Shell في متصفحك.

    2. سجل الدخول إلى Azure إذا لزم الأمر، وتأكد من أنك في بيئة Bash في Cloud Shell.

    3. حدد نسخ في أي كتلة تعليمات برمجية، والصق التعليمات البرمجية في Cloud Shell، وقم بتشغيلها.

      azd تستخدم الأوامر في هذا البرنامج التعليمي Azure Developer CLI، وهي أداة مفتوحة المصدر تعمل على تسريع توفير موارد التطبيق ونشرها على Azure.

1. إعداد موارد البرنامج التعليمي

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

git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
cd app-service-sidecar-tutorial-prereqs
azd env new my-sidecar-env
azd provision

azd provision يستخدم الأمر القوالب المضمنة لإنشاء مجموعة موارد Azure تسمى my-sidecar-env_group التي تحتوي على موارد Azure التالية:

  • سجل حاوية يحتوي على مستودعين يحتويان على الصور التالية:
    • صورة nginx تحتوي على الوحدة النمطية OpenTelemetry.
    • صورة otel-collector مجمع OpenTelemetry تم تكوينها للتصدير إلى Azure Monitor.
  • مساحة عمل Log Analytics .
  • مكون Application Insights .
  • هوية مدارة يعينها المستخدم تسمى id-my-sidecar-env_group.

عند اكتمال النشر، يجب أن تشاهد إخراجا مشابها للمثال التالي:

Success!

APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee

Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group

انسخ واحفظ القيمة APPLICATIONINSIGHTS_CONNECTION_STRING لاستخدامها لاحقا في هذا البرنامج التعليمي.

حدد الارتباط لفتح Open resource group in the portal مجموعة الموارد المتوفرة في مدخل Microsoft Azure.

2. إنشاء تطبيق يدعم sidecar

في مجموعة الموارد في مدخل Microsoft Azure، أنشئ تطبيق حاوية مخصص Linux بدعم sidecar، وقم بتكوين الحاوية الرئيسية.

  1. في صفحة مجموعة الموارد في مدخل Microsoft Azure، حدد إنشاء.

  2. في صفحة Marketplace ، ابحث عن تطبيق الويب، وحدد السهم لأسفل بجوار إنشاء على لوحة Web App ، وحدد Web App.

    لقطة شاشة تعرض صفحة Azure Marketplace مع تطبيق الويب الذي يتم البحث فيه وتمييز زر إنشاء تطبيق ويب.

  3. في علامة التبويب الأساسيات في الصفحة إنشاء تطبيق ويب ، قم بتوفير المعلومات التالية:

    • الاسم: أدخل اسما فريدا لتطبيق الويب.
    • نشر: حدد حاوية.
    • نظام التشغيل: حدد Linux.
    • المنطقة: حدد نفس المنطقة التي اخترتها azd provision.
    • خطة Linux: حدد خطة App Service (الجديدة) المتوفرة.

    لقطة شاشة تعرض الإعدادات الأساسية لتطبيق الويب المخصص لحاوية Linux.

  4. اترك باقي الإعدادات كما هي، وحدد علامة التبويب حاوية في أعلى الصفحة.

  5. في علامة التبويب الحاوية ، قم بتوفير المعلومات التالية:

    • دعم السيارة الجانبية: اضبط على التكوين المحسن مع تشغيل دعم السيارة الجانبية.
    • مصدر الصورة: حدد Azure Container Registry.
    • الاسم: تأكد من ظهور الرئيسي .
    • التسجيل: حدد التسجيل الذي تم إنشاؤه بواسطة azd provision.
    • المصادقة: حدد الهوية المدارة.
    • الهوية: حدد الهوية المدارة التي تم إنشاؤها بواسطة azd provision.
    • الصورة: أدخل nginx.
    • العلامة: أدخل الأحدث.
    • المنفذ: أدخل 80 إذا لم يكن قد تم تعيينه بالفعل.

    لقطة شاشة تعرض إعدادات الحاوية لتطبيق الويب المخصص لحاوية Linux.

    Note

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

  6. حدد Review + create، وعند اجتياز التحقق من الصحة، حدد Create.

  7. بمجرد اكتمال النشر، حدد Go to resource.

  8. في صفحة تطبيقك، افتح عنوان URL بجوار النطاق الافتراضي، https://<app-name>.azurewebsites.netفي علامة تبويب مستعرض جديدة لرؤية صفحة nginx الافتراضية.

3. إضافة حاوية sidecar إلى التطبيق

أضف حاوية sidecar إلى تطبيق حاوية Linux المخصص.

  1. في صفحة التطبيق في مدخل Microsoft Azure، حدد مركز التوزيع ضمن التوزيع في قائمة التنقل اليسرى. تعرض صفحة "مركز النشر " جميع الحاويات في التطبيق، وهي حاليا الحاوية الرئيسية فقط.

  2. حدد الحاويات.

  3. حدد إضافة>حاوية مخصصة.

  4. في جزء إضافة حاوية ، أكمل المعلومات التالية:

    • الاسم: أدخل otel-collector.
    • مصدر الصورة: حدد Azure Container Registry.
    • التسجيل: حدد التسجيل الذي تم إنشاؤه بواسطة azd provision.
    • المصادقة: حدد الهوية المدارة.
    • الهوية: ضمن المستخدم المعين، حدد الهوية المدارة التي تم إنشاؤها بواسطة azd provision.
    • الصورة: أدخل otel-collector.
    • علامة الصورة: أدخل الأحدث.
    • المنفذ: أدخل 4317.
  5. حدد تطبيق.

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

يوجد الآن حاويتان في مركز النشر المسمى Main و Sidecar. يجب أن يحتوي التطبيق على حاوية رئيسية واحدة ويمكن أن يحتوي على حاويات جانبية متعددة.

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

في نموذج السيناريو، otel-collector يتم تكوين sidecar لتصدير بيانات OpenTelemetry إلى Azure Monitor باستخدام سلسلة الاتصال كمتغير بيئة. لمزيد من المعلومات، راجع ملف تكوين OpenTelemetry لصورة otel-collector.

قم بتكوين متغير البيئة للحاوية عن طريق تكوين إعدادات التطبيق للتطبيق. يمكن الوصول إلى إعدادات التطبيق لجميع الحاويات في التطبيق.

  1. في صفحة التطبيق في مدخل Microsoft Azure، حدد متغيرات البيئة ضمن الإعدادات في قائمة التنقل اليسرى.

  2. في علامة التبويب إعدادات التطبيق في صفحة متغيرات البيئة ، حدد إضافة.

  3. في جزء Add/Edit application setting ، أدخل القيم التالية:

    • الاسم: APPLICATIONINSIGHTS_CONNECTION_STRING
    • القيمة: قيمة APPLICATIONINSIGHTS_CONNECTION_STRING من ناتج azd provision. يمكنك أيضا العثور على هذه القيمة كسلسلة اتصال في صفحة نظرة عامة على مورد Application Insight الخاص بمجموعة الموارد.
  4. حدد تطبيق، ثم حدد تطبيق مرة أخرى، ثم حدد تأكيد. يظهر إعداد تطبيق APPLICATIONINSIGHTS_CONNECTION_STRING الآن في علامة التبويب إعدادات التطبيق .

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

Note

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

5. التحقق في Application Insights

يجب أن تقوم otel-collector sidecar الآن بتصدير البيانات إلى Application Insights.

  1. انتقل إلى تطبيقك في علامة تبويب مستعرض جديدة وقم بتحديث الصفحة عدة مرات لإنشاء بعض طلبات الويب.

  2. في صفحة مجموعة الموارد في مدخل Microsoft Azure، حدد مورد Application Insights . يجب أن ترى الآن بعض البيانات في المخططات الافتراضية في صفحة نظرة عامة على Application Insights.

    لقطة شاشة لصفحة Application Insights تعرض البيانات في المخططات الافتراضية.

Note

في سيناريو المراقبة الشائع هذا، Application Insights هو واحد فقط من أهداف OpenTelemetry التي يمكنك استخدامها، مثل Jaeger وPrometheus وZipkin.

6. حذف الموارد

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

azd down