الاستعداد لنشر حل IoT Edge في الإنتاج

ينطبق على:yes icon IoT الحافة 1.1 إصدارات أخرى:IoT الحافة 1.2

ينطبق على:yes icon IoT الحافة 1.2 إصدارات أخرى:IoT الحافة 1.1

عندما تكون مستعدا لنقل حل IoT Edge من التطوير إلى الإنتاج، تأكد من أنه تم تكوينه للأداء المستمر.

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

تكوين الجهاز

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

  • هام

    • قم بتثبيت شهادات الإنتاج
    • لديك خطة إدارة الأجهزة
    • استخدم Moby كمحرك الحاوية
  • نافع

    • اختيار بروتوكول المصدر

قم بتثبيت شهادات الإنتاج

يحتاج كل جهاز IoT Edge قيد الإنتاج إلى تثبيت شهادة مرجع مصدق للجهاز عليه. ثم يتم تعريف شهادة المرجع المصدق إلى وقت التشغيل IoT Edge في ملف التكوين. لسيناريوهات التطوير والاختبار، وقت تشغيل IoT Edge بإنشاء شهادات مؤقتة إذا لم يتم تعريف أية شهادات في ملف التكوين. مع ذلك، تنتهي صلاحية هذه الشهادات المؤقتة بعد ثلاثة أشهر وهي غير آمنة لسيناريوهات الإنتاج. بالنسبة لسيناريوهات الإنتاج، يجب توفير شهادة المرجع المصدق للجهاز الخاص بك، إما من مرجع مصدق موقع ذاتيا أو تم شراؤه من مرجع مصدق تجاري.

ملاحظة

حاليا، يمنع تقييد libiothsm استخدام الشهادات التي تنتهي صلاحيتها في 1 يناير 2038 أو بعده.

لفهم دور شهادة المرجع المصدق للجهاز، راجع كيفية استخدام Azure IoT Edge للشهادات.

لمزيد من المعلومات حول كيفية تثبيت الشهادات على جهاز IoT Edge والإشارة إليها من ملف التكوين، راجع إدارة الشهادة على جهاز IoT Edge.

لديك خطة إدارة الأجهزة

قبل أن تضع أي جهاز قيد الإنتاج، يجب أن تعرف كيف ستدير التحديثات المستقبلية. بالنسبة لجهاز IoT Edge، قد تتضمن قائمة المكونات التي سيتم تحديث ما يلي:

  • برنامج ثابت للجهاز
  • مكتبات نظام التشغيل
  • محرك حاوية، مثل موبي
  • IoT Edge
  • شهادات المرجع المصدق

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

استخدم Moby كمحرك الحاوية

يعد محرك الحاوية شرطا أساسيا لأي جهاز IoT Edge. يتم دعم محرك moby فقط في الإنتاج. تعمل محركات الحاويات الأخرى، مثل Docker، مع IoT Edge ولا بأس في استخدام هذه المحركات للتطوير. يمكن إعادة توزيع المحرك المحمول عند استخدامه مع Azure IoT Edge، وتوفر Microsoft خدمة لهذا المحرك.

اختيار بروتوكول المصدر

يمكنك تكوين البروتوكول (الذي يحدد المنفذ المستخدم) للاتصالات upstream إلى IoT Hub لكل من عامل IoT Edge و مركز IoT Edge. البروتوكول الافتراضي هو AMQP، ولكن قد ترغب في تغيير ذلك اعتمادا على إعداد الشبكة.

تحتوي كلتا الوحدتين النمطية لوقت التشغيل على متغير بيئة UpstreamProtocol . القيم صالحة للمتغير هي:

  • MQTT
  • AMQP
  • MQTTWS
  • AMQPWS

تكوين متغير UpstreamProtocol عامل IoT Edge في ملف التكوين على الجهاز نفسه. على سبيل المثال، إذا كان جهاز IoT Edge الخاص بك خلف خادم عامل يحظر منافذ AMQP، فقد تحتاج إلى تكوين وكيل IoT Edge لاستخدام AMQP عبر WebSocket (AMQPWS) لإنشاء الاتصال الأولي بـ IoT Hub.

