استكشاف مشكلات IoT Edge وإصلاحها على جهاز Azure Stack Edge Pro GPU
ينطبق على: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
توضح هذه المقالة كيفية استكشاف الأخطاء المتعلقة بالحساب وإصلاحها على جهاز Azure Stack Edge Pro GPU من خلال مراجعة استجابات وقت التشغيل لعامل IoT Edge والأخطاء لخدمة IoT Edge المثبتة على جهازك.
مراجعة استجابات وقت تشغيل IoT Edge
استخدم استجابات وقت تشغيل عامل IoT Edge لاستكشاف الأخطاء المتعلقة بالحوسبة وإصلاحها. فيما يلي قائمة بالردود الممكنة:
- 200 – حسناً
- 400 - تكوين التوزيع تالف أو غير صالح.
- 417 - الجهاز ليس لديه مجموعة تكوين التوزيع.
- 412- إصدار المخطط في تكوين التوزيع غير صالح.
- 406 - جهاز مزود بـIoT Edge غير متصل أو لا يرسل تقارير الحالة.
- 500 - حدث خطأ في وقت تشغيل IoT Edge.
لمزيد من المعلومات، راجع عامل IoT Edge.
استكشاف أخطاء خدمة IoT Edge وإصلاحها
ترتبط الأخطاء التالية بخدمة IoT Edge على جهاز Azure Stack Edge Pro GPU.
الوحدات النمطية للحساب لها حالة غير معروفة ولا يمكن استخدامها
وصف الخطأ
تظهر جميع الوحدات النمطية على الجهاز حالة غير معروفة ولا يمكن استخدامها. تستمر الحالة غير المعروفة من خلال إعادة التشغيل.
الحل المُقترح
احذف خدمة IoT Edge، ثم أعد نشر الوحدة (الوحدات). لمزيد من المعلومات، راجع إزالة خدمة IoT Edge.
تظهر الوحدات النمطية على أنها قيد التشغيل ولكنها لا تعمل
وصف الخطأ
تظهر حالة وقت التشغيل للوحدة النمطية على أنها قيد التشغيل، ولكنك لا ترى النتائج المتوقعة.
قد يكون سبب هذا الشرط تكوين مسار وحدة نمطية لا يعمل، أو edgehub
قد لا يكون توجيه الرسائل كما هو متوقع. يمكنك التحقق من edgehub
السجلات. إذا رأيت أخطاء مثل الفشل في الاتصال بخدمة IoT Hub، فإن السبب الأكثر شيوعا هو مشكلات الاتصال. قد تحدث مشكلات الاتصال لأن منفذ AMPQ الذي تستخدمه خدمة IoT Hub كمنفذ افتراضي للاتصال محظور أو أن خادم وكيل الويب يمنع هذه الرسائل.
الحل المُقترح
اتخذ الخطوات التالية:
- لحل الخطأ، انتقل إلى مورد IoT Hub لجهازك ثم حدد جهاز Edge.
- انتقل إلى تعيين إعدادات وقت التشغيل للوحدات > النمطية.
Upstream protocol
أضف متغير البيئة وعين له قيمةAMQPWS
. يتم إرسال الرسائل التي تم تكوينها في هذه الحالة عبر WebSockets عبر المنفذ 443.
تظهر الوحدات النمطية على أنها قيد التشغيل ولكن ليس لديها عنوان IP معين
وصف الخطأ
تظهر حالة وقت التشغيل للوحدة النمطية على أنها قيد التشغيل، ولكن التطبيق الذي تم تعبئته في حاوية لا يحتوي على عنوان IP معين.
يحدث هذا الشرط لأن نطاق عناوين IP التي قدمتها ل IPs الخدمة الخارجية Kubernetes غير كاف. قم بتوسيع هذا النطاق للتأكد من تغطية كل حاوية أو جهاز ظاهري قمت بنشره.
الحل المُقترح
في واجهة مستخدم الويب المحلية لجهازك، قم بالخطوات التالية:
- انتقل إلى صفحة الحوسبة. حدد المنفذ الذي قمت بتمكين شبكة الحوسبة له.
- أدخل نطاقا ثابتا ومتقاربا من عناوين IP ل IPs الخدمة الخارجية Kubernetes. تحتاج إلى عنوان IP واحد للخدمة
edgehub
. بالإضافة إلى ذلك، تحتاج إلى عنوان IP واحد لكل وحدة IoT Edge ولكل جهاز ظاهري ستقوم بنشره. - حدد تطبيق. يجب أن يسري نطاق IP الذي تم تغييره على الفور.
لمزيد من المعلومات، راجع تغيير عناوين IP للخدمة الخارجية للحاويات.
تكوين عناوين IP ثابتة لوحدات IoT Edge النمطية
وصف المشكلة
يعين Kubernetes عناوين IP ديناميكية لكل وحدة IoT Edge على جهاز Azure Stack Edge Pro GPU. هناك حاجة إلى أسلوب لتكوين عناوين IP ثابتة للوحدات النمطية.
الحل المُقترح
يمكنك تحديد عناوين IP الثابتة لوحدات IoT Edge النمطية الخاصة بك عبر قسم K8s-التجريبي كما هو موضح أدناه:
{
"k8s-experimental": {
"serviceOptions" : {
"loadBalancerIP" : "100.23.201.78",
"type" : "LoadBalancer"
}
}
}
كشف خدمة Kubernetes كخدمة IP لنظام المجموعة للاتصال الداخلي
وصف المشكلة
بشكل افتراضي، يكون نوع خدمة IoT هو موازن التحميل، ويتم تعيين الخدمة التي تواجه عناوين IP خارجيا. إذا كان أحد التطبيقات يحتاج إلى جرابات Kubernetes داخل مجموعة Kubernetes للوصول إلى pods الأخرى في نظام المجموعة، فقد تحتاج إلى تكوين الخدمة كخدمة IP لنظام المجموعة بدلا من خدمة موازن التحميل. لمزيد من المعلومات، راجع شبكة Kubernetes على جهاز Azure Stack Edge Pro GPU.
الحل المُقترح
يمكنك استخدام خيارات الإنشاء عبر قسم K8s-التجريبي. يجب أن يعمل خيار الخدمة التالي مع روابط المنفذ.
{
"k8s-experimental": {
"serviceOptions" : {
"type" : "ClusterIP"
}
}
}
غير قادر على إنشاء دور IoT أو تحديثه
وصف المشكلة
عند تكوين جهاز IoT أثناء الإعداد، قد ترى الخطأ التالي:
(رمز حالة Http: 400) تعذر إنشاء دور IoT أو تحديثه على <YourDeviceName>. حدث خطأ مع رمز الخطأ {NO_PARAM}. لمزيد من المعلومات، راجع تفاصيل رمز الخطأ (https://aka.ms/dbe-error-codes). إذا استمر الخطأ، فاتصل بدعم Microsoft.
الحل المُقترح
إذا كان جدار حماية مركز البيانات يقيد حركة المرور أو يقوم بتصفيتها استنادا إلى عناوين IP المصدر أو عناوين MAC، فتأكد من أن عناوين IP للحساب (عناوين IP لعقدة Kubernetes) وعناوين MAC موجودة في القائمة المسموح بها. يمكن تحديد عناوين MAC عن طريق تشغيل Set-HcsMacAddressPool
cmdlet على واجهة PowerShell للجهاز.