تحديث IoT Edge

ينطبق على:IoT Edge 1.4 checkmark IoT Edge 1.4

هام

IoT Edge 1.4 هو الإصدار المدعوم. إذا كنت تستخدم إصدارا سابقا، فشاهد تحديث IoT Edge.

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

يجب تحديث مكونين منطقيين لجهاز IoT Edge إذا كنت تريد الانتقال إلى إصدار أحدث.

  • النظام الفرعي للأمان - على الرغم من تغيير بنية النظام الفرعي للأمان بين الإصدارين 1.1 و1.2، فإن مسؤولياته ظلت كما هي. يتم تشغيله على الجهاز، ويعالج المهام المستندة إلى الأمان، ويبدأ الوحدات النمطية عند بدء تشغيل الجهاز. لا يمكن تحديث نظام الأمان الفرعي إلا من الجهاز نفسه.

  • وقت تشغيل IoT Edge - يتكون وقت تشغيل IoT Edge من الوحدات النمطية لمركز IoT Edge (edgeHub) وعامل IoT Edge (edgeAgent). اعتمادا على كيفية تنظيم التوزيع الخاص بك، يمكن تحديث وقت التشغيل إما من الجهاز أو عن بعد.

كيفية عمل التحديث

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

إصدارات التصحيح

عند الترقية بين إصدارات التصحيح ، على سبيل المثال 1.4.1 إلى 1.4.2، لا يكون ترتيب التحديث مهما. يمكنك ترقية نظام الأمان الفرعي أو حاويات وقت التشغيل قبل الآخر أو بعده. للتحديث بين إصدارات التصحيح:

  1. تحديث النظام الفرعي للأمان
  2. تحديث حاويات وقت التشغيل
  3. التحقق من تطابق الإصدارات

يمكنك استكشاف أخطاء عملية الترقية وإصلاحها في أي وقت.

الإصدارات الرئيسية أو الثانوية

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

  1. على الجهاز، أوقف IoT Edge باستخدام الأمر sudo systemctl stop iotedge وقم بإلغاء التثبيت.

  2. على الجهاز، قم بترقية محرك الحاوية، إما Docker أو Moby.

  3. على الجهاز، قم بتثبيت IoT Edge.

    إذا كنت تقوم باستيراد تكوين قديم باستخدام iotedge config import، فقم بتعديل صورة [agent.config] للملف الذي تم /etc/aziot/config.toml إنشاؤه لاستخدام الصورة 1.4 ل edgeAgent.

    لمزيد من المعلومات، راجع تكوين إعدادات جهاز IoT Edge.

  4. في IoT Hub، قم بتحديث نشر الوحدة النمطية للإشارة إلى أحدث وحدات النظام.

  5. على الجهاز، ابدأ تشغيل IoT Edge باستخدام sudo iotedge config apply.

يمكنك استكشاف أخطاء عملية الترقية وإصلاحها في أي وقت.

تحديث النظام الفرعي للأمان

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

تحقق من إصدار نظام الأمان الفرعي الذي يعمل على جهازك باستخدام الأمر iotedge version. إذا كنت تستخدم IoT Edge ل Linux على Windows، فأنت بحاجة إلى SSH في الجهاز الظاهري Linux للتحقق من الإصدار.

هام

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

على أجهزة Linux x64، استخدم apt-get أو مدير الحزم المناسب لتحديث النظام الفرعي للأمان إلى أحدث إصدار.

تحديث apt:

sudo apt-get update

إشعار

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

تحقق لمعرفة إصدارات IoT Edge المتوفرة:

apt list -a aziot-edge

تحديث IoT Edge:

sudo apt-get install aziot-edge defender-iot-micro-agent-edge

يؤدي تشغيل apt-get install aziot-edge إلى ترقية النظام الفرعي للأمان وتثبيت خدمة الهوية، aziot-identity-service، كتبعية مطلوبة.

يوصى بتثبيت العامل الصغير مع عامل Edge لتمكين مراقبة الأمان وتصلب أجهزة Edge. لمعرفة المزيد حول Microsoft Defender for IoT، راجع ما هو Microsoft Defender for IoT لمنشئي الأجهزة.

ثم أعد تطبيق التكوين لضمان تحديث النظام بالكامل.

sudo iotedge config apply

تحديث حاويات وقت التشغيل

تعتمد الطريقة التي تقوم بها بتحديث عامل IoT Edge وحاويات مركز IoT Edge على ما إذا كنت تستخدم علامات متجددة (مثل 1.1) أو علامات محددة (مثل 1.1.1) في النشر.

