أمر Kubectl Autoscale

Amr Kubectl Autoscale



يوفر Kubernetes إمكانية القياس التلقائي لإدارة الموارد تلقائيًا دون تدخل بشري. تعمل وظيفة القياس التلقائي على تغيير عدد العقد تلقائيًا عند الحاجة وتوفر الموارد. في هذه المقالة ، سوف نتعلم كيفية نشر أمر 'kubectl autoscale' و 'HorizontalPodScaler'. هذا البرنامج التعليمي يعلم هذا المفهوم المهم بالتفصيل. دعنا أولاً نناقش مفهوم kubectl autoscale ثم نتجه نحو العملية خطوة بخطوة من أجل فهم أفضل. هذه المقالة مفيدة للغاية إذا كنت جديدًا على مفهوم Kubernetes autoscaling.

ما هو مقياس Kubectl التلقائي؟

تعد ميزة Autoscaling هي الميزة الرئيسية في مجموعة Kubernetes التي تجعل الموارد يتم تحديثها تلقائيًا دون متاعب القيام بذلك يدويًا. إنها عملية مضيعة للوقت والموارد لتحديث الموارد المطلوبة يدويًا. يوفر القياس التلقائي لـ Kubernetes وسيلة تلقائية لتحسين الموارد.

يمكن لـ Autoscaler إنشاء وتدمير عدد العقد حسب المتطلبات. يقلل Autoscale من إهدار الموارد. يختار مقياس Kubectl التلقائي الكبسولات التي يتم تنفيذها حاليًا داخل مجموعة Kubernetes تلقائيًا.







هناك نوعان من القياس: (1) HorizontalPodScaler و (2) قشارة رأسية. يختلف القشارة الأفقية عن القشارة الرأسية. يساعد HorizontalPodScaler في تقليل أو زيادة القرون عند الحاجة. من ناحية أخرى ، يستخدم المتسلل العمودي موارد مثل وحدة المعالجة المركزية والذاكرة.



فيما يلي جميع الخطوات التي يمكنك اتباعها في نظامك والاطلاع على المخرجات لفهم أفضل.



الخطوة 1: بدء مجموعة Minikube

في الخطوة الأولى ، ابدأ أداة minikube لتشغيل مجموعة Kubernetes حتى نتمكن من تنفيذ الأمر 'kubectl autoscale'. يمكنك إعداد العقد والبودات وحتى الكتلة في بيئة Kubernetes باستخدام مجموعة minikube. للقيام بذلك ، استخدم الأمر التالي لإبقاء minikube في الوضع النشط:





~ $ بدء minikube

كما ترى في لقطة الشاشة الناتجة التالية ، فإن هذا الأمر يمكّن مجموعة minikube ويجعل بيئة Kubernetes قابلة للاستخدام:

الخطوة 2: احصل على تفاصيل الجراب

في هذه الخطوة ، تعمل مجموعة Kubernetes بنجاح. الآن ، نحصل على تفاصيل الكبسولة في الكتلة. الكبسولة في Kubernetes هي مجموعة الوحدات التي تشترك في الموارد. يتم تنفيذ البرنامج النصي التالي عن طريق تشغيل الأمر التالي في مجموعة minikube الخاصة بك:

~ $ kubectl الحصول على القرون

باستخدام الأمر السابق وهو 'kubectl get pods' ، يمكننا الحصول على قائمة بجميع البودات التي تعمل في مجموعة Kubernetes.

بعد تنفيذ الأمر 'get pods' ، نحصل على المخرجات التالية:

  يتم إنشاء لقطة شاشة لوصف برنامج الكمبيوتر تلقائيًا بثقة منخفضة

الخطوة 3: احصل على نشرات Pod

في الأمر السابق 'kubectl get pods' ، نحصل على تفاصيل البودات. الآن ، نستخدم أمر 'الحصول على النشر' للحصول على قائمة عمليات النشر التي تم إنشاؤها. تم تنفيذ النص التالي لهذا الغرض:

~ $ kubectl الحصول على عمليات النشر

بعد تنفيذ الأمر ، تظهر لقطة الشاشة التالية الإخراج:

الخطوة 4: نشر مقياس تلقائي

يتم استخدام الأمر autoscale لإجراء تحديد أتمتة البودات التي تعمل في الكتلة. من خلال نشر المقياس التلقائي في الكتلة ، نقوم تلقائيًا بإدراج وإنهاء عدد العقد. يتم تنفيذ البرنامج النصي التالي في مجموعة minikube ويظهر اسم الملف ، والحد الأدنى للقرون ، والحد الأقصى للقرون حيث يجب أن تكون الكبسولات بين 2 إلى 10:

