
Kubernetes فن تعمیر کے اہم اجزاء کیا ہیں اور ہر ایک کس چیز کے لیے ذمہ دار ہے؟
Kubernetes کلسٹر ایک کنٹرول ہوائی جہاز کے علاوہ ورکر مشینوں کے ایک سیٹ پر مشتمل ہوتا ہے، جسے نوڈز کہتے ہیں، جو پوڈز میں کنٹینرائزڈ ایپلی کیشنز چلاتے ہیں۔ Pods کو چلانے کے لیے ہر کلسٹر کو کم از کم ایک ورکر نوڈ کی ضرورت ہوتی ہے۔
تصوراتی طور پر، Kubernetes اعلانیہ ہے: آپ API سرور پر مطلوبہ حالت جمع کراتے ہیں (ecd میں ذخیرہ)، اور کنٹرولرز مسلسل مفاہمت کے لوپ چلاتے ہیں جو اختلافات کو دیکھتے ہیں اور اصل حالت کو مطلوبہ حالت کی طرف لے جانے کے لیے کام کرتے ہیں۔
ہوائی جہاز کے اجزاء کو کنٹرول کریں۔
کنٹرول طیارہ کلسٹر کے بارے میں عالمی فیصلے کرتا ہے (جیسے شیڈولنگ) اور کلسٹر کے واقعات کا جواب دیتا ہے۔ پیداوار میں یہ عام طور پر اعلی دستیابی کے لیے متعدد مشینوں میں چلتا ہے۔
- kube-apiserver — وہ بنیادی جز جو Kubernetes HTTP API کو بے نقاب کرتا ہے۔ یہ کنٹرول ہوائی جہاز کا سامنے سرے اور رابطے کا واحد نقطہ ہے: تمام تصدیق، اجازت، درخواست کی توثیق، اور اس کے ذریعے کلسٹر اسٹیٹ کے بہاؤ کو پڑھنا/لکھنا۔ یہ افقی طور پر ترازو کرتا ہے۔ عام تعیناتیوں میں یہ واحد Kubernetes جزو ہے جو براہ راست etcd میں کلسٹر اسٹیٹ کو پڑھتا اور لکھتا ہے۔ دیگر تمام اجزاء API سرور کے ذریعے ریاست کے ساتھ تعامل کرتے ہیں۔
- etcd — تمام کلسٹر ڈیٹا: کنفیگریشن، اسٹیٹ، اور میٹا ڈیٹا کے لیے Kubernetes کے بیکنگ اسٹور کے طور پر استعمال ہونے والا ایک مستقل اور انتہائی دستیاب کلیدی قدر اسٹور۔ etcd لازمی ہے اور سچائی کا واحد ذریعہ ہے — اسے کھونے کا مطلب تمام کلسٹر سٹیٹ کو کھو دینا ہے، اس لیے اسے کورم (ممبروں کی طاق تعداد) کے ساتھ چلنا چاہیے اور اس کا باقاعدگی سے بیک اپ لیا جانا چاہیے۔
- کیوب-شیڈیولر — پوڈز کو دیکھتا ہے جو ابھی تک کسی نوڈ کے پابند نہیں ہیں اور وسائل، رکاوٹوں اور پالیسیوں کو مدنظر رکھتے ہوئے ہر پوڈ کو ایک مناسب نوڈ کے لیے تفویض کرتا ہے۔
- kube-controller-manager — ایسے کنٹرولرز چلاتے ہیں جو Kubernetes API رویے کو نافذ کرتے ہیں (جیسے، نوڈ کنٹرولر، جاب کنٹرولر، EndpointSlice کنٹرولر)۔ ہر کنٹرولر مطلوبہ حالت کو دیکھتا ہے اور اس کی طرف اصل حالت کو ملاتا ہے۔
- کلاؤڈ-کنٹرولر-مینیجر (اختیاری) — بنیادی کلاؤڈ فراہم کنندہ کے ساتھ ضم ہوتا ہے، کلاؤڈ کے لیے مخصوص منطق کو Kubernetes کے بنیادی اجزاء سے الگ کرتا ہے۔
نوڈ کے اجزاء
یہ ہر نوڈ پر چلتے ہیں، Pods کو چلتے رہتے ہیں اور رن ٹائم ماحول فراہم کرتے ہیں۔
- کبلیٹ — وہ ایجنٹ جو اس بات کو یقینی بناتا ہے کہ پوڈز چل رہے ہیں، بشمول ان کے کنٹینرز۔ یہ Pod اسائنمنٹس کے لیے API سرور کو دیکھتا ہے، رن ٹائم کے ذریعے کنٹینرز کو شروع کرتا ہے، حجم کو ماؤنٹ کرتا ہے، لائیونس/ریڈینس پروبس چلاتا ہے، اور نوڈ اسٹیٹس کی رپورٹ کرتا ہے۔
- kube-proxy — نوڈس پر پروگرامنگ iptables یا IPVS قواعد کے ذریعے سروس نیٹ ورکنگ کو لاگو کرتا ہے تاکہ سروس کی ٹریفک کو صحیح Pod IPs پر بھیج دیا جائے۔ اسے اختیاری نشان زد کیا گیا ہے کیونکہ کچھ CNI پلگ ان (جیسے، eBPF موڈ میں Cilium) اپنا کام سنبھال لیتے ہیں، لیکن معیاری کلسٹر میں اس کی ضرورت ہوتی ہے۔
- کنٹینر رن ٹائم — کنٹینرز کو چلانے کے لیے ذمہ دار سافٹ ویئر (کنٹینر، CRI-O، وغیرہ، CRI انٹرفیس کے ذریعے)۔
ایڈونز
ایڈونز کلسٹر کی فعالیت کو بڑھاتے ہیں: کلسٹر DNS (کور ڈی این ایس بذریعہ ڈیفالٹ)، ڈیش بورڈ ویب UI، کنٹینر ریسورس مانیٹرنگ، اور کلسٹر لیول لاگنگ۔
کامن فالو اپ: تمام مواصلات API سرور کے ذریعے ہوتے ہیں — شیڈیولر، کنٹرولرز، اور کیوبلیٹ اسے صرف دیکھتے ہیں اور رد عمل ظاہر کرتے ہیں — جو API سرور کو کلسٹر کا اہم مرکز بناتا ہے۔
