کیوبیکٹل آٹو اسکیل کمانڈ

Kywbyk L A W Askyl Kman



Kubernetes خود بخود وسائل کو انسانی تعامل کے بغیر منظم کرنے کی خودکار صلاحیت فراہم کرتا ہے۔ آٹو اسکیل فنکشن ضرورت پڑنے پر نوڈس کی تعداد کو خود بخود تبدیل کرتا ہے اور وسائل کو بچاتا ہے۔ اس مضمون میں، ہم سیکھیں گے کہ 'kubectl autoscale' کمانڈ اور 'HorizontalPodScaler' آٹو اسکیلنگ کو کیسے تعینات کیا جائے۔ یہ ٹیوٹوریل اس اہم تصور کو تفصیل سے سکھاتا ہے۔ آئیے پہلے بحث کرتے ہیں کہ kubectl autoscale کا تصور کیا ہے اور پھر بہتر تفہیم کے لیے مرحلہ وار عمل کی طرف بڑھتے ہیں۔ اگر آپ Kubernetes آٹو اسکیلنگ کے تصور میں نئے ہیں تو یہ مضمون بہت مفید ہے۔

Kubectl Autoscale کیا ہے؟

Kubernetes کلسٹر میں آٹو اسکیلنگ ایک اہم خصوصیت ہے جو وسائل کو دستی طور پر کرنے کی پریشانی کے بغیر خود بخود اپ ڈیٹ ہونے کا باعث بنتی ہے۔ مطلوبہ وسائل کو دستی طور پر اپ ڈیٹ کرنا بہت وقت اور وسائل کا ضیاع ہے۔ Kubernetes آٹو اسکیلنگ وسائل کو بہتر بنانے کے لیے ایک خودکار سہولت فراہم کرتی ہے۔

آٹو اسکیلر ضرورت کے مطابق نوڈس کی تعداد بنا اور تباہ کر سکتا ہے۔ آٹو اسکیل وسائل کے ضیاع کو کم کرتا ہے۔ Kubectl autoscale خود بخود ان پوڈز کا انتخاب کرتا ہے جو فی الحال Kubernetes کلسٹر کے اندر کام کر رہے ہیں۔







اسکیلنگ کی دو قسمیں ہیں: (1) HorizontalPodScaler اور (2) Vertical Scaler۔ افقی اسکیلر عمودی اسکیلر سے مختلف ہے۔ HorizontalPodScaler ضرورت پڑنے پر پھلیوں کو کم کرنے یا بڑھانے میں مدد کرتا ہے۔ دوسری طرف، عمودی اسکیلر CPU اور میموری جیسے وسائل کا استعمال کرتا ہے۔



یہاں وہ تمام اقدامات ہیں جن کی پیروی آپ اپنے سسٹم میں کر سکتے ہیں اور بہتر تفہیم کے لیے آؤٹ پٹ دیکھ سکتے ہیں۔



مرحلہ 1: منی کیوب کلسٹر شروع کرنا

پہلے مرحلے میں، Kubernetes کلسٹر کو چلانے کے لیے minikube ٹول شروع کریں تاکہ ہم 'kubectl autoscale' کمانڈ پر عمل کر سکیں۔ آپ منی کیوب کلسٹر کا استعمال کرتے ہوئے اپنے نوڈس، پوڈز، اور یہاں تک کہ ایک کلسٹر بھی Kubernetes ماحول میں ترتیب دے سکتے ہیں۔ ایسا کرنے کے لیے، منی کیوب کو فعال موڈ میں رکھنے کے لیے درج ذیل کمانڈ کا استعمال کریں:





~$ منی کیوب شروع کریں۔

جیسا کہ آپ درج ذیل آؤٹ پٹ اسکرین شاٹ میں دیکھ سکتے ہیں، یہ کمانڈ منی کیوب کلسٹر کو قابل بناتی ہے اور Kubernetes ماحول کو قابل استعمال بناتی ہے۔

مرحلہ 2: پوڈ کی تفصیلات حاصل کریں۔

اس مرحلے میں، Kubernetes کلسٹر کامیابی سے چل رہا ہے۔ اب، ہمیں کلسٹر میں پوڈ کی تفصیلات ملتی ہیں۔ Kubernetes میں پوڈ ان اکائیوں کا مجموعہ ہے جو وسائل کو بانٹتے ہیں۔ درج ذیل اسکرپٹ کو آپ کے منی کیوب کلسٹر میں درج ذیل کمانڈ کو چلا کر عمل میں لایا جاتا ہے۔

~$ kubectl حاصل pods

