تحديث IoT Edge
ينطبق على: IoT Edge 1.1
هام
كان تاريخ انتهاء دعم IoT Edge 1.1 هو 13 ديسمبر 2022. تحقق من دورة حياة المنتج من Microsoft للحصول على معلومات حول كيفية دعم هذا المنتج أو الخدمة أو التقنية أو API. لمزيد من المعلومات حول التحديث إلى أحدث إصدار من IoT Edge، راجع تحديث IoT Edge.
نظرا لأن خدمة IoT Edge تصدر إصدارات جديدة، فسترغب في تحديث أجهزة IoT Edge للحصول على أحدث الميزات وتحسينات الأمان. توفر هذه المقالة معلومات حول كيفية تحديث أجهزة IoT Edge عند توفر إصدار جديد.
يجب تحديث مكونين منطقيين لجهاز IoT Edge إذا كنت تريد الانتقال إلى إصدار أحدث. الأول هو النظام الفرعي للأمان. على الرغم من أن بنية النظام الفرعي للأمان تغيرت بين الإصدارين 1.1 و1.2، فإن مسؤولياته العامة ظلت كما هي. يتم تشغيله على الجهاز، ويعالج المهام المستندة إلى الأمان، ويبدأ الوحدات النمطية عند بدء تشغيل الجهاز. حاليا، لا يمكن تحديث نظام الأمان الفرعي إلا من الجهاز نفسه. المكون الثاني هو وقت التشغيل، المكون من مركز IoT Edge والوحدات النمطية لعامل IoT Edge. اعتمادا على كيفية هيكلة التوزيع الخاص بك، يمكن تحديث وقت التشغيل من الجهاز أو عن بعد.
يجب تحديث وقت تشغيل IoT Edge، وتستخدم طبقات التطبيق نفس إصدار الإصدار. بينما يتم دعم الإصدارات غير المتطابقة، لا يتم اختبارها معا. استخدم الأقسام التالية في هذه المقالة لتحديث كل من وقت التشغيل وطبقات التطبيق على جهاز:
- تحديث النظام الفرعي للأمان
- تحديث حاويات وقت التشغيل
- التحقق من تطابق الإصدارات
- على جهازك، استخدم
iotedge version
للتحقق من إصدار النظام الفرعي للأمان. يتضمن الإخراج أرقام الإصدارات الرئيسية والثانوية والمراجعة. على سبيل المثال، iotedge 1.4.2. - في إعدادات وقت تشغيل نشر الجهاز، تحقق من تطابق إصدارات edgehub وedgeagent image URI مع الإصدار الرئيسي والثانوي من نظام الأمان الفرعي. إذا كان إصدار النظام الفرعي للأمان هو 1.4.2، فإن إصدارات الصورة ستكون 1.4. على سبيل المثال، mcr.microsoft.com/azureiotedge-hub:1.4 mcr.microsoft.com/azureiotedge-agent:1.4.
- على جهازك، استخدم
للعثور على أحدث إصدار من Azure IoT Edge، راجع إصدارات Azure IoT Edge.
تحديث النظام الفرعي للأمان
يتضمن النظام الفرعي لأمان 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 iotedge
إذا كنت تريد التحديث إلى أحدث إصدار من الوحدة النمطية لوقت التشغيل، فاستخدم الأمر التالي، والذي يقوم أيضا بتحديث libiothsm-std إلى أحدث إصدار:
sudo apt-get install iotedge
إذا كنت ترغب في التحديث إلى إصدار معين من وحدة وقت التشغيل، فحدد الإصدار من إخراج القائمة apt. كلما تم تحديث iotedge ، فإنه يحاول تلقائيا تحديث حزمة libiothsm-std إلى أحدث إصدار لها، مما قد يسبب تعارضا في التبعية. إذا كنت لا تنتقل إلى أحدث إصدار، فتأكد من استهداف كلتا الحزمتين لنفس الإصدار. على سبيل المثال، يقوم الأمر التالي بتثبيت إصدار معين من الإصدار 1.1:
sudo apt-get install iotedge=1.1.1 libiothsm-std=1.1.1
إذا لم يكن الإصدار الذي تريد تثبيته متوفرا من خلال apt-get، يمكنك استخدام curl لاستهداف أي إصدار من مستودع إصدارات IoT Edge. لأي إصدار تريد تثبيته، حدد موقع ملفات libiothsm-std وiotedge المناسبة لجهازك. لكل ملف، انقر بزر الماوس الأيمن فوق ارتباط الملف وانسخ عنوان الارتباط. استخدم عنوان الارتباط لتثبيت الإصدارات المحددة من هذه المكونات:
curl -L <libiothsm-std link> -o libiothsm-std.deb && sudo apt-get install ./libiothsm-std.deb
curl -L <iotedge link> -o iotedge.deb && sudo apt-get install ./iotedge.deb
ثم أعد تطبيق التكوين لضمان تحديث النظام بالكامل.
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 للتحقق من إصدارات وحدة وقت التشغيل.
فهم علامات 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.1.1) فإن كل ما عليك القيام به هو تحديث العلامة في بيان التوزيع وتطبيق التغييرات على جهازك.
في مركز IoT في مدخل Microsoft Azure، حدد جهاز IoT Edge، وحدد تعيين الوحدات النمطية.
في قسم IoT Edge Modules ، حدد Runtime Settings.
في إعدادات وقت التشغيل، قم بتحديث قيمة الصورة ل Edge Hub بالإصدار المطلوب. لا تحدد حفظ بعد.
طي إعدادات Edge Hub، أو التمرير لأسفل، وتحديث قيمة الصورة ل Edge Agent بنفس الإصدار المطلوب.
حدد حفظ.
حدد Review + create، وراجع التوزيع، وحدد Create.
حالة خاصة: التحديث من 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.3 أو أحدث. نحن نواصل تحسين خططنا لوسيط MQTT استنادا إلى الملاحظات الواردة. في غضون ذلك، إذا كنت بحاجة إلى وسيط MQTT متوافق مع المعايير على IoT Edge، ففكر في نشر وسيط مفتوح المصدر مثل Mosquitto كوحدة IoT Edge.
- بدءا من الإصدار 1.2، عند إزالة صورة دعم من حاوية، تستمر الحاوية في التشغيل وتستمر عبر عمليات إعادة التشغيل. في 1.1، عند إزالة صورة دعم، يتم إعادة إنشاء الحاوية على الفور وتحديث صورة النسخة الاحتياطية.
قبل أتمتة أي عمليات تحديث، تحقق من أنه يعمل على أجهزة الاختبار.
عندما تكون مستعدا، اتبع هذه الخطوات لتحديث IoT Edge على أجهزتك:
تحديث apt.
sudo apt-get update
قم بإلغاء تثبيت الإصدار السابق من IoT Edge، تاركا ملفات التكوين الخاصة بك في مكانها.
sudo apt-get remove iotedge
قم بتثبيت أحدث إصدار من 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 لمنشئي الأجهزة.
استيراد ملف config.yaml القديم إلى تنسيقه الجديد، وتطبيق معلومات التكوين.
sudo iotedge config import
الآن بعد أن تم تحديث خدمة IoT Edge التي تعمل على أجهزتك، اتبع الخطوات الواردة في هذه المقالة لتحديث حاويات وقت التشغيل أيضا.
الخطوات التالية
عرض أحدث إصدارات Azure IoT Edge.
البقاء على اطلاع دائم بالتحديثات والإعلانات الأخيرة في مدونة إنترنت الأشياء