بمجرد اتصال جهاز IoT Edge الخاص بك، تأكد من متابعة تكوين متغير UpstreamProtocol لكل من وحدات وقت التشغيل في عمليات التوزيع المستقبلية. يتم توفير مثال لهذه العملية في تكوين جهاز IoT Edge للاتصال من خلال ملقم وكيل.

توزيع

  • نافع
    • الاتساق مع بروتوكول المصدر
    • إعداد تخزين مضيف لوحدات النظام
    • تقليل مساحة الذاكرة المستخدمة من قبل لوحة وصل IoT Edge
    • لا تستخدم إصدارات تصحيح صور الوحدة النمطية

الاتساق مع بروتوكول المصدر

إذا قمت بتكوين عامل IoT Edge على جهاز IoT Edge الخاص بك لاستخدام بروتوكول مختلف عن AMQP الافتراضي، فيجب عليك إعلان نفس البروتوكول في جميع عمليات التوزيع المستقبلية. على سبيل المثال، إذا كان جهاز IoT Edge الخاص بك خلف خادم عامل يحظر منافذ AMQP، فمن المحتمل أنك قمت بتكوين الجهاز للاتصال عبر AMQP عبر WebSocket (AMQPWS). عند توزيع وحدات على الجهاز، قم بتكوين نفس بروتوكول AMQPWS لعامل IoT Edge و IoT Edge، وإلا فإن AMQP الافتراضي سوف يتجاوز الإعدادات ويمنعك من الاتصال مرة أخرى.

ما عليك سوى تكوين متغير البيئة UpstreamProtocol لعامل IoT Edge ووحدات محور IoT Edge. تعتمد أية وحدات نمطية إضافية أي بروتوكول يتم تعيينه في الوحدات النمطية وقت التشغيل.

يتم توفير مثال لهذه العملية في تكوين جهاز IoT Edge للاتصال من خلال ملقم وكيل.

إعداد تخزين مضيف لوحدات النظام

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

لمزيد من المعلومات، راجع التخزين المضيف للوحدات النمطية للنظام.

تقليل مساحة الذاكرة المستخدمة بواسطة IoT Edge Hub

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

عدم تحسين الأداء على الأجهزة المقيدة

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

عند تعيين الأداء الأمثل إلى true، يستخدم رئيس بروتوكول MQTT PooledByteBufferAllocator، الذي يحتوي على أداء أفضل ولكنه يخصص ذاكرة أكثر. لا يعمل المخصص بشكل جيد على أنظمة التشغيل 32 بت أو على الأجهزة ذات الذاكرة المنخفضة. بالإضافة إلى ذلك، عند تحسين الأداء، يخصص RocksDb ذاكرة أكثر لدوره كموفر تخزين محلي.

لمزيد من المعلومات، راجع مشكلات الاستقرار على الأجهزة الصغيرة.

تعطيل البروتوكولات غير المستخدمة

طريقة أخرى لتحسين أداء لوحة وصل IoT Edge وتقليل استخدام الذاكرة الخاصة به هي إيقاف تشغيل رؤوس البروتوكول لأي بروتوكولات لا تستخدمها في الحل.

يتم تكوين رؤوس البروتوكول عن طريق تعيين متغيرات البيئة المنطقية لوحدة وصل IoT Edge في بيانات النشر الخاصة بك. المتغيرات الثلاثة هي:

  • amqpSettings__enabled
  • mqttSettings__enabled
  • httpSettings__enabled

تحتوي المتغيرات الثلاثة على اثنين من تسطير أسفل السطر ويمكن تعيينها إلى صواب أو خطأ.

تقليل وقت التخزين للرسائل

الوحدة النمطية لوحة الوصل IoT Edge بتخزين الرسائل مؤقتا إذا لم يتم تسليمها إلى IoT Hub لأي سبب من الأسباب. يمكنك تكوين المدة التي يحتفظ بها مركز IoT Edge بالرسائل التي لم يتم تسليمها قبل السماح لها بانتهاء صلاحيتها. إذا كان لديك مخاوف الذاكرة على جهازك، يمكنك تقليل قيمة TimeToLiveSecs في وحدة وصل IoT Edge الوحدة النمطية التوأم.

القيمة الافتراضية للمعلمة TimeToLiveSecs هي 7200 ثانية، وهي ساعتين.

