الإصلاح التلقائي لعقد خدمة 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. محاولات إعادة تشغيل العقدة.
  2. إذا لم تنجح إعادة تشغيل العقدة، يقوم AKS بإعادة تعيين العقدة.
  3. إذا لم تنجح إعادة الصورة وكانت عقدة Linux، فإن AKS تعيد نشر العقدة.

يتحقق مهندسو AKS من المعالجات البديلة إذا لم ينجح الإصلاح التلقائي.

إشعار

لا يتم تشغيل الإصلاح التلقائي إذا كانت الملامح التالية موجودة على العقدة: node.cloudprovider.kubernetes.io/shutdown، ToBeDeletedByClusterAutoscaler.

قد تستغرق عملية الإصلاح التلقائي الشاملة ما يصل إلى ساعة لإكمالها. تعيد AKS المحاولة لمدة 3 مرات كحد أقصى لكل خطوة.

استنزاف تلقائي للعقدة

يمكن أن تحدث الأحداث المجدولة على الأجهزة الظاهرية الأساسية في أي من تجمعات العقد الخاصة بك. بالنسبة إلى مجموعات العقد الموضعية، قد تتسبب الأحداث المجدولة في حدوث استباقي لحدث العقدة للعقدة. تتسبب أحداث عقدة معينة، مثل الاستباق، في استنزاف عقدة AKS تلقائيا لمحاولة التطويق واستنزاف العقدة المتأثرة. تتيح هذه العملية إعادة الجدولة لأي أحمال عمل متأثرة على تلك العقدة. قد تلاحظ أن العقدة تتلقى صبغة مع "remediator.kubernetes.azure.com/unschedulable"، بسبب "kubernetes.azure.com/scalesetpriority: spot".

يعرض الجدول التالي أحداث العقدة والإجراءات التي تسببها للاستنزاف التلقائي لعقدة AKS:

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

القيود

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

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

Node Autodrain هي خدمة أفضل جهد ولا يمكن ضمان عملها بشكل مثالي في جميع السيناريوهات

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

استخدم مناطق التوفر لزيادة التوفر العالي مع أحمال عمل نظام مجموعة AKS.