مشاركة عبر


جلسات الحاوية المخصصة لتطبيقات حاويات Azure

بالإضافة إلى مترجم التعليمات البرمجية المضمن الذي توفره جلسات Azure Container Apps الديناميكية، يمكنك أيضا استخدام حاويات مخصصة لتحديد بيئة الاختبار المعزولة لجلسة العمل الخاصة بك.

ملحوظة

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

يستخدم لجلسات عمل الحاوية المخصصة

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

  • مترجمو التعليمات البرمجية: عندما تحتاج إلى تنفيذ تعليمات برمجية غير موثوق بها في بيئات الاختبار المعزولة الآمنة بلغة غير مدعومة في المترجم المضمن، أو تحتاج إلى التحكم الكامل في بيئة مترجم التعليمات البرمجية.

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

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

لاستخدام جلسات عمل حاوية مخصصة، يمكنك أولا إنشاء تجمع جلسة عمل مع صورة حاوية مخصصة. تبدأ Azure Container Apps تلقائيا تشغيل الحاويات في بيئات الاختبار المعزولة Hyper-V الخاصة بها باستخدام الصورة المتوفرة. بمجرد بدء تشغيل الحاوية، تكون متاحة لتجمع الجلسة.

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

مجسات الحاويات لتجمع الجلسات

استخدم مجسات الحاويات لتكوين فحوصات الصحة لتجمعات جلسات الحاويات المخصصة والحفاظ على حالات جلسة صحية.

ملحوظة

مجسات الحاويات تتطلب إصدار 2025-02-02-preview API أو إصدار لاحق.

تتيح لك مجسات الحاويات تعريف فحوصات الصحة لحاويات الجلسة، مشابهة لفحص الصحة في Azure Container Apps. عند التكوين، تراقب مجموعة الجلسات كل نسخة من الجلسة وتقوم بإزالة الحالات غير الصحية.

مجموعة الجلسات:

  • يضمن أن حالات الجلسات الجاهزة صحية بناء على المجسات.
  • يقوم تلقائيا بإزالة حالات الجلسات غير الصحية.
  • يتوسع للحفاظ على عدد الجلسات المعدة readySessionInstances مع جلسات صحية.

تدعم مجموعات الجلسات أنواع LivenessوStarting . لمزيد من المعلومات حول كيفية عمل المجسات، راجع Health Probes في Azure Container Apps.

الإعداد

عند إنشاء أو تحديث مجموعة جلسات، حدد المجسات في properties.customContainerTemplate.containers قسم حمولة طلبك.

للاطلاع على المواصفة الكاملة لواجهة برمجة التطبيقات، انظر واجهة برمجة تطبيقات SessionPools.

مثال

{
  "properties": {
    "customContainerTemplate": {
      "containers": [
        {
          "name": "my-session-container",
          "image": "myregistry.azurecr.io/my-session-image:latest",
          "probes": [
            {
              "type": "Liveness",
              "httpGet": {
                "path": "/health",
                "port": 8080
              },
              "periodSeconds": 10,
              "failureThreshold": 3
            },
            {
              "type": "Startup",
              "httpGet": {
                "path": "/ready",
                "port": 8080
              },
              "periodSeconds": 5,
              "failureThreshold": 30
            }
          ]
        }
      ]
    },
    "dynamicPoolConfiguration": {
      "readySessionInstances": 5
    }
  }
}

استكشاف الأخطاء وإصلاحها

إذا لم يكن مجموعة الجلسات لديك يحافظ على العدد المتوقع من الجلسات readySessionInstancesالصحية، فكر في ما يلي:

  1. تحقق من سجلات الحاويات - راجع سجلات حاويات الجلسة لتحديد المشاكل في نقاط نهاية المجسات أو بدء تشغيل الحاويات. انظر سجلات عرض لتجمع جلسات الحاويات المخصصة.
  2. تحقق من تكوين المجس - تأكد من أن مسارات المجس، والمنفذ، والعتبات مضبوطة بشكل صحيح لتطبيقك.
  3. راجع صحة الحاوية - تحقق من وجود مشاكل داخل الحاوية التي تمنع نقاط نهاية المجسات من الاستجابة بنجاح.

أوقف جلسة

استخدم واجهة برمجة تطبيقات إيقاف الجلسة لإنهاء جلسة في مجموعة جلسات الحاويات المخصصة.

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

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

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

مرجع واجهة برمجة التطبيقات

طلب

POST {PoolManagementEndpoint}/.management/stopSession?api-version=2025-10-02-preview&identifier={SessionIdentifier}

البارامترات

المعلمة النوع مطلوب ‏‏الوصف
api-version string ‏‏نعم‬ نسخة API للاستخدام (على سبيل المثال، 2025-10-02-preview).
identifier string ‏‏نعم‬ المعرف الفريد للجلسة لإيقافه.

أمثلة

طلب

POST https://{PoolManagementEndpoint}/.management/stopSession?api-version=2025-10-02-preview&identifier=testSessionIdentifier

الاستجابة

HTTP/1.1 200 OK
Content-Type: text/plain

Session testSessionIdentifier in session pool testSessionPool stopped.

تسجيل الدخول

