دعم نشر إنشاء Docker في Azure Service Fabric (معاينة)

يستخدم Docker ملف docker-compose.yml لتعريف التطبيقات متعددة الحاويات. لتسهيل الأمر على العملاء المطلعين على Docker لتنسيق تطبيقات الحاويات الحالية على Azure Service Fabric، قمنا بتضمين دعم المعاينة لنشر Docker Compose أصلًا في النظام الأساسي. يمكن لـService Fabric قبول الإصدار 3 والإصدارات الأحدث من ملفات docker-compose.yml.

نظرًا لأن هذا الدعم قيد المعاينة، يتم دعم مجموعة فرعية فقط من إنشاء التوجيهات.

لاستخدام هذه المعاينة، قم بإنشاء مجموعتك باستخدام الإصدار 5.7 أو أحدث من وقت تشغيل Service Fabric من خلال مدخل Azure إلى جانب حزمة SDK المقابلة.

إشعار

هذه الميزة قيد المعاينة وغير مدعومة في الإنتاج. تستند الأمثلة أدناه إلى إصدار وقت التشغيل 6.0 والإصدار 2.8 من SDK.

نشر ملف Docker Compose على Service Fabric

تقوم الأوامر التالية بإنشاء تطبيق Service Fabric (مسمى fabric:/TestContainerApp)، والذي يمكنك مراقبته وإدارته مثل أي تطبيق Service Fabric آخر. يمكنك استخدام اسم التطبيق المحدد للاستعلامات الصحية. يتعرف Service Fabric على "DeploymentName" كمعرف لنشر إنشاء.

استخدام PowerShell

إنشاء نشر Service Fabric Compose من ملف docker-compose.yml عن طريق تشغيل الأمر التالي في PowerShell:

New-ServiceFabricComposeDeployment -DeploymentName TestContainerApp -Compose docker-compose.yml [-RegistryUserName <>] [-RegistryPassword <>] [-PasswordEncrypted]

RegistryUserName وRegistryPassword يشير إلى اسم المستخدم وكلمة المرور لتسجيل الحاوية. بعد الانتهاء من النشر، يمكنك التحقق من حالته باستخدام الأمر التالي:

Get-ServiceFabricComposeDeploymentStatus -DeploymentName TestContainerApp

لحذف إنشاء نشر من خلال PowerShell، استخدم الأمر التالي:

Remove-ServiceFabricComposeDeployment  -DeploymentName TestContainerApp

لبدء ترقية نشر Compose من خلال PowerShell، استخدم الأمر التالي:

Start-ServiceFabricComposeDeploymentUpgrade -DeploymentName TestContainerApp -Compose docker-compose-v2.yml -Monitored -FailureAction Rollback

لإعادة ترقية نشر Compose من خلال PowerShell، استخدم الأمر التالي:

Start-ServiceFabricComposeDeploymentRollback -DeploymentName TestContainerApp

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

Get-ServiceFabricComposeDeploymentUpgrade -DeploymentName TestContainerApp

استخدام Azure Service Fabric CLI (sfctl)

بدلًا من ذلك، يمكنك استخدام الأمر Service Fabric CLI التالي:

sfctl compose create --deployment-name TestContainerApp --file-path docker-compose.yml [ [ --user --encrypted-pass ] | [ --user --has-pass ] ] [ --timeout ]

بعد إنشاء النشر، يمكنك التحقق من حالته باستخدام الأمر التالي:

sfctl compose status --deployment-name TestContainerApp [ --timeout ]

لحذف نشر إنشاء، استخدم الأمر التالي:

sfctl compose remove  --deployment-name TestContainerApp [ --timeout ]

لبدء ترقية نشر إنشاء، استخدم الأمر التالي:

sfctl compose upgrade --deployment-name TestContainerApp --file-path docker-compose-v2.yml [ [ --user --encrypted-pass ] | [ --user --has-pass ] ] [--upgrade-mode Monitored] [--failure-action Rollback] [ --timeout ]

لإعادة ترقية نشر Compose استخدم الأمر التالي:

sfctl compose upgrade-rollback --deployment-name TestContainerApp [ --timeout ]

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

