Kubernetes وسائل کی حدیں مقرر کریں۔

Kubernetes Wsayl Ky Hdy Mqrr Kry



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

Kubernetes میں کنٹینر کے وسائل کی حدیں مقرر کریں۔

کنٹینر کے وسائل کی حدیں Kubernetes کا ایک لازمی عنصر ہیں، جو صارفین کو ان وسائل کی تعداد کا انتظام کرنے کی اجازت دیتی ہیں جنہیں کنٹینر استعمال کر سکتا ہے۔ اوور لوڈنگ سے بچنے اور ایپلیکیشن کی کارکردگی کی ضمانت دینے کے لیے، یہ خاص طور پر پیداواری سیاق و سباق میں بہت اہم ہے۔ کنٹینر کے وسائل کی حد مقرر کرنے کے لیے یہاں کچھ حامی تجاویز ہیں:







ان وسائل کا تعین کرکے شروع کریں جن کی آپ کے کنٹینرز کی ضرورت ہے۔ اپنے سسٹم کے استعمال کا تجزیہ کریں اور اس بات کا تعین کریں کہ کن کنٹینرز میں ان کی میموری اور CPU کی حدیں ایڈجسٹ ہونی چاہئیں۔ وسائل کی حدیں طے کرتے وقت بنیادی نوڈس پر غور کرنا بھی ضروری ہے - اگر آپ حد سے زیادہ یا بہت کم سیٹ کرتے ہیں، تو نوڈ کریش ہوئے بغیر دوسری ایپلیکیشنز کو چلانے کے قابل نہیں ہوسکتا ہے۔ اگلا، فیصلہ کریں کہ آپ کس قسم کی حد استعمال کرنا چاہتے ہیں - پھٹنے کے قابل یا غیر پھٹنے کے قابل۔ اب، آئیے وہ ضروری اقدامات دیکھتے ہیں جن کی پیروی آپ Kubernetes کنٹینر کے وسائل کی حدیں مقرر کرنے کے لیے کر سکتے ہیں۔ سیڑھیوں کی طرف بڑھنے سے پہلے، کچھ ضروری شرائط ہیں:



شرطیں

اس سے پہلے کہ ہم قدموں کی طرف بڑھیں، آئیے اس بات کو یقینی بنائیں کہ ہمارا نظام شرائط کی تمام ضروریات کو پورا کرتا ہے۔ اس بات کو یقینی بنائیں کہ آپ کے پاس کام کرنے کے لیے لینکس/یونکس ماحول رکھنے کے لیے Ubuntu 20.04 یا کوئی دوسرا تازہ ترین ورژن ہے، Kubernetes کلسٹر، Kubectl کمانڈز استعمال کرنے کے لیے Kubectl CLI، کلسٹر کمیونیکیشن، ترقی کے ماحول کا انتظام، اور منی کیوب یا کوئی اور Kubernetes کھیل کا میدان بنانے کے لیے۔ کلسٹرز ان ٹولز کو انسٹال کریں اگر آپ نے اگلے حصے پر جانے سے پہلے انہیں ابھی تک انسٹال نہیں کیا ہے۔ اب، ہم قدم بہ قدم گائیڈ کی طرف بڑھتے ہیں کہ کبرنیٹس کنٹینر کے وسائل کی حدیں کیسے مقرر کی جائیں۔



Kubernetes وسائل کی حدیں کیسے متعین کریں۔

Kubernetes کے کنٹینر کے وسائل کی حدود کا تعین کرنا آپ کے Kubernetes کلسٹرز کو منظم اور برقرار رکھنے کا ایک اہم حصہ ہے۔ وسائل کی ایک مناسب حد جگہ پر ہونا اس بات کو یقینی بناتا ہے کہ ہر کنٹینر دوسرے کنٹینرز یا پورے کلسٹر کی کارکردگی پر سمجھوتہ کیے بغیر بہترین طریقے سے چلتا ہے۔ یہ CPU، میموری، عارضی اسٹوریج، اور مزید کے لیے وسائل کی درخواستوں اور حدود کو ترتیب دے کر کیا جا سکتا ہے۔ یہاں بتایا گیا ہے کہ کبرنیٹس کنٹینر کے وسائل کی حدود کو صحیح طریقے سے سیٹ کرنا ہے۔





مرحلہ 1: منی کیوب شروع کریں۔

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



> منی کیوب شروع کریں۔

مرحلہ 2: میٹرکس سرور کو فعال کریں۔

اس مرحلے میں، ہم اس کمانڈ کا اشتراک کرتے ہیں جو آپ کو میٹرکس سرور کو فعال کرنے دیتا ہے۔ کمانڈ مندرجہ ذیل میں دیا گیا ہے:

> منی کیوب ایڈونز فعال میٹرکس سرور