لا تستخدم إصدارات تصحيح صور الوحدة النمطية

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

إدارة الحاويات

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

استخدم علامات لإدارة الإصدارات

العلامة هي مفهوم عامل إرساء يمكنك استخدامه للتمييز بين إصدارات حاويات عامل الإرساء. العلامات هي لاحقات مثل 1.1 التي تذهب في نهاية مستودع الحاويات. على سبيل المثال، mcr.microsoft.com/azureiotedge-agent:1.1. العلامات قابلة للتغيير ويمكن تغييرها للإشارة إلى حاوية أخرى في أي وقت، لذلك يجب أن يتفق فريقك على اتفاقية يجب اتباعها أثناء تحديث صور الوحدة الخاصة بك للمضي قدما.

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

علامات وقت تشغيل IoT Edge

يتم تمييز صور عامل IoT Edge وصور IoT Edge hub بإصدار IoT Edge المرتبط بهما. هناك طريقتان مختلفتان لاستخدام العلامات مع نسح وقت التشغيل:

  • العلامات المتداولة - استخدم القيمتين الأوليين فقط من رقم الإصدار للحصول على أحدث صورة تطابق هذه الأرقام. على سبيل المثال، تحديث 1.1 كلما كان هناك إصدار جديد للإشارة إلى أحدث إصدار 1.1.x. إذا كان وقت تشغيل الحاوية على جهاز IoT Edge يسحب الصورة مرة أخرى، يتم تحديث وحدات وقت التشغيل إلى أحدث إصدار. عمليات التوزيع من مدخل Microsoft Azure الافتراضي إلى المتداول العلامات. يقترح هذا النهج لأغراض التنمية.

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

تخزين حاويات وقت التشغيل في السجل الخاص بك

أنت تعرف عن تخزين الصور حاوية لوحدات التعليمات البرمجية المخصصة في التسجيل Azure الخاص بك، ولكن يمكنك أيضا استخدامه لتخزين صور الحاوية العامة مثل لوحدات وقت التشغيل edgeAgent وedgHub. قد يكون القيام بذلك مطلوبا إذا كان لديك قيود جدار حماية ضيقة جدا كما يتم تخزين حاويات وقت التشغيل هذه في "تسجيل حاويات Microsoft" (MCR).

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

حاوية وقت التشغيل IoT Edge دوكر سحب الأمر
وكيل حافة آيوت أزور docker pull mcr.microsoft.com/azureiotedge-agent:<VERSION_TAG>
مركز حافة IoT Azure docker pull mcr.microsoft.com/azureiotedge-hub:<VERSION_TAG>

بعد ذلك، تأكد من تحديث مراجع الصور في ملف deployment.template.json للوحدات النمطية لنظام edgeAgent و edgeHub. استبدال mcr.microsoft.com اسم التسجيل الخاص بك وملقم لكل من الوحدات النمطية.

  • إيدججنت:

    "image": "<registry name and server>/azureiotedge-agent:1.1",

  • إيدج هوب:

    "image": "<registry name and server>/azureiotedge-hub:1.1",

الشبكات

  • نافع
    • مراجعة التكوين الصادر / الوارد
    • السماح باتصالات من أجهزة IoT Edge
    • تكوين الاتصال من خلال الوكيل

مراجعة التكوين الصادر / الوارد

يتم دائمًا تكوين قنوات الاتصال بين Azure IoT Hub و IoT Edge لتكون صادرة. بالنسبة لمعظم سيناريوهات IoT Edge، لا يلزم سوى ثلاثة اتصالات. يحتاج محرك الحاوية إلى الاتصال بسجل الحاوية (أو السجلات) الذي يحتفظ بنسخة الوحدة. يحتاج وقت تشغيل IoT Edge إلى الاتصال بـ IoT Hub لاسترداد معلومات تكوين الجهاز وإرسال الرسائل والقياس عن بُعد. وإذا كنت تستخدم التوفير التلقائي، فإن IoT Edge تحتاج إلى الاتصال بخدمة توفير الأجهزة. لمزيد من المعلومات، راجع جدار الحماية وقواعد تكوين المنفذ.

السماح باتصالات من أجهزة IoT Edge

