فهم Kubernetes Autoscaling

تساعد Kubernetes في شحن البرامج بشكل أسرع للمستخدمين والاستجابة بسرعة لطلباتهم. عادةً ما يصمم المطورون سعة مجموعة Kubernetes وفقًا للحمولة المقدرة للمستخدمين التي يولدونها عليها. ومع ذلك، إذا زاد عدد طلبات المستخدمين بشكل أسرع مما توقعت، فقد تنفد موارد المجموعة، مما يؤدي إلى تباطؤ الخدمة وإحباط المستخدمين.

لا يمكّنك تخصيص الموارد يدويًا من الاستجابة بسرعة للاحتياجات المتغيرة للتطبيق. يوفر Kubernetes العديد من أدوات القياس التلقائي التي يمكنك استخدامها لضمان قدرة مجموعاتك على التعامل مع الحمل تلقائيًا. يمكنك استخدام الخيارات المستندة إلى البودات مثل مقياس الكبسولة الرأسي وجهاز القياس التلقائي للقرن الأفقي أو خيارات مستوى الكتلة مثل مقياس الكتلة التلقائي لمجموعة Kubernetes. يعد القياس التلقائي لـ Kubernetes جزءًا مهمًا من إستراتيجيات تحسين السحابة.

تُمكِّن Autoscalers Kubernetes من أتمتة عملية التحجيم، وتوسيع نطاق الكتلة بمجرد زيادة الطلب وتقليصها إلى الحجم العادي عندما ينخفض ​​الحمل. يضمن القياس التلقائي لـ Kubernetes أن كل جراب ومجموعة يمكن أن تحقق الأداء الأمثل لتلبية احتياجات التطبيق الحالية.

طرق Kubernetes Autoscaling

Kubernetes قابلة للتطوير بطبيعتها. يوفر مجموعة من الأدوات التي تسمح للتطبيقات والبنية التحتية التي تستضيفها بالنمو والتوسع بناءً على الطلب والكفاءة والمقاييس الأخرى.

يحتوي Kubernetes على ثلاث أدوات رئيسية لقابلية التوسع: Horizontal Pod Autoscaler (HPA) و Vertical Pod Autoscaler (VPA) ، والتي تعمل في طبقة تجريد التطبيق، والميزان التلقائي للكتلة، الذي يعمل في طبقة البنية التحتية.

جهاز قياس الكبسولة الأفقي (HPA)

عندما يتغير تحميل التطبيق بمرور الوقت، قد يحتاج التطبيق إلى إضافة أو إزالة النسخ المتماثلة للقرص لدعم الأحمال الحالية. يمكن لـ Horizontal Pod Autoscaler (HPA) إدارة هذه العملية تلقائيًا.

بالنسبة لأحمال العمل المكونة من HPA، تقوم وحدة التحكم HPA بمراقبة البودات في حمل العمل لمعرفة ما إذا كان عدد النسخ المتماثلة في الحاوية بحاجة إلى التغيير. في معظم الحالات، تستخدم وحدة التحكم استخدام وحدة المعالجة المركزية كمقياس، وتأخذ متوسط ​​القيمة المترية لكل جراب، وتحسب ما إذا كانت إضافة أو إزالة النسخ المتماثلة تجعل القيمة الحالية أقرب إلى القيمة المستهدفة.

يمكن أن تستخدم حسابات ضبط HPA أيضًا مقاييس مخصصة أو خارجية. تم تصميم المقاييس المخصصة لإظهار استخدام البودات بخلاف استخدام وحدة المعالجة المركزية، مثل حركة مرور الشبكة أو الذاكرة أو القيم المتعلقة بتطبيقات البودات. يمكن للمقاييس الخارجية قياس القيم التي لا تتعلق بالبودات.

جهاز قياس الكبسولة الرأسي (VPA)

يقوم VPA تلقائيًا بتعيين طلبات موارد الحاوية والحدود بناءً على الاستخدام. يهدف VPA إلى تقليل تكاليف الصيانة العامة لتكوين طلبات موارد الحاوية وحدودها، وزيادة استخدام موارد الكتلة.

يمكن لجهاز القياس التلقائي للقرن العمودي:

  • تقليل قيمة الطلب للحاويات التي يكون استخدام مواردها باستمرار أقل من المطلوب.
  • زيادة قيمة الطلب للحاويات بنسبة عالية باستمرار من الموارد المطلوبة.
  • قم بتعيين حدود الموارد تلقائيًا بناءً على نسبة حد الطلب المحددة في قالب الحاوية.

الكتلة Autoscaler