پچھلی کمانڈ کا استعمال کرتے ہوئے جو کہ 'kubectl get pods' ہے، ہم کوبرنیٹس کلسٹر میں چلنے والے تمام پوڈز کی فہرست حاصل کر سکتے ہیں۔

'گیٹ پوڈز' کمانڈ پر عمل کرنے کے بعد، ہم درج ذیل آؤٹ پٹ حاصل کرتے ہیں:

  کمپیوٹر پروگرام کی تفصیل کا اسکرین شاٹ خود بخود کم اعتماد کے ساتھ تیار ہوتا ہے۔

مرحلہ 3: پوڈ کی تعیناتیاں حاصل کریں۔

پچھلی 'kubectl get pods' کمانڈ میں، ہمیں پوڈز کی تفصیلات ملتی ہیں۔ اب، ہم تخلیق کردہ تعیناتیوں کی فہرست حاصل کرنے کے لیے 'get deployment' کمانڈ استعمال کرتے ہیں۔ اس مقصد کے لیے درج ذیل اسکرپٹ پر عمل کیا گیا ہے۔

~$ kubectl کی تعیناتی حاصل کریں۔

کمانڈ پر عمل کرنے کے بعد، درج ذیل اسکرین شاٹ آؤٹ پٹ کو دکھاتا ہے:

مرحلہ 4: آٹو اسکیل تعیناتی۔

آٹو اسکیل کمانڈ کلسٹر میں چلنے والے پوڈز کے آٹومیشن سلیکشن کے لیے استعمال ہوتی ہے۔ کلسٹر میں آٹو اسکیل کو تعینات کرکے، ہم خود بخود نوڈس کی تعداد داخل اور ختم کردیتے ہیں۔ مندرجہ ذیل اسکرپٹ کو منی کیوب کلسٹر میں عمل میں لایا جاتا ہے اور یہ فائل کا نام، کم از کم پوڈز، اور زیادہ سے زیادہ پوڈ دکھاتا ہے جہاں پوڈز 2 سے 10 کے درمیان ہونے چاہئیں:

~$ kubectl آٹو اسکیل تعیناتی nginx1-deployment1 --منٹ = 2 --زیادہ سے زیادہ = 10

کمانڈ پر عمل کرنے کے بعد، مندرجہ ذیل آؤٹ پٹ پیدا ہوتا ہے:

مرحلہ 5: ایک Kubernetes YAML فائل بنائیں

اس مرحلے میں، آپ کلسٹر میں YAML فائل بنانا سیکھیں گے۔ YAML فائل تعیناتی اور درخواست کی جانچ کے لیے مفید ہے۔ فائل بنانے اور اس میں ترمیم کرنے کے لیے Kubernetes میں مختلف اقسام ہیں۔

اس مضمون میں، ہم YAML فائل بنانے کے لیے 'نانو' کمانڈ استعمال کرتے ہیں کیونکہ یہ سب سے آسان طریقہ ہے اور ابتدائی افراد کے لیے بہترین انتخاب ہے۔

نینو کا استعمال کرتے ہوئے YAML فائل بنانے کے لیے یہاں دیے گئے مراحل پر عمل کریں:

  • ایک نئی فائل بنانے یا موجودہ فائل کو تبدیل کرنے کے لیے، مطلوبہ ڈائریکٹری لوکیشن پر جائیں۔
  • 'نانو' میں ٹائپ کریں۔ اس کے بعد فائل کا نام لکھیں۔ مثال کے طور پر، اگر آپ ایک نیا فائل نام بنانا چاہتے ہیں، تو نام لکھیں - 'deploo.yaml'۔

درج ذیل اسکرپٹ کو چلائیں اور پروجیکٹ ڈائرکٹری میں YAML فائل بنائیں:

~$ nano deploo.yaml

'deploo.yaml' فائل بنانے کے بعد، اگلا مرحلہ YAML فائل کو کنفیگر کرنا ہے۔ ہم مندرجہ ذیل مرحلے میں اس کی وضاحت کرتے ہیں۔

مرحلہ 6: YAML فائل کا مواد

اس مرحلے میں، ہم آسانی سے اپاچی سرور اور پی ایچ پی فائلوں کو ترتیب دے سکتے ہیں۔ اس سے پہلے کہ ہم HorizontalPodScaler استعمال کریں، ہمیں ورک لوڈ مانیٹر کو ترتیب دینا چاہیے۔ جیسا کہ کوڈ کا درج ذیل ٹکڑا قسم:تعینات کو ظاہر کرتا ہے، ویب براؤزر کی پورٹ 90 ہے اور CPU کی حد 200m ہے۔