إذا تطلب إعداد الشبكة أن تسمح صراحة بالاتصالات التي يتم إجراؤها من أجهزة IoT Edge، فراجع القائمة التالية لمكونات IoT Edge:

  • وكيل IoT Edge يفتح اتصال AMQP/MQTT المستمر إلى مركز إنترنت أو إنترنت، ربما عبر WebSockets.
  • يفتح مركز IoT Edge اتصال AMQP ثابت واحد أو اتصالات MQTT متعددة إلى مركز إنترنت أو إنترنت، ربما عبر WebSockets.
  • تقوم خدمة IoT Edge بإجراء مكالمات HTTPS متقطعة إلى مركز IoT.

في الحالات الثلاث كافة، يطابق اسم DNS النمط *.azure-devices.net.

بالإضافة إلى ذلك، مشغل حاوية بإجراء مكالمات إلى سجلات الحاويات عبر HTTPS. لاسترداد نسخ حاوية وقت التشغيل IoT Edge، يتم mcr.microsoft.com اسم DNS. يتصل محرك الحاوية بالسجلات الأخرى كما تم تكوينها في التوزيع.

قائمة الاختيار هذه هي نقطة بداية لقواعد جدار الحماية:

URL (* = بدل البدل) منافذ TCP الصادرة الاستخدام
mcr.microsoft.com 443 سجل حاويات Microsoft
global.azure-devices-provisioning.net 443 DPS الوصول (اختياري)
*.azurecr.io 443 سجلات الحاويات الشخصية وسجلات الحاويات التابعة لجهات خارجية
*.blob.core.windows.net 443 تحميل دلتا الصور Azure تسجيل حاوية من تخزين blob
*.azure-devices.net 5671, 8883, 443 وصول مركز IoT
*.docker.io 443 وصول Docker Hub (اختياري)

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

ملاحظة

لتوفير FQDN متناسقة بين REST و نقاط نهاية البيانات، ابتداء من 15 يونيو 2020 سيتم تغيير نقطة نهاية بيانات تسجيل حاويات Microsoft من إلى *.data.mcr.microsoft.com
لمزيد من المعلومات، راجع تكوين قواعد جدار حماية عميل "تسجيل حاويات Microsoft"

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

تكوين الاتصال من خلال الوكيل

إذا كانت الأجهزة الخاصة بك سيتم توزيعها على شبكة تستخدم خادم الوكيل، فإنها تحتاج إلى أن تكون قادرة على الاتصال من خلال الوكيل للوصول إلى IoT Hub وسجلات الحاويات. لمزيد من المعلومات، راجع تكوين جهاز IoT Edge للاتصال من خلال خادم وكيل.

إدارة الحل

  • نافع
    • قم بإعداد السجلات والتشخيصات
    • ضع حدود على حجم السجل
    • ضع في اعتبارك الاختبارات والبنية الأساسية لبرنامج ربط العمليات التجارية CI / CD

قم بإعداد السجلات والتشخيصات

في نظام Linux، يستخدم برنامج IoT Edge الخفي المجلات باعتباره محرك التسجيل الافتراضي. يمكنك استخدام أداة سطر الأوامرjournalctl للاستعلام عن سجلات البرنامج الخفي.

في نظام التشغيل Windows، يستخدم البرنامج الخفي لـ IoT Edge تشخيصات PowerShell. استخدم Get-IoTEdgeLog للاستعلام عن السجلات من البرنامج الخفي. تستخدم وحدات IoT Edge برنامج تشغيل JSON للتسجيل، وهو الإعداد الافتراضي.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

بدءا من الإصدار 1.2، يعتمد IoT Edge على عدة برامج. بينما يمكن الاستعلام عن سجلات كل من الخفي بشكل فردي مع journalctl ، iotedge system توفر الأوامر طريقة ملائمة للاستعلام عن السجلات المجمعة.

  • الأمر iotedge الموحد:

    sudo iotedge system logs
    
  • journalctlالأمر المكافئ:

    journalctl -u aziot-edge -u aziot-identityd -u aziot-keyd -u aziot-certd -u aziot-tpmd
    

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

ضع حدود على حجم السجل

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

الخيار: تعيين الحدود العمومية التي تنطبق على كافة وحدات الحاوية