يزيد مقياس الكتلة التلقائي أو ينقص حجم مجموعة Kubernetes (عن طريق إضافة العقد أو إزالتها) استنادًا إلى وجود القرون المعلقة ومقاييس استخدام العقدة المختلفة.

دورات مقياس الكتلة التلقائي من خلال مهمتين رئيسيتين. فهو يراقب البودات التي لا يمكن جدولتها ويحسب ما إذا كان يمكن دمج جميع البودات المنتشرة حاليًا في عدد أقل من العقد.

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

استكشاف أخطاء أخطاء القياس التلقائي الشائعة في Kubernetes وإصلاحها

الوقت غير كافي للقياس

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

على سبيل المثال، لنفترض أن لديك حجرة يمكنها خدمة 100 طلب باستخدام أقل من 70٪ من استخدام وحدة المعالجة المركزية، وتم تكوين HPA لتوسيع نطاقه عند الوصول إلى عتبة وحدة المعالجة المركزية هذه. افترض أن الأمر يستغرق 5 ثوانٍ لبدء جراب جديد. الآن، إذا زاد الحمل بسرعة من 80 إلى 120 طلبًا في غضون ثانيتين أو 3 ثوانٍ، فسيتم تشغيل حدث زيادة، لكنه لن يحدث بالسرعة الكافية للتعامل مع الأحمال الموجودة.

الحلول الممكنة:

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

ImagePullBackoff

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

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

يمكن أن يحدث خطأ ImagePullBackOff إذا كان مسار الصورة غير صحيح، أو الشبكة معطلة، أو لا يمكن لـ kubelet المصادقة مع سجل الحاوية.

الأسباب والحلول الشائعة:

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

العقد المعلقة موجودة، لكن الكتلة لا تتوسع

فيما يلي بعض الأسباب التي قد تجعل أداة القياس التلقائي العنقودية غير قادرة على توسيع نطاق المجموعة وما يمكنك القيام به حيالها:

  • تمنع مواصفات الكبسولات طرد بعض البودات من العقدة – قم بتغيير مواصفات البودات أو تأكد من توفر العقد بالمعايير المطلوبة.
  • مجموعة العقدة لها حجم أدنى – قم بتقليل الحد الأدنى للحجم في تكوين CA.
  • العقدة بها خاصية “:” التعليق التوضيحي “صحيح” – قم بإزالة التعليق التوضيحي من مواصفات المجموعة.

إذا بدا أن Cluster Autoscale قد توقف تمامًا عن العمل، فاتبع الخطوات التالية:

  • تأكد من تشغيل مقياس الكتلة التلقائي – يمكنك عرض أحدث الأحداث المنبعثة من ملف ConfigMap لنظام kube-system / الكتلة autoscaler-status .
  • تحقق من أن المجموعات العنقودية ومجموعات العقد على ما يرام – يجب الإبلاغ عن ذلك بواسطة ConfigMap نفسه.
  • تحقق من وجود عقد غير مُجهزة – في الإصدار 1.24 أو أحدث من أداة قياس الكتلة التلقائية، إذا كانت العقد لا تبدو جاهزة، فتحقق من عدد الموارد غير جاهز. قد يعني هذا أن برنامج تشغيل الجهاز يفشل في تحميل مورد الأجهزة المطلوب.

خاتمة

في هذه المقالة، شرحت أساسيات مقياس Kubernetes التلقائي وثلاث أدوات قياس تلقائي يمكنك استخدامها:

  • HPA – HPA هو شكل من أشكال القياس التلقائي الذي يزيد أو يقلل من عدد الكبسولات بناءً على استخدام وحدة المعالجة المركزية.
  • VPA – يقوم VPA تلقائيًا بتعيين طلبات موارد الحاوية والحدود بناءً على الاستخدام.
  • مقياس الكتلة التلقائي – يزيد مقياس الكتلة التلقائي أو ينقص حجم مجموعة Kubernetes استنادًا إلى وجود القرون المعلقة ومقاييس استخدام العقدة المختلفة.

المصدر: networkcomputing

شاهد ايضا:

ما هي استضافة المواقع؟

اهم اضافات ووردبريس

قوالب ووردبريس للشركات

خبير سيو

إنشاء موقع ويب ووردبريس

مواقع اختصار الروابط

فتح محفظة Bitcoin

إنشاء متجر شوبيفاي

أنت تستخدم إضافة Adblock

يعتمد موقع انشاء على الاعلانات كمصدر لدعم الموقع، يجب عليك ايقاف تشغيل حاجب الاعلانات لمشاهدة المحتوي