تحقق من إصدار عامل IoT Edge والوحدات النمطية لمركز IoT Edge حاليا على جهازك باستخدام الأوامر iotedge logs edgeAgent أو iotedge logs edgeHub. إذا كنت تستخدم IoT Edge ل Linux على Windows، فأنت بحاجة إلى SSH في الجهاز الظاهري Linux للتحقق من إصدارات وحدة وقت التشغيل.

Screenshot of where to find the container version in console logs.

فهم علامات IoT Edge

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

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

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

تحديث صورة علامة متجددة

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

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

docker rmi mcr.microsoft.com/azureiotedge-hub:1.1
docker rmi mcr.microsoft.com/azureiotedge-agent:1.1

قد تحتاج إلى استخدام علامة القوة -f لإزالة الصور.

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

تحديث صورة علامة معينة

إذا كنت تستخدم علامات معينة في النشر (على سبيل المثال، mcr.microsoft.com/azureiotedge-hub:1.4) فإن كل ما عليك القيام به هو تحديث العلامة في بيان التوزيع وتطبيق التغييرات على جهازك.

  1. في مركز IoT في مدخل Microsoft Azure، حدد جهاز IoT Edge، وحدد تعيين الوحدات النمطية.

  2. في علامة التبويب Modules، حدد Runtime الإعدادات.

    Screenshot that shows location of the Runtime Settings tab.

  3. في وقت التشغيل الإعدادات، قم بتحديث قيمة Image URI في قسم Edge Agent بالإصدار المطلوب. لا تحدد تطبيق بعد.

    Screenshot that shows where to update the image URI with your version in the Edge Agent.

  4. حدد علامة التبويب Edge Hub وقم بتحديث قيمة Image URI بنفس الإصدار المطلوب.

    Screenshot that shows where to update the image URI with your version in the Edge Hub.

  5. حدد تطبيق لحفظ التغييرات.

  6. حدد Review + create، وراجع التوزيع كما يظهر في ملف JSON، وحدد Create.

التحقق من تطابق الإصدارات

  1. على جهازك، استخدم iotedge version للتحقق من إصدار النظام الفرعي للأمان. يتضمن الإخراج أرقام الإصدارات الرئيسية والثانوية والمراجعة. على سبيل المثال، iotedge 1.4.2.

  2. في إعدادات وقت تشغيل نشر الجهاز، تحقق من تطابق إصدارات URI للصورة edgeHub وedgeAgent مع الإصدار الرئيسي والثانوي من نظام الأمان الفرعي. إذا كان إصدار النظام الفرعي للأمان هو 1.4.2، فإن إصدارات الصورة ستكون 1.4. على سبيل المثال، mcr.microsoft.com/azureiotedge-hub:1.4 mcr.microsoft.com/azureiotedge-agent:1.4.

إشعار

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

للعثور على أحدث إصدار من Azure IoT Edge، راجع إصدارات Azure IoT Edge.

حالة خاصة: التحديث من 1.0 أو 1.1 إلى أحدث إصدار

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