sfctl compose upgrade-status --deployment-name TestContainerApp

توجيهات الإنشاء المدعومة

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

  • الخدمات > نشر النسخ المتماثلة >
  • الخدمات > نشر > قيود التنسيب >
  • حدود موارد > توزيع > الخدمات >
    • -cpu-shares
    • -memory
    • -memory-swap
  • أوامر > الخدمات
  • بيئة > الخدمات
  • منافذ > الخدمات
  • نسخة > الخدمات
  • عزل > الخدمات (Windows فقط)
  • برنامج تشغيل > تسجيل > الخدمات
  • خيارات > برنامج تشغيل > تسجيل > الخدمات
  • وحدة التخزين ونشر > وحدة التخزين

قم بإعداد المجموعة لفرض حدود الموارد، كما هو موضح في إدارة موارد Service Fabric. جميع توجيهات Docker Compose الأخرى غير معتمدة لهذه المعاينة.

قسم المنافذ

حدد إما بروتوكول http أو https في قسم المنافذ الذي سيتم استخدامه بواسطة مستمع خدمة Service Fabric. سيضمن ذلك نشر بروتوكول نقطة النهاية بشكل صحيح مع خدمة التسمية للسماح للوكيل العكسي بإعادة توجيه الطلبات:

  • للتوجه إلى خدمات إنشاء بنية الخدمة غير الآمنة، حدد /http. على سبيل المثال، - "80:80 / http".
  • للتوجه إلى خدمات إنشاء بنية الخدمة غير الآمنة، حدد /http. على سبيل المثال، - "443:443/https".

إشعار

بناء جملة قسم منافذ /http و/https خاص بـService Fabric لتسجيل عنوان URL الصحيح لمستمع Service Fabric. إذا تم التحقق من صحة بناء جملة ملف إنشاء Docker برمجيًا، فقد يتسبب ذلك في حدوث خطأ في التحقق من الصحة.

ServiceDnsName computation

إذا كان اسم الخدمة الذي تحدده في ملف إنشاء هو اسم مجال مؤهل بالكامل (أي أنه يحتوي على نقطة [.])، فإن اسم DNS المسجل بواسطة Service Fabric هو <ServiceName> (بما في ذلك النقطة). إذا لم يكن الأمر كذلك، يصبح كل مقطع مسار في اسم التطبيق تسمية مجال في اسم DNS للخدمة، مع تحول مقطع المسار الأول إلى تسمية مجال المستوى الأعلى.

على سبيل المثال، إذا كان اسم التطبيق المحدد هو fabric:/SampleApp/MyComposeApp، فسيكون <ServiceName>.MyComposeApp.SampleApp اسم DNS المسجل.

إنشاء نشر (تعريف المثيل) مقابل نموذج تطبيق Service Fabric (تعريف النوع)

يصف ملف docker-compose.yml مجموعة من الحاويات القابلة للنشر، بما في ذلك خصائصها وتكويناتها. على سبيل المثال، يمكن أن يحتوي الملف على متغيرات البيئة والمنافذ. يمكنك أيضًا تحديد معلمات النشر، مثل قيود المواضع وحدود الموارد وأسماء DNS، في ملف docker-compose.yml.

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

على سبيل المثال، يمكن أن يكون لدى العميل A تطبيق تم إنشاؤه باستخدام النوع 1.0 من AppTypeA، ويمكن أن يكون لدى العميل B تطبيق آخر تم إنشاؤه بنفس النوع والإصدار. يمكنك تعريف أنواع التطبيقات في بيانات التطبيق، وتحديد اسم التطبيق ومعلمات النشر عند إنشاء التطبيق.

على الرغم من أن هذا النموذج يوفر المرونة، إلا أننا نخطط أيضًا لدعم نموذج نشر أبسط يستند إلى مثيل حيث تكون الأنواع ضمنية من ملف البيان. في هذا النموذج، يحصل كل تطبيق على بيان مستقل خاص به. نحن نقوم بمعاينة هذا الجهد عن طريق إضافة دعم لـdocker-compose.yml، وهو تنسيق نشر يستند إلى مثيل.

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