JavaRush /جاوا بلاگ /Random-UR /Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے...

Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟

گروپ میں شائع ہوا۔
یہ سب پیکیجنگ سے شروع ہوتا ہے۔ صنعتی ترقی میں، اسمبل شدہ ایپلیکیشن کو "پیکیج" کرنے کی ضرورت ہوتی ہے، مثال کے طور پر، تاکہ اسے سرور پر منتقل کیا جا سکے جہاں یہ کام کرے گی، جس شکل میں ڈویلپر نے اسے اپنے کمپیوٹر پر اسمبل کیا تھا، اس طرح کی "پیکیجنگ" تحفظ کی ایک قسم کے طور پر کام کرنا چاہئے. یہ حیرت کو ختم کرتا ہے، جیسے کہ جب کوئی ایپلیکیشن ٹیسٹ کے دوران کام کرتی ہے، لیکن پروڈکشن میں منتقل ہونے پر ٹوٹ جاتی ہے۔ اس کے علاوہ، "پیکیجنگ" ایک ہی سرور پر واقع ایک ایپلیکیشن کو دوسرے سے الگ کرتی ہے، اس طرح کی تنہائی ایک ایپلی کیشن کو دوسرے کے کام میں مداخلت نہیں کرنے دیتی ہے (مثال کے طور پر: ایک ایپلی کیشن سرور کی تمام ریم پر قبضہ نہیں کر سکے گی، اس کی قسمت پر دوسری درخواست)۔ مائیکرو سروس فن تعمیر کے ساتھ "پیکیجنگ" کے فوائد خاص طور پر قابل توجہ ہیں، اور یہ قابل فہم ہے؛ بہت سی مائیکرو سروسز ہیں - بہت سی چھوٹی ایپلی کیشنز جو ایک دوسرے کے ساتھ بات چیت ضرور کرتی ہیں، لیکن ایک ہی وقت میں ایک دوسرے کے ساتھ مداخلت نہیں کرنی چاہیے۔ ایک مثال دراز کا ایک سینہ (سرور) ہے، جس میں بہت سے مختلف دراز ہوتے ہیں، اور ہم آسانی سے مختلف جرابوں کو ایک دراز سے دوسرے میں منتقل کر سکتے ہیں، اور ساتھ ہی وہ ایک دوسرے کے ساتھ یا پینٹی کے ساتھ نہیں ملیں گے۔ Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 1 پیکیجنگ ورچوئلائزیشن ٹولز کے ذریعہ بنائی گئی ہے۔ ایک زمانے میں، ورچوئل مشینیں (VMs) کو "پیکجنگ" کے طور پر استعمال کیا جاتا تھا۔ بوڑھے لوگوں کو یاد ہوگا کہ انہوں نے ونڈوز ایکس پی کو وسٹا پر ورچوئل مشین میں کیسے لگایا تھا۔ اب ایپلیکیشن پیکیجنگ کے لیے VM ماضی کی بات ہے۔ کنٹینرز نے دنیا کو اپنی لپیٹ میں لے لیا ہے۔ کیونکہ وہ ہیں: ہلکے، زیادہ پیداواری اور محفوظ۔ مزید تفصیل میں: کنٹینر ورچوئل مشین سے کیسے مختلف ہے؟ Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 2 آپ کو کنٹینرز کے کچھ فوائد یاد رکھنے کی ضرورت ہے: • وہ سائز میں چھوٹے ہوتے ہیں (سرور پر کم میموری لیتے ہیں)؛ مشترکہ سرور وسائل تک رسائی حاصل کریں (رام، پروسیسر کمپیوٹنگ ٹائم)؛ • دوسرے ماحول کے لیے بہتر نقل پذیری (ٹیسٹ سے صنعتی تک)؛ • لانچ کی تیز رفتار فراہم کریں (چونکہ کنٹینر ہلکا ہے، اس لیے یہ تیزی سے لانچ ہوتا ہے)۔ ڈوکر کنٹینرز کی ماں ہے۔ جب وہ کنٹینر کہتے ہیں تو ان کا مطلب ڈوکر ہوتا ہے۔ ڈوکر کنٹینرائزڈ ماحول میں ایپلی کیشنز کی تعیناتی اور انتظام کو خودکار کرنے کا سافٹ ویئر ہے۔ مثالوں کا استعمال کرتے ہوئے، Docker ایک آن لائن ڈیزائنر اور کرین والے 3D پرنٹر کے درمیان ایک کراس ہے۔ یعنی وہ پہلے کسی کنٹینر کے لیے ایک ٹیمپلیٹ (تصویر) ڈیزائن کر سکتا ہے، دی گئی شرائط (تصویر) کے مطابق کنٹینر کو پرنٹ کر سکتا ہے (تصویر) کر سکتا ہے، اور پھر جہاں ضرورت ہو اسے منتقل کر سکتا ہے۔ ڈوکر فائلز لیور کے بجائے استعمال ہوتے ہیں۔ انتظامی عمل آسان ہے: آپ فائلیں، کمانڈز لکھتے ہیں، انہیں چلاتے ہیں، اور دیکھیں کہ کیا ہوتا ہے۔ Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 3 ڈوکر ڈوکر کمپوز سے پہلی واقفیت - اپ گریڈ شدہ ڈوکر اب آئیے ایک ایسے منظر نامے کو دیکھتے ہیں جہاں ایک جگہ پر متعدد کنٹینرز چلانے کی ضرورت ہے۔ اس کے لیے استعمال ہونے والی یوٹیلیٹی Docker Compose ہے۔ ڈوکر کمپوز ایک ٹول ہے جو ڈوکر کے ساتھ شامل ہے۔ یہ پروجیکٹ کی تعیناتی سے متعلق مسائل کو حل کرنے کے لیے ڈیزائن کیا گیا ہے۔ Docker اور Docker Compose کے درمیان فرق: Docker کا استعمال انفرادی کنٹینرز کے انتظام کے لیے کیا جاتا ہے۔ ڈوکر کمپوز کا استعمال بیک وقت متعدد کنٹینرز کو منظم کرنے کے لیے کیا جاتا ہے۔ یہ ٹول ڈوکر جیسی صلاحیتیں پیش کرتا ہے، لیکن آپ کو زیادہ پیچیدہ ڈھانچے کے ساتھ کام کرنے کی اجازت دیتا ہے۔ Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 4 ڈوکر کمپوز استعمال کرنے کا عام منظر: تصور کریں کہ آپ ویب پروجیکٹ کے ڈویلپر ہیں۔ اس پروجیکٹ میں دو ویب سائٹس شامل ہیں۔ پہلا کاروباری لوگوں کو صرف چند کلکس کے ساتھ آن لائن اسٹورز بنانے کی اجازت دیتا ہے۔ دوسرا مقصد کسٹمر سپورٹ ہے۔ یہ دونوں سائٹیں ایک ہی ڈیٹا بیس کے ساتھ تعامل کرتی ہیں۔ آپ کا پروجیکٹ زیادہ سے زیادہ مقبول ہوتا جا رہا ہے، اور یہ پتہ چلتا ہے کہ جس سرور پر یہ چلتا ہے اس کی طاقت اب کافی نہیں ہے۔ نتیجے کے طور پر، آپ پورے پروجیکٹ کو دوسری مشین میں منتقل کرنے کا فیصلہ کرتے ہیں۔ اگر آپ نے ڈوکر کمپوز جیسی کوئی چیز استعمال نہیں کی ہے، تو آپ کو ایک وقت میں کنٹینرز کو منتقل اور دوبارہ ترتیب دینا پڑے گا، امید ہے کہ آپ اس عمل میں کچھ بھی نہیں بھولیں گے۔ اگر آپ Docker Compose استعمال کرتے ہیں، تو پھر اپنے پروجیکٹ کو نئے سرور پر منتقل کرنا ایک ایسا معاملہ ہے جسے چند کمانڈز چلا کر حل کیا جا سکتا ہے۔ نئے مقام پر پروجیکٹ کی منتقلی کو مکمل کرنے کے لیے، آپ کو صرف کچھ سیٹنگز بنانے اور ڈیٹا بیس کی بیک اپ کاپی کو نئے سرور پر اپ لوڈ کرنے کی ضرورت ہے۔ عام ڈاکر کمپوزر: Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 5 آپ کو یہاں کیا یاد رکھنے کی ضرورت ہے: کنٹینرز "پیکیجنگ" ایپلی کیشنز کے لیے اہم ذریعہ ہیں۔ ڈوکر کنٹینرز کو سنبھالتا ہے، کنٹینر کی تصاویر بناتا ہے، کنٹینرز کو اٹھاتا اور منتقل کرتا ہے۔ کنٹینرز کے ایک گروپ کو ایک ساتھ منظم کرنے کے لیے، Docker Compose استعمال کیا جاتا ہے، جو Docker میں شامل ہے۔ یہ پروگرام مفت سافٹ ویئر ہیں (مفت - ایک لفظ میں) Kubernetes (K8s) - Docker آٹومیشن اور اس لیے ہم نے کنٹینرز کو تعینات کیا، ہم جانتے ہیں کہ انہیں "بیچوں میں" مشین سے دوسرے مشین میں کیسے منتقل کرنا ہے۔ لیکن اچانک ایک کنٹینر گر گیا! کیا کرنا ہے؟ اسے دوبارہ کون اٹھائے گا؟ Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 6 یقینا، آپ ڈوکر کے ذریعے دستی طور پر کر سکتے ہیں۔ لیکن آپ کو کچھ کرنے کی ضرورت ہے، کچھ لکھنے کی ضرورت ہے، آپ کو کسی قسم کے آٹومیشن ٹول کی ضرورت ہے۔ یہیں سے Kubernetes (مختصرا K8s) تصویر میں آتا ہے، یہ کنٹینرز کے انتظام اور آرکیسٹریشن (متعلقہ اداروں کا خودکار انتظام) سے بھی نمٹتا ہے۔ آپ کے اختیار میں K8s کے ساتھ، آپ کو دن رات کنٹینرز کی نگرانی کرنے کی ضرورت نہیں ہے۔ رویے کے منظر نامے کی وضاحت کرنے کے لیے یہ کافی ہے، اور K8s خود ہی سب کچھ کرے گا۔ Kubernetes 1 کی کلیدی خصوصیات۔ آپ کی کنفیگریشن کی اسکیل ایبلٹی اور انتظام فراہم کرتی ہے۔ 2. آپ یہ بیان کر سکتے ہیں کہ آپ کلسٹر تعینات کرتے وقت کیا حاصل کرنا چاہتے ہیں، اور K8s یہ کریں گے۔ مثال کے طور پر، پھلیوں کی تعداد کی وضاحت کریں۔، ان کے لیے کتنی میموری مختص کرنی ہے، پوڈز پر (کنٹینرز میں) تعینات کردہ ایپلی کیشنز کی نقل (مثالوں) کی تعداد کی نشاندہی کرتی ہے۔ 3. ایک مخصوص حالت میں سسٹم کو برقرار رکھنے کے لیے ذمہ دار؛ اگر کوئی چیز گر جاتی ہے، تو K8s اسے قائم کنفیگریشن کے مطابق اٹھا لے گا۔ آپ کو یہاں کیا یاد رکھنے کی ضرورت ہے: Kubernetes کنٹینرائزڈ ایپلی کیشنز کو آرکیسٹریٹنگ کرنے کا ایک ٹول ہے - ایک کلسٹر میں ان کی تعیناتی، اسکیلنگ اور کوآرڈینیشن کو خودکار کرنا۔ ڈوکر سمیت بڑی کنٹینرائزیشن ٹیکنالوجیز کو سپورٹ کرتا ہے۔ K8s اوپن سورس سافٹ ویئر ہے۔ Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 7 OpenShift ورچوئلائزیشن کی دنیا میں ایک فراری ہے، ٹھنڈا، تیز اور مہنگا موضوع کو تیار کرتے ہوئے، آئیے OpenShift کی طرف چلتے ہیں۔ OpenShift Kubernetes کا ایک اضافہ ہے جو اضافی فنکشنز پیش کرتا ہے۔ یہ فوری طور پر استعمال کے لیے تیار ہے، اسے طویل اور تکلیف دہ ترتیب کی ضرورت نہیں ہے، اور اسے فوری طور پر پروڈکشن میں لایا جا سکتا ہے۔ دیکھیں کہ کبرنیٹس کے اوپر کتنے مختلف آئیکنز ہیں۔ اور ان میں سے ہر ایک اپنی اپنی ٹھنڈی چیزیں کرتا ہے۔ Docker، Kubernetes، OpenShift کون ہیں اور ان کا ایک دوسرے سے کیا تعلق ہے؟  - 8 OpenShift کی جھلکیاں: • K8s کے برعکس یہ ایک ادا شدہ پروڈکٹ ہے۔ • باکس سے باہر DevOps، بنیادی نیلے/سبز، کینری تعیناتی کے منظرناموں کے لیے سپورٹ؛ • بلٹ ان جینکنز سپورٹ؛ • کلسٹر کے ساتھ انتظام کرنے اور کام کرنے کے لیے آسان ٹولز فراہم کرتا ہے۔ • زیادہ سخت سیکیورٹی ماڈل اور بلٹ ان مانیٹرنگ ہے۔ ایک بار پھر اس بات پر زور دینے کے قابل ہے کہ اوپن شفٹ کبرنیٹس کے برعکس ایک ادا شدہ پروڈکٹ ہے۔ فرق یہ ہے: اگر ہم ننگے کبرنیٹس لیتے ہیں، تو ہم تمام مسائل خود حل کرتے ہیں۔ اگر ہم OpenShift کے بارے میں بات کرتے ہیں، تو یہ Red Hat کا ایک پروڈکٹ ہے، جو ابھرتے ہوئے مسائل کو ادائیگی کی مدد کے حصے کے طور پر حل کرتا ہے۔ آئیے خلاصہ کرتے ہیں: صنعتی ترقی میں ایپلیکیشن کو "پیکیج" کرنے کی ضرورت ہے؛ یہ نقطہ نظر خاص طور پر مائیکرو سروس فن تعمیر میں متعلقہ ہے۔ کنٹینرز پیکیجنگ ایپلی کیشنز کا بنیادی ذریعہ ہیں۔ ڈوکر کنٹینرز کو سنبھالتا ہے، کنٹینر کی تصاویر بناتا ہے، کنٹینرز کو اٹھاتا اور منتقل کرتا ہے۔ کنٹینرز کے ایک گروپ کو ایک ساتھ منظم کرنے کے لیے، Docker Compose استعمال کیا جاتا ہے، جو Docker میں شامل ہے۔ یہ پروگرام مفت سافٹ ویئر ہیں۔ Kubernetes(K8s) کنٹینرائزڈ ایپلی کیشنز کو آرکیسٹریٹنگ کرنے کا ایک ٹول ہے - ایک کلسٹر میں ان کی تعیناتی، اسکیلنگ اور کوآرڈینیشن کو خودکار کرنا۔ ڈوکر سمیت بڑی کنٹینرائزیشن ٹیکنالوجیز کو سپورٹ کرتا ہے۔ K8s اوپن سورس سافٹ ویئر ہے۔ OpenShift Kubernetes میں ایک اضافہ ہے جو اضافی فعالیت پیش کرتا ہے۔ یہ ایک ادا شدہ مصنوعات ہے، K8s کے برعکس، کارپوریٹ استعمال کے لیے ہے۔ DevOps کو باکس سے باہر فراہم کرتا ہے: مرکزی تعیناتی کے منظرناموں کے لیے سپورٹ بلیو/گرین، کینری، جینکنز کے لیے بلٹ ان سپورٹ رکھتا ہے اور کلسٹر کے ساتھ انتظام کرنے اور کام کرنے کے لیے آسان ٹولز فراہم کرتا ہے۔ ایک زیادہ سخت سیکیورٹی ماڈل اور بلٹ ان مانیٹرنگ ہے۔ ان لوگوں کے لیے جو کوڈ میں خارش کر رہے ہیں: اسپرنگ بوٹ ایپلیکیشن کو کنٹینر میں پیک کریں ڈاکر میں پوسٹگریس کو کیسے تعینات کریں اور اسپرنگ بوٹ ایپلیکیشن ویبینار سے کیسے جڑیں: ڈوکر - کنٹینرز کے ساتھ کیسے کام کریں؟ - جاوا میں بیک اینڈ ڈیولپمنٹ
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION