مشاركة عبر


الإصلاح التلقائي لعقد خدمة Azure Kubernetes Service (AKS)

تراقب خدمة Azure Kubernetes (AKS) الحالة الصحية للعقد العاملة باستمرار وتنفذ إصلاحا تلقائيا للعقد إذا أصبحت غير صحية. يُجري النظام الأساسي للجهاز الظاهري Azure (VM) الصيانة للأجهزة الظاهرية التي تواجه مشكلات. تعمل AKS وأجهزة Azure الظاهرية معًا لتقليل انقطاعات الخدمة للمجموعات.

في هذه المقالة، ستتعرف على كيفية تصرف وظيفة إصلاح العقدة التلقائية لعقد Windows وLinux.

كيف تتحقق AKS من عقد NotReady

تستخدم AKS القواعد التالية لتحديد ما إذا كانت العقدة غير صحية وتحتاج إلى إصلاح:

  • تبلغ العقدة عن حالة NotReady عند عمليات التحقق المتتالية ضمن إطار زمني مدته 10 دقائق.
  • العقدة لا تبلغ عن أي حالة في غضون 10 دقائق.

يمكنك التحقق يدويا من الحالة الصحية للعقد باستخدام kubectl get nodes الأمر .

كيف يعمل الإصلاح التلقائي

إشعار

تبدأ AKS عمليات الإصلاح باستخدام حساب المستخدم aks-remediator.

إذا حددت AKS عقدة غير صحية تظل غير سليمة لمدة خمس دقائق على الأقل، تنفذ AKS الإجراءات التالية:

  1. تقوم AKS بإعادة تشغيل العقدة.
  2. إذا ظلت العقدة غير سليمة بعد إعادة التشغيل، فإن AKS تعيد تعيين العقدة.
  3. إذا ظلت العقدة غير سليمة بعد إعادة الصورة وكانت عقدة Linux، فإن AKS تعيد نشر العقدة.

تعيد AKS محاولة إعادة التشغيل وإعادة الرسم وإعادة توزيع التسلسل حتى ثلاث مرات إذا ظلت العقدة غير سليمة. قد تستغرق عملية الإصلاح التلقائي الشاملة ما يصل إلى ساعة لإكمالها.

القيود

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

هناك حالات لا يقوم فيها AKS بإجراء إصلاح تلقائي. يمكن أن يحدث الفشل في إصلاح العقدة تلقائيا إما حسب التصميم أو إذا لم يتمكن Azure من اكتشاف وجود مشكلة. تتضمن أمثلة وقت عدم تنفيذ الإصلاح التلقائي ما يلي:

  • لا يتم الإبلاغ عن حالة العقدة بسبب خطأ في تكوين الشبكة.
  • فشلت العقدة في التسجيل في البداية كعقدة صحية.
  • إذا كان أي من العيوب التالية موجودة على العقدة: node.cloudprovider.kubernetes.io/shutdown، . ToBeDeletedByClusterAutoscaler

مراقبة الإصلاح التلقائي للعقدة باستخدام أحداث Kubernetes

عندما تقوم AKS بإجراء إصلاح تلقائي للعقدة على مجموعتك، تصدر AKS أحداث Kubernetes من مصدر الإصلاح التلقائي aks للرؤية. تظهر الأحداث التالية على كائن عقدة عند حدوث إصلاح تلقائي.

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

السبب رسالة الحدث ‏‏الوصف
NodeRebootStart يبدأ الإصلاح التلقائي للعقدة إجراء إعادة التشغيل بسبب استمرار حالة NotReady لأكثر من 5 دقائق. يتم إصدار هذا الحدث لإعلامك عندما تكون إعادة التشغيل على وشك تنفيذها على العقدة الخاصة بك. هذا الإجراء هو الأول في تسلسل الإصلاح التلقائي للعقدة بشكل عام.
NodeRebootEnd اكتمل إجراء إعادة التشغيل من الإصلاح التلقائي للعقدة. يتم إصدارها بمجرد اكتمال إعادة التشغيل على العقدة. لا يشير هذا الحدث إلى الحالة الصحية (صحية أو غير صحية) للعقدة بعد تنفيذ إعادة التشغيل.
NodeReimageStart يبدأ الإصلاح التلقائي للعقدة إجراء إعادة تعيين بسبب استمرار حالة NotReady لأكثر من 5 دقائق. يتم إصدار هذا الحدث لإعلامك عند إعادة تعيين على وشك تنفيذ على العقدة الخاصة بك.
NodeReimageEnd اكتمل إجراء إعادة تعيين من الإصلاح التلقائي للعقدة. يتم إرسالها بمجرد اكتمال إعادة الصورة على العقدة. لا يشير هذا الحدث إلى الحالة الصحية (صحية أو غير صحية) للعقدة بعد تنفيذ إعادة الصورة.
NodeRedeployStart يبدأ الإصلاح التلقائي للعقدة إجراء إعادة توزيع بسبب استمرار حالة NotReady لأكثر من 5 دقائق. يتم إصدار هذا الحدث لإعلامك عندما تكون إعادة النشر على وشك تنفيذها على العقدة الخاصة بك. إعادة النشر هي الإجراء الأخير في تسلسل الإصلاح التلقائي للعقدة.
NodeRedeployEnd اكتمل إجراء إعادة التوزيع من الإصلاح التلقائي للعقدة. يتم إرسالها بمجرد اكتمال إعادة النشر على العقدة. لا يشير هذا الحدث إلى الحالة الصحية (صحية أو غير صحية) للعقدة بعد تنفيذ إعادة التوزيع.

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

إشعار

يختلف رمز الخطأ في رسائل الحدث التالية وفقا للخطأ الذي تم الإبلاغ عنه.

السبب رسالة الحدث ‏‏الوصف
NodeRebootError فشل إجراء إعادة تشغيل الإصلاح التلقائي للعقدة بسبب فشل العملية. راجع تفاصيل الخطأ هنا: رمز الخطأ يتم إصداره عند وجود خطأ في إجراء إعادة التشغيل.
NodeReimageError فشل إجراء إعادة تعيين الإصلاح التلقائي للعقدة بسبب فشل العملية. راجع تفاصيل الخطأ هنا: رمز الخطأ يتم إصداره عندما يكون هناك خطأ في إجراء إعادة الصورة.
NodeRedeployError فشل إجراء إعادة نشر الإصلاح التلقائي للعقدة بسبب فشل العملية. راجع تفاصيل الخطأ هنا: رمز الخطأ يتم إصداره عندما يكون هناك خطأ في إجراء إعادة النشر.

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

بشكل افتراضي، يمكنك الوصول إلى أحداث Kubernetes وسجلاته على مجموعة AKS الخاصة بك من الساعة الواحدة الماضية. لتخزين الأحداث والسجلات والاستعلام عنها من ال 90 يوما الماضية، قم بتمكين Container Insights لاستكشاف الأخطاء وإصلاحها على نظام مجموعة AKS الخاص بك.