آپ مکمل 'deploo.yaml' فائل کی معلومات یہاں دیکھ سکتے ہیں:

apiVersion : apps/v1
قسم
: تعیناتی
میٹا ڈیٹا
:
نام
: php
تفصیلات
:
سلیکٹر
:
میچ لیبلز
:
رن
: php-apache
سانچے
:
میٹا ڈیٹا
:
لیبلز
:
رن
: php-apache
تفصیلات
:
کنٹینرز
:
--.نام
: php
تصویر
: registry.k8s.io/hpa-example
بندرگاہیں
:
- کنٹینرپورٹ
: 90
حوالہ جات
:
حدود
:
سی پی یو
: 200m
درخواستیں
:

سی پی یو
: 100m
---
apiVersion
: v1
قسم
: سروس
میٹا ڈیٹا
:
نام
: php
لیبلز
:
رن
: php-apache
تفصیلات
:
بندرگاہیں
:
--.بندرگاہ n
: 70
سلیکٹر
:
رن
: php-apache

مرحلہ 7: تعیناتی بنائیں

اس مرحلے میں، آئیے 'deploo.yaml' کے نام سے YAML فائل بنائیں۔ مندرجہ ذیل اسکرپٹ کو منی کیوب کلسٹر میں عمل میں لایا جاتا ہے:

~$ kubectl تخلیق -f deploo.yaml

مذکورہ کمانڈ کی آؤٹ پٹ جو ہم نے عمل میں لائی ہے اس کے بعد کے اسکرین شاٹ میں دیکھی جا سکتی ہے۔ آؤٹ پٹ اشارہ کرتا ہے کہ YAML فائل بنائی گئی ہے:

مرحلہ 8: HorizontalPodScaler بنائیں

اس مرحلے میں، ہم آپ کو HorizontalPodAutoscaler بنانے کی کمانڈ دکھائیں گے۔ پوڈز ڈالے جاتے ہیں اور طلب کے لحاظ سے خود بخود ختم ہوجاتے ہیں۔ یہ عمودی اسکیلنگ سے الگ ہے، جس کے تحت CPU اور میموری کے وسائل آٹو اسکیل کے ذریعے تفویض کیے جاتے ہیں۔ مندرجہ ذیل اسکرپٹ کو منی کیوب کلسٹر میں عمل میں لایا جاتا ہے:

~$ kubectl آٹو اسکیل تعیناتی php -- سی پی یو - فیصد = پچاس -- منٹ = 10 -زیادہ سے زیادہ = بیس

یہاں، آپ دیکھ سکتے ہیں کہ ہم نے کم از کم اور زیادہ سے زیادہ 10 اور 20 کی قدریں سیٹ کیں۔

منسلک پچھلی کمانڈ کی آؤٹ پٹ ہے:

مرحلہ 9: HorizontalPodScaler چیک کریں۔

اس مرحلے میں، ہم HorizontalPodAutoscaler کی موجودہ حیثیت کو چیک کرتے ہیں جو کہ نیا بنایا گیا ہے۔ مندرجہ ذیل کمانڈ پر عمل کیا جاتا ہے:

~$ kubectl حاصل hpa

نتیجہ

Kubernetes کی سب سے مفید خصوصیات میں سے ایک 'kubectl autoscale' ہے جو Kubernetes کلسٹر میں خودکار وسائل کی تازہ کاری فراہم کرتا ہے۔ آٹو اسکیلر اس وقت مدد کرتا ہے جب کسی کلسٹر کو پھلیوں کو بڑھانے یا پھلیوں کو کم کرنے کی ضرورت ہوتی ہے۔ اس مضمون میں، ہم نے آٹو اسکیل کے دو طریقے سیکھے - ایک ڈیفالٹ آٹو اسکیلر اور دوسرا HorizontalPodScaler۔

سب سے پہلے، ہم نے پوڈ کو تعینات کیا اور ان کا اعلان کیا. اس کے بعد، ہم نے آٹو اسکیلر بنایا اور اپاچی سرور کو HorizontalPodScaler سے پہلے کام کا بوجھ مانیٹر تعینات کرنے کے لیے ترتیب دیا۔ اس کے بعد، ہم نے ایک YAML فائل اور HorizontalPodScaler بنایا۔ اس مضمون نے آٹو اسکیل کبرنیٹس کو بنانے، ترتیب دینے اور ان کی تعیناتی کے تفصیلی اقدامات پر توجہ مرکوز کی ہے۔