تتضمن بعض الاختلافات الرئيسية بين الإصدار الأخير والإصدار 1.1 والإصدارات السابقة ما يلي:

  • تم تغيير اسم الحزمة من iotedge إلى aziot-edge.
  • لم تعد حزمة libiothsm-std تستخدم. إذا استخدمت الحزمة القياسية المقدمة كجزء من إصدار IoT Edge، فيمكن نقل التكوينات الخاصة بك إلى الإصدار الجديد. إذا استخدمت تنفيذا مختلفا ل libiothsm-std، فيجب إعادة تكوين أي شهادات يوفرها المستخدم مثل شهادة هوية الجهاز و CA للجهاز وحزمة الثقة.
  • تم تقديم خدمة هوية جديدة، aziot-identity-service كجزء من الإصدار 1.2. تعالج هذه الخدمة توفير الهوية وإدارتها ل IoT Edge ومكونات الأجهزة الأخرى التي تحتاج إلى الاتصال ب IoT Hub، مثل Device Update ل IoT Hub.
  • يحتوي ملف التكوين الافتراضي على اسم وموقع جديدين. سابقا /etc/iotedge/config.yaml، من المتوقع الآن أن تكون معلومات تكوين جهازك قيد /etc/aziot/config.toml التشغيل بشكل افتراضي. iotedge config import يمكن استخدام الأمر للمساعدة في ترحيل معلومات التكوين من الموقع القديم وبناء الجملة إلى الموقع الجديد.
    • لا يمكن لأمر الاستيراد الكشف عن قواعد الوصول إلى الوحدة النمطية للنظام الأساسي الموثوق به (TPM) أو تعديلها. إذا كان جهازك يستخدم شهادة TPM، فأنت بحاجة إلى تحديث ملف /etc/udev/rules.d/tpmaccess.rules يدويا لمنح حق الوصول إلى خدمة aziottpm. لمزيد من المعلومات، راجع منح IoT Edge حق الوصول إلى TPM.
  • تحفظ واجهة برمجة تطبيقات حمل العمل في أحدث إصدار البيانات السرية المشفرة بتنسيق جديد. إذا قمت بالترقية من إصدار أقدم إلى أحدث إصدار، يتم استيراد مفتاح التشفير الرئيسي الموجود. يمكن لواجهة برمجة تطبيقات حمل العمل قراءة البيانات السرية المحفوظة بالتنسيق السابق باستخدام مفتاح التشفير المستورد. ومع ذلك، لا يمكن لواجهة برمجة تطبيقات حمل العمل كتابة أسرار مشفرة بالتنسيق القديم. بمجرد إعادة تشفير وحدة نمطية للبيانات السرية، يتم حفظها بالتنسيق الجديد. البيانات السرية المشفرة في الإصدار الأخير غير قابلة للقراءة بواسطة نفس الوحدة النمطية في الإصدار 1.1. إذا استمر ظهور البيانات المشفرة إلى مجلد أو وحدة تخزين مثبتة على المضيف، فبادر دائما بإنشاء نسخة احتياطية من البيانات قبل الترقية للاحتفاظ بالقدرة على الرجوع إلى إصدار سابق إذا لزم الأمر.
  • للتوافق مع الإصدارات السابقة عند توصيل الأجهزة التي لا تدعم TLS 1.2، يمكنك تكوين Edge Hub لقبول TLS 1.0 أو 1.1 عبر متغير بيئة SslProtocols. يعتبر دعم TLS 1.0 و1.1 في IoT Hub قديما وقد تتم إزالته أيضا من Edge Hub في الإصدارات المستقبلية.  لتجنب المشكلات المستقبلية، استخدم TLS 1.2 كإصدار TLS الوحيد عند الاتصال ب Edge Hub أو IoT Hub.
  • انتهت معاينة وسيط MQTT التجريبي في Edge Hub 1.2 ولم يتم تضمينها في Edge Hub 1.4. نحن نواصل تحسين خططنا لوسيط MQTT استنادا إلى الملاحظات الواردة. في غضون ذلك، إذا كنت بحاجة إلى وسيط MQTT متوافق مع المعايير على IoT Edge، ففكر في نشر وسيط مفتوح المصدر مثل Mosquitto كوحدة IoT Edge.
  • بدءا من الإصدار 1.2، عند إزالة صورة دعم من حاوية، تستمر الحاوية في التشغيل وتستمر عبر عمليات إعادة التشغيل. في 1.1، عند إزالة صورة دعم، يتم إعادة إنشاء الحاوية على الفور وتحديث صورة النسخة الاحتياطية.

قبل أتمتة أي عمليات تحديث، تحقق من أنه يعمل على أجهزة الاختبار.

عندما تكون مستعدا، اتبع هذه الخطوات لتحديث IoT Edge على أجهزتك:

  1. تحديث apt.

    sudo apt-get update
    
  2. قم بإلغاء تثبيت الإصدار السابق من IoT Edge، تاركا ملفات التكوين الخاصة بك في مكانها.

    sudo apt-get remove iotedge
    
  3. قم بتثبيت أحدث إصدار من IoT Edge، جنبا إلى جنب مع خدمة هوية IoT وMicrosoft Defender لعامل IoT الصغير ل Edge.

    sudo apt-get install aziot-edge defender-iot-micro-agent-edge
    

يوصى بتثبيت العامل الصغير مع عامل Edge لتمكين مراقبة الأمان وتصلب أجهزة Edge. لمعرفة المزيد حول Microsoft Defender for IoT، راجع ما هو Microsoft Defender for IoT لمنشئي الأجهزة.

  1. استيراد ملف config.yaml القديم إلى تنسيقه الجديد، وتطبيق معلومات التكوين.

    sudo iotedge config import
    

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

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

يمكنك عرض سجلات النظام في أي وقت عن طريق تشغيل الأوامر التالية من جهازك.

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

    sudo iotedge check --verbose
    
  • لعرض حالة نظام IoT Edge، قم بتشغيل:

    sudo iotedge system status 
    
  • لعرض سجلات مكونات المضيف، قم بتشغيل:

    sudo iotedge system logs
    
  • للتحقق من وجود مشكلات متكررة تم الإبلاغ عنها مع edgeAgent وedgeHub، قم بتشغيل:

    تأكد من استبدال <module> باسم الوحدة النمطية الخاصة بك. إذا لم تكن هناك مشكلات، فلن ترى أي إخراج.

    sudo iotedge logs <module>
    

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

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

عرض أحدث إصدارات Azure IoT Edge.

البقاء على اطلاع دائم بالتحديثات والإعلانات الأخيرة في مدونة إنترنت الأشياء