مرحلہ 3: چیک کریں کہ میٹرکس سرور فعال ہے یا نہیں۔

درج ذیل کمانڈ کو یہ چیک کرنے کے لیے ٹائپ کریں کہ آیا میٹرکس سرور فعال ہے یا نہیں:

> kubectl apiservices حاصل کریں۔

جیسا کہ پچھلی تصویر میں دیکھا گیا ہے، اس میں metrics.k8s.io کا حوالہ موجود ہے اگر ریسورس میٹرکس API قابل رسائی ہے۔

مرحلہ 4: نام کی جگہ بنائیں

وسائل کو رکھنے کے لیے، آپ اس مشق کے لیے ایک نام کی جگہ بناتے ہیں جو آپ کے باقی کلسٹر سے الگ ہے۔ اب ہم دکھاتے ہیں کہ نام کی جگہ کیسے بنائی جائے۔ جو حکم دیتا ہے وہ درج ذیل ہے:

> kubectl نام کی جگہ ABC بنائیں

مرحلہ 5: ایک کنفیگریشن فائل بنائیں

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

> نینو reqlimit.yaml

یہاں، آپ کو CPU کی حد کے ساتھ CPU کی درخواست شامل کرنے کی ضرورت ہے۔ وسائل شامل کریں: CPU کی حد کی وضاحت کرنے کے لیے حدود۔ اس صورت میں، ایک کنٹینر کے ساتھ ایک پوڈ بنایا جاتا ہے. کنٹینر میں 0.5 CPU درخواست کی حد اور زیادہ سے زیادہ 1 CPU ہے۔ پوڈ کی کنفیگریشن فائل یہاں دستیاب ہے۔ جیسا کہ آپ دیکھ سکتے ہیں، کنفیگریشن فائل کے آرگس سیکشن میں وہ دلائل ہوتے ہیں جو کنٹینر شروع ہونے پر استعمال کرتا ہے۔ کنٹینر کو ہدایت کی گئی ہے کہ وہ 2 CPUs کو -cpus '2' پیرامیٹر کے ذریعے استعمال کرنے کی کوشش کرے۔

Kubernetes میں وسائل جیسے کہ تعیناتی اور pods تخلیق کرتے وقت، یہ ضروری ہے کہ مطلوبہ وسائل کی کم از کم تعداد (درخواست) اور ہر پوڈ یا تعیناتی کے لیے اجازت شدہ وسائل کی زیادہ سے زیادہ تعداد (حد) کی وضاحت کریں۔ یہ کسی بھی ایک پوڈ کو بہت زیادہ وسائل استعمال کرنے سے روکتا ہے جس کی وجہ سے دوسرے فعال پوڈز کو کم کارکردگی کا سامنا کرنا پڑ سکتا ہے یا کلسٹر پر دستیاب وسائل کی کمی کی وجہ سے کریش ہو سکتا ہے۔

مرحلہ 6: ایک پوڈ بنائیں

اب، ہم آپ کو دکھاتے ہیں کہ مندرجہ ذیل کمانڈ کے ساتھ پوڈ کیسے بنایا جائے:

> kubectl بنائیں -f reqlimit.yaml

پچھلے دیے گئے آؤٹ پٹ سے، آپ دیکھ سکتے ہیں کہ 'cpu-demo' نامی پوڈ بن گیا ہے۔

مرحلہ 7: پوڈ کی تصدیق کریں۔

اس مرحلے میں، ہم مندرجہ ذیل کمانڈ کے ساتھ چیک کرتے ہیں کہ تخلیق شدہ پوڈ فعال ہے یا نہیں:

> kubectl حاصل pod cpu-demo --نام کی جگہ =abc

مرحلہ 8: پوڈ کی تفصیلات دیکھیں

اب، اگر آپ پوڈ کے بارے میں تفصیلی معلومات دیکھنا چاہتے ہیں، تو یہاں وہ کمانڈ ہے جس پر عمل کیا جانا چاہیے:

> kubectl حاصل pod cpu-demo --آؤٹ پٹ = یمل --نام کی جگہ =abc

مرحلہ 9: پوڈ کو حذف کریں۔

یہاں، ہم دکھائیں گے کہ وسائل کو صاف کرنے کے لیے پوڈ کو کیسے حذف کیا جائے۔ اس مقصد کے لیے جو کمانڈ استعمال کیا جاتا ہے وہ یہ ہے:

> kubectl ڈیلیٹ پوڈ سی پی یو ڈیمو --نام کی جگہ =abc

مرحلہ 10: ایک کنفیگریشن فائل بنائیں

اس مرحلے میں، ہم ایک کنفیگریشن فائل بناتے ہیں۔ یہ فائل ایک CPU درخواست کی وضاحت کرتی ہے جو آپ کے نوڈس کے لیے کافی بڑی ہے۔