~ $ النشر التلقائي kubectl nginx1-publish1 - دقيقة = 2 --الأعلى = 10

بعد تنفيذ الأمر ، يتم إنشاء المخرجات التالية:

الخطوة 5: قم بإنشاء ملف Kubernetes YAML

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

في هذه المقالة ، نستخدم الأمر 'nano' لإنشاء ملف YAML لأنه أسهل طريقة وأفضل خيار للمبتدئين.

اتبع الخطوات الموضحة هنا لإنشاء ملف YAML باستخدام nano:

  • لإنشاء ملف جديد أو تغيير ملف موجود ، انتقل إلى موقع الدليل المطلوب.
  • اكتب 'nano'. بعد ذلك ، اكتب اسم الملف. على سبيل المثال ، إذا كنت ترغب في إنشاء اسم ملف جديد ، فاكتب الاسم - 'deploo.yaml'.

قم بتشغيل البرنامج النصي التالي وإنشاء ملف YAML في دليل المشروع:

~ $ نانو deploo.yaml

بعد إنشاء ملف deploo.yaml ، فإن الخطوة التالية هي تكوين ملف YAML. نشرح ذلك في الخطوة التالية.

الخطوة 6: محتوى ملف YAML

في هذه الخطوة ، يمكننا بسهولة تهيئة خادم Apache وملفات PHP. قبل أن نستخدم HorizontalPodScaler ، يجب علينا تكوين مراقب حمل العمل. كما يوضح الجزء التالي من الكود النوع: النشر ، فإن منفذ متصفح الويب هو 90 وحد أقصى لوحدة المعالجة المركزية هو 200 متر.

يمكنك الاطلاع على معلومات ملف 'deploo.yaml' الكاملة هنا:

نسخة : تطبيقات / v1
عطوف
: تعيين
البيانات الوصفية
:
اسم
: بي أتش بي
المواصفات
:
محدد
:
بطاقات المباراة
:
يجري
: php-apache
نموذج
:
البيانات الوصفية
:
تسميات
:
يجري
: php-apache
المواصفات
:
حاويات
:
- اسم
: بي أتش بي
صورة
: Registry.k8s.io/hpa-example
الموانئ
:
- ميناء الحاوية
: 90
موارد
:
حدود
:
وحدة المعالجة المركزية
: 200 م
الطلبات
:

وحدة المعالجة المركزية
: 100 م
-
نسخة
: الإصدار 1
عطوف
: خدمة
البيانات الوصفية
:
اسم
: بي أتش بي
تسميات
:
يجري
: php-apache
المواصفات
:
الموانئ
:
- ميناء
: 70
محدد
:
يجري
: php-apache

الخطوة 7: إنشاء النشر

في هذه الخطوة ، دعنا ننشئ ملف YAML المسمى 'deploo.yaml'. يتم تنفيذ النص التالي في كتلة minikube:

~ $ kubectl create -f deploo.yaml

يمكن رؤية إخراج الأمر المذكور أعلاه الذي قمنا بتنفيذه في لقطة الشاشة التالية. يشير الإخراج إلى أن ملف YAML قد تم إنشاؤه:

الخطوة 8: قم بإنشاء HorizontalPodScaler

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

~ $ kubectl النشر التلقائي php - وحدة المعالجة المركزية - نسبه مئويه = خمسون - دقيقة = 10 -الأعلى = عشرين

هنا ، يمكنك أن ترى أننا قمنا بتعيين قيم الحد الأدنى والحد الأقصى على 10 و 20.

مرفق إخراج الأمر السابق:

الخطوة 9: تحقق من HorizontalPodScaler

في هذه الخطوة ، نتحقق من الحالة الحالية لـ HorizontalPodAutoscaler الذي تم إنشاؤه حديثًا. يتم تنفيذ الأمر التالي:

~ $ kubectl الحصول على hpa

خاتمة

واحدة من أكثر الميزات المفيدة في Kubernetes هي 'kubectl autoscale' التي توفر تحديثات تلقائية للموارد في مجموعة Kubernetes. يساعد Autoscaler عندما تحتاج الكتلة إلى زيادة البودات أو لتقليل القرون. في هذه المقالة ، تعلمنا طريقتين للمقياس التلقائي - أحدهما هو المقياس التلقائي الافتراضي والآخر هو HorizontalPodScaler.

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