کبرنیٹس رواداری کو کیسے مرتب کریں۔

Kbrny S Rwadary Kw Kys Mrtb Kry



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

Kubernetes میں رواداری اور داغ کیا ہیں؟

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

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







Kubernetes میں موجود داغ ایک پوڈ کو پوڈ کے شیڈولنگ کو مسترد کرنے کے قابل بناتے ہیں۔ یہ 'NodeSpec' نوڈ تفصیلات کا استعمال کرتے ہوئے نوڈ پر لاگو کیا جاتا ہے. شیڈولر ایک نوڈ پر پوڈ لگانے سے قاصر ہے جس پر داغ ہے۔ تاہم، اگر آپ کو کسی ایسے نوڈ پر پوڈز کو شیڈول کرنے کی ضرورت ہے جہاں پہلے سے داغ لگا ہوا ہے، تو آپ کو اس کے خلاف برداشت کا اعلان کرنے کی ضرورت ہے۔



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



اب، آئیے آپ کو یہ سمجھنے میں مدد کرنے کے لیے ایک منظر پیش کرتے ہیں کہ آپ کوبرنیٹس میں پوڈ پر رواداری کو کیسے نافذ کر سکتے ہیں۔ نفاذ کے سیکشن پر جانے سے پہلے، یقینی بنائیں کہ آپ کے پاس تمام ضروری تقاضے ہیں۔





شرط:

درج ذیل چیزیں ہیں جن کی آپ کو کبرنیٹس میں نوڈ پر رواداری کو لاگو کرنے کی ضرورت ہے۔

  • Ubuntu 20.04 یا کسی بھی لینکس سسٹم کا کوئی دوسرا تازہ ترین ورژن
  • Minikube (تازہ ترین ورژن)
  • آپ کے لینکس/یونکس سسٹم میں ورچوئل مشین انسٹال ہے۔
  • Kubectl کمانڈ لائن ٹول

یہ فرض کرتے ہوئے کہ آپ کا سسٹم شرائط کی تمام ضروریات کو پورا کرتا ہے، آئیے ہم Kubernetes رواداری کا تعین کرنا شروع کریں۔



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

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

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

اس کمانڈ پر عمل درآمد پر، آپ کو اپنے ٹرمینل میں درج ذیل آؤٹ پٹ ملے گا۔

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

اب جب کہ ہم نے minikube شروع کر دیا ہے، ہمارا سسٹم Kubernetes میں pods پر رواداری قائم کرنے کے لیے تیار ہے۔ اس سے پہلے کہ ہم پوڈز پر برداشت کا تعین کریں، آئیے چیک کریں کہ ہمارے پاس پہلے سے کتنے نوڈس اور کس قسم کے نوڈس ہیں۔ ایسا کرنے کے لیے، ہم مندرجہ ذیل کمانڈ استعمال کرتے ہیں:

> kubectl نوڈس حاصل کریں -دی =custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints [ * ] .key,TaintValue:.spec.taints [ * ] .value,TaintEffect:.spec.taints [ * ] اثر

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

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

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

سب سے پہلے، ہم ایک ایپ کو کلسٹر پر تعینات کرنے کے لیے ایک نام کی جگہ بناتے ہیں۔ یہاں، ہم درج ذیل کمانڈ کی مدد سے 'فرنٹ اینڈ' ویلیو کے ساتھ ایک ایپ بناتے ہیں۔

> kubectl ns فرنٹ اینڈ بنائیں

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

مرحلہ 4: Nginx Pod کو Namespace پر تعینات کریں۔

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

> kubectl رن nginx - تصویر =nginx -namespace فرنٹ اینڈ

یہ ایپ کی تعیناتی کی تفصیلات میں کوئی برداشت کنفیگریشن کے بغیر کلسٹر پر ایک ایپ تعینات کرتا ہے۔ kubectl کمانڈ کا استعمال کرتے ہوئے، ہم nginx pod کو نام کی جگہ کے فرنٹ اینڈ پر تعینات کرتے ہیں:

  متن کی تفصیل خود بخود تیار ہو گئی۔

مرحلہ 5: پھلیوں کی فہرست حاصل کریں۔

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

> kubectl حاصل pods -n فرنٹ اینڈ

چونکہ ہم نے صرف nginx بنایا ہے، اس لیے اس کمانڈ کو اس پوڈ کو اس کی حیثیت کے ساتھ درج کرنا چاہیے۔ مندرجہ ذیل آؤٹ پٹ دیکھیں:

مرحلہ 6: Kubernetes واقعات کا تجزیہ کریں۔

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

> kubectl واقعات حاصل کریں -n فرنٹ اینڈ

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

  متن کی تفصیل خود بخود تیار ہو گئی۔

جیسا کہ آپ پچھلے آؤٹ پٹ سے دیکھ سکتے ہیں، nginx pod مخصوص رواداری کے ساتھ طے شدہ ہے۔ 'پیغام' کی خاصیت ان کارروائیوں کی فہرست دکھاتی ہے جو عمل کے ساتھ انجام دی جاتی ہیں۔

مرحلہ 7: پھلیوں کی حالت کو چیک کریں۔

آخری مرحلہ پوڈ کی حیثیت کو دوبارہ چیک کرنا ہے جسے ہم نے پہلے بنایا تھا تاکہ یہ یقینی بنایا جا سکے کہ یہ ایک مخصوص اور درست نوڈ پر کامیابی کے ساتھ طے شدہ ہے۔ ایسا کرنے کے لیے، ہم درج ذیل kubectl کمانڈ استعمال کرتے ہیں۔

> kubectl حاصل pods -n فرنٹ اینڈ

جیسا کہ پچھلے آؤٹ پٹ میں دیکھا جا سکتا ہے، اب پوڈ کو داغدار نوڈ پر چلنے کی اجازت ہے کیونکہ اس کے خلاف برداشت قائم ہے۔

نتیجہ

اس گائیڈ میں، ہم نے داغدار ہونے اور رواداری کے بارے میں دریافت کیا۔ ہم نے داغ اور برداشت کے بنیادی کام کے بارے میں سیکھا۔ پھر، ہم نے ایک پھلی پر رواداری کو نافذ کیا۔ ایک سادہ مثال کی مدد سے، ہم نے سیکھا کہ کبرنیٹس میں نوڈ پر رواداری کو کیسے ترتیب دیا جائے۔