> نینو reqlimit2

ایک کنٹینر والی کنفیگریشن فائل یہاں مل سکتی ہے۔ کنٹینر 100 CPUs کا مطالبہ کرتا ہے جو کسی بھی نوڈ سے زیادہ ہے جو آپ کا کلسٹر معقول طور پر فراہم کر سکتا ہے۔

مرحلہ 11: کری a te the Pod

اس مرحلے میں، ہم مندرجہ ذیل کمانڈ کے ساتھ پوڈ بناتے ہیں:

> kubectl بنائیں -f reqlimit2.yaml

مرحلہ 12: پوڈ اسٹیٹس دیکھیں

اب، آپ st دیکھ سکتے ہیں a پوڈ کا tus اس کمانڈ کے ساتھ جو یہاں منسلک ہے:

آؤٹ پٹ سے پتہ چلتا ہے کہ Pod کی حیثیت زیر التواء ہے۔

مرحلہ 13: پوڈ کی معلومات دیکھیں

اب، ہم پوڈ کے بارے میں تفصیلی معلومات دیکھتے ہیں بشمول دی گئی کمانڈ کے ساتھ واقعات:

ایونٹ سیکشن میں جائیں اور دیکھیں کہ کنٹینر شیڈول ہے یا نہیں۔

اگر اسے شیڈول نہیں کیا جا سکتا ہے اور اس کی وجہ ناکافی CPU وسائل ہیں، تو آپ نوڈ کو حذف کر سکتے ہیں۔ نوڈ کو حذف کرنے کا طریقہ اگلے مرحلے میں بتایا گیا ہے۔

قدم 14: نوڈ کو حذف کریں۔

آپ درج ذیل کمانڈ کے ساتھ نوڈ کو حذف کر سکتے ہیں۔

> kubectl ڈیلیٹ پوڈ سی پی یو ڈیمو- 2 --نام کی جگہ =abc

کارکردگی پر کنٹینر وسائل کی حدود کا کیا اثر ہے؟

Kubernetes کنٹینر ٹیکنالوجی کی بڑھتی ہوئی مقبولیت کے ساتھ، یہ سمجھنا ضروری ہے کہ وسائل کی حدود کارکردگی کو کس طرح متاثر کر سکتی ہیں۔ Kubernetes کنٹینر کے اندر وسائل کی حدیں طے کرنے سے آپ کو یہ یقینی بنانے میں مدد مل سکتی ہے کہ آپ کی ایپلی کیشنز اپنی بہترین سطح پر چل رہی ہیں اور وہ میزبان سرور سے بہت زیادہ وسائل استعمال نہیں کر رہی ہیں۔ وسائل کو محدود کر کے، آپ ضائع ہونے والے فالتو عمل سے بچ سکتے ہیں، استعمال کی وجہ سے سسٹم کے کریشوں کو روکنے میں مدد کر سکتے ہیں، اور اپنے کنٹینرز کی کارکردگی کو بہتر بنا سکتے ہیں۔

ایک Kubernetes کنٹینر میں وسائل کی ان حدود کو سیٹ کرنے کے لیے، آپ کو cgroups (کنٹرول گروپس) نامی ٹول کا استعمال کرنا چاہیے۔ Cgroups منتظمین کو وسائل کو محدود کرنے کی اجازت دیتے ہیں جیسے کہ CPU سائیکل یا انفرادی کنٹینرز کے لیے میموری کا استعمال۔ آپ دوسرے پیرامیٹرز بھی سیٹ کر سکتے ہیں جیسے زیادہ سے زیادہ فائل سائز یا نیٹ ورک بینڈوتھ کا استعمال فی کنٹینر۔

نتیجہ

Kubernetes کنٹینر کے وسائل کی حدود کا تعین آپ کے کلاؤڈ کمپیوٹنگ ماحول کو منظم کرنے کا ایک اہم حصہ ہے۔ مناسب ترتیب کے ساتھ، آپ اس بات کو یقینی بنا سکتے ہیں کہ ہر کنٹینر کو ان وسائل تک رسائی حاصل ہے جس کی اسے ضرورت ہے، لیکن اتنا نہیں کہ یہ دوسرے کنٹینرز یا سسٹمز کو متاثر کرے۔ یہ کمپیوٹنگ وسائل کے زیادہ موثر اور لاگت سے موثر استعمال کی اجازت دیتا ہے۔ مزید برآں، ایک کنٹینر کتنی میموری یا CPU استعمال کر سکتا ہے اس کو محدود کر کے، آپ بھاگنے والے عمل یا استعمال میں غیر متوقع اضافے کی وجہ سے بندش کو ہونے سے روک سکتے ہیں۔