تتكامل مجموعات جلسات الحاويات المخصصة مع Azure Monitor وLog Analytics. يتم التقاط سجلات التطبيقات فقط إذا كانت الحاوية تكتب مخرجا إلى stdout أو stderr، لذا تأكد من أن تطبيقك يرسل السجلات إلى وحدة التحكم.

المتطلبات المسبقه

  • بيئة Azure Container Apps مع تجمع جلسات حاويات مخصص
  • مساحة عمل تحليلات سجلات (أو إنشاء واحدة أثناء الإعداد)

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

الخطوة 1: تمكين تسجيل Azure Monitor

  1. انتقل إلى بيئة تطبيقات الحاويات في بوابة Azure.
  2. تحت قسم المراقبة، اختر خيارات التسجيل.
  3. قم بتعيين وجهة السجلات إلى Azure Monitor.

الخطوة 2: تكوين إعدادات التشخيص

  1. في بيئة تطبيقات الحاويات الخاصة بك، انتقل إلى إعدادات التشخيص تحت قسم المراقبة.
  2. حدد + Add diagnostic setting.
  3. قدم اسما لبيئة التشخيص الخاصة بك.
  4. في قسم السجلات، اختر فئات السجلات المتعلقة بالجلسات التي تريد التقاطها.
  5. ضمن تفاصيل الوجهة، حدد إرسال إلى مساحة عمل Log Analytics.
  6. اختر مساحة عمل تحليلات السجلات الخاصة بك (أو أنشئ واحدة جديدة).
  7. حَدِّد حِفظ.

جداول Log Analytics

فئة السجل جدول Log Analytics ‏‏الوصف
سجلات التطبيق AppEnvSessionConsoleLogs الناتج القياسي (stdout) والخطأ القياسي ()stderr الذي ينبعث من التطبيق المعبأ في الحاوية.
سجلات النظام الأساسي AppEnvSessionLifecycleLogs، AppEnvSessionPoolEvents الأحداث التي يتم إنشاؤها من قبل المنصة تتعلق بتخصيص مجموعة الجلسات، ودورة الحياة، والحالة التشغيلية.

إذا أرسلت السجلات مباشرة إلى تحليلات السجل، تستخدم الجداول لاحقة _CL (على سبيل المثال، AppEnvSessionConsoleLogs_CL). عندما يتم توجيه السجلات عبر إعدادات التشخيص في Azure Monitor، لا تتضمن أسماء الجداول لاحقة _CL.

عرض سجلات الجلسات

بمجرد تكوين إعدادات التشخيص، ترسل السجلات إلى مساحة عمل تحليلات السجلات الخاصة بك.

استعلام سجلات البيانات في Log Analytics

  1. انتقل إلى مساحة عمل تحليلات السجلات الخاص بك في بوابة Azure.
  2. اختر السجلات تحت القسم العام.
  3. استخدم لغة استعلام Kusto (KQL) لاستعلام سجلات الجلسات.

مثال على الاستعلامات

عرض سجلات الأجهزة الأخيرة من الجلسات:

AppEnvSessionConsoleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
| take 100

عرض أحداث دورة حياة الجلسة:

AppEnvSessionLifecycleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc

عرض فعاليات مجموعة الجلسات:

AppEnvSessionPoolEvents
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc

Metrics

Azure Container Apps emits Azure Monitor metrics for custom container session pools. استخدم هذه المقاييس لتتبع سعة ونشاط المجموعات مع مرور الوقت.

المقاييس المدعومة

للاطلاع على القائمة الكاملة، راجع المقاييس المدعومة - Microsoft.App/sessionpools - Azure Monitor.

المقيَاس الاسم في واجهة برمجة تطبيقات REST الوحدة تجميع الأبعاد الحبوب الزمنية تصدير DS
تنفيذ عدد جلسات العمل
عدد وحدات جرابات الجلسة المنفذة في تجمع الجلسة
PoolExecutingPodCount عدد الإجمالي (المجموع)، المتوسط، الحد الأقصى، الحد الأدنى poolName PT1M ‏‏نعم‬
إنشاء عدد جلسات العمل
عدد إنشاء جرابات الجلسة في تجمع الجلسة
PoolPendingPodCount عدد الإجمالي (المجموع)، المتوسط، الحد الأقصى، الحد الأدنى poolName PT1M ‏‏نعم‬
عدد جلسات العمل الجاهزة
عدد جرابات الجلسة الجاهزة في تجمع الجلسة
PoolReadyPodCount عدد الإجمالي (المجموع)، المتوسط، الحد الأقصى، الحد الأدنى poolName PT1M ‏‏نعم‬

عرض مقاييس الجلسات

يمكنك استخدام مقاييس بيئة Azure Monitor أو Container Apps لعرض مقاييس الجلسات المعتمدة.

الخيار 1: Azure Monitor Metrics

  1. افتح صفحة Azure Monitor Metrics.
  2. اختر مجموعة جلسات الحاوية المخصصة كنطاق للنطاق.
  3. اختر مقياسا وتجميعا للعرض.

الخيار الثاني: مقاييس بيئة تطبيقات الحاويات

  1. في بوابة Azure، افتح بيئة تطبيقات الحاويات الخاصة بك.
  2. حدد القياسات.
  3. استخدم Scope لاختيار مجموعة جلسات الحاوية المخصصة لديك.
  4. اختر مقياسا وتجميعا للعرض.