يمكنك تحديد حجم كافة ملفات سجل الحاوية في خيارات سجل مشغل الحاوية. المثال التالي بتعيين برنامج تشغيل السجل إلى json-file (مستحسن) مع حدود على حجم وعدد الملفات:

{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "10m",
        "max-file": "3"
    }
}

إضافة (أو إلحاق) هذه المعلومات إلى ملف مسمى daemon.json ووضعها في الموقع التالي:

النظام الأساسي ‏‏الموقع
Linux /etc/docker/
Windows C:\ProgramData\iotedge-moby\config\
  • /etc/docker/

يجب إعادة تشغيل مشغل الحاوية لتصبح التغييرات نافذة المفعول.

الخيار: ضبط إعدادات السجل لكل وحدة حاوية

يمكنك القيام بذلك في createOptions من كل وحدة نمطية. على سبيل المثال:

"createOptions": {
    "HostConfig": {
        "LogConfig": {
            "Type": "json-file",
            "Config": {
                "max-size": "10m",
                "max-file": "3"
            }
        }
    }
}

خيارات إضافية على أنظمة لينكس

  • تكوين مشغل الحاوية لإرسال سجلات إلى systemdsystemd عن طريق تعيين journald برنامج تشغيل تسجيل الافتراضي.

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

    /var/lib/docker/containers/*/*-json.log{
         copytruncate
         daily
         rotate7
         delaycompress
         compress
         notifempty
         missingok
    }
    

ضع في اعتبارك الاختبارات والبنية الأساسية لبرنامج ربط العمليات التجارية CI / CD

للحصول على سيناريو توزيع IoT Edge الأكثر كفاءة، ضع في اعتبارك دمج توزيع الإنتاج في البنية الأساسية لبرنامج ربط العمليات التجارية الاختبار و CI / CD. يدعم Azure IoT Edge العديد من منصات CI / CD، بما في ذلك Azure DevOps. لمزيد من المعلومات، راجع التكامل المستمر والنشر المستمر إلى Azure IoT Edge.

الاعتبارات الأمنية

  • هام
    • إدارة الوصول إلى سجل الحاوية
    • تقييد وصول الحاوية إلى موارد المضيف

إدارة الوصول إلى سجل الحاوية

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

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

للحصول على وصول أكثر أمنا إلى التسجيل الخاص بك، لديك خيار من خيارات المصادقة. المصادقة الشائعة والموصى بها هي استخدام أساس خدمة Active Directory المناسب تماما للتطبيقات أو الخدمات لسحب صور الحاويات بطريقة تلقائية أو غير مراقبة (مقطوعة الرأس) ، كما تفعل أجهزة IoT Edge. خيار آخر هو استخدام الرموز المميزة ذات النطاق المستودعي، والتي تسمح لك بإنشاء هويات طويلة أو قصيرة العيش موجودة فقط في سجل حاويات Azure التي تم إنشاؤها في ونطاق الوصول إلى مستوى المستودع.

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

  • البرنامج النصي الأول بإنشاء أساس الخدمة. إخراج معرف الخدمة الأساسي وكلمة المرور الأساسية الخدمة. قم بتخزين هذه القيم بشكل آمن في سجلاتك.

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

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

  • بالنسبة لاسم المستخدم أو معرف العميل، حدد معرف الخدمة الأساسي.

  • لكلمة المرور أو العميل السري، حدد كلمة المرور الأساسية للخدمة.


لإنشاء رموز مميزة ذات نطاق مستودع، يرجى اتباع إنشاء رمز مميز ذو نطاق مستودع.

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

  • بالنسبة لاسم المستخدم، حدد اسم المستخدم الخاص بالرمز المميز.

  • بالنسبة لكلمة المرور، حدد إحدى كلمات مرور الرمز المميز.

ملاحظة

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

تقييد وصول الحاوية إلى موارد المضيف

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

Docker يوفر بعض القيود التي يمكنك استخدامها للحد من الموارد مثل الذاكرة واستخدام وحدة المعالجة المركزية. لمزيد من المعلومات، راجع خيارات وقت التشغيل مع الذاكرة وحدات المعالجة المعالجة بالاتصالات و وحدات المعالجة العامة.

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

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