پرو هوسٽر > بلاگ > انتظاميه > CRI-O Docker جي بدلي جي طور تي ڪبرنيٽس لاءِ رن ٽائم ماحول جي طور تي: سيٽ اپ CentOS 8 تي
CRI-O Docker جي بدلي جي طور تي ڪبرنيٽس لاءِ رن ٽائم ماحول جي طور تي: سيٽ اپ CentOS 8 تي
سلام! منهنجو نالو سرجي آهي، مان سرف ۾ DevOps آهيان. سرف ۾ DevOps ڊپارٽمينٽ جو مقصد نه رڳو ماهرن جي وچ ۾ رابطي کي قائم ڪرڻ ۽ ڪم جي عملن کي ضم ڪرڻ، پر موجوده ٽيڪنالاجيز کي فعال طور تي تحقيق ڪرڻ ۽ ان تي عمل ڪرڻ ٻنهي جي پنهنجي انفراسٽرڪچر ۽ گراهڪ جي انفراسٽرڪچر ۾.
هيٺ آئون ٿورڙي ڳالهائيندس ٽيڪنالاجي اسٽيڪ ۾ تبديلين جي باري ۾ ڪنٽينرز لاءِ جيڪي اسان ورهائڻ دوران محسوس ڪيون CentOS 8 ۽ ان بابت ڇا آهي CRI-O ۽ ڪيئن تڪڙو هڪ قابل عمل ماحول قائم ڪرڻ لاء ڪوبنيٿس.
ڇو Docker CentOS 8 ۾ شامل نه آهي؟
تازه ترين مکيه ريليز انسٽال ڪرڻ کان پوء رڇيل 8 يا CentOS 8 ڪو به مدد نه ٿو ڪري سگهي پر نوٽيس: اهي تقسيم ۽ سرڪاري ذخيرا ايپليڪيشن تي مشتمل نه آهن Docker، جيڪو نظرياتي ۽ فنڪشنل طور تي پيڪيجز کي تبديل ڪري ٿو پوڊيم, اڏاوت (موجوده تقسيم ۾ ڊفالٽ) ۽ CRI-O. اهو ٻين شين جي وچ ۾، Red Hat پاران اوپن ڪنٽينر انيشيئيٽو (OCI) منصوبي جي حصي طور ترقي يافته معيارن جي عملي عمل جي ڪري آهي.
OCI جو مقصد، جيڪو لينڪس فائونڊيشن جو حصو آهي، ڪنٽينر فارميٽ ۽ رن ٽائمز لاءِ اوپن انڊسٽري معيار ٺاهڻ آهي جيڪي هڪ ئي وقت ۾ ڪيترائي مسئلا حل ڪن ٿا. پهرين، اهي لينڪس جي فلسفي جي تضاد نه ڪندا هئا (مثال طور، حصو ۾ ته هر پروگرام کي هڪ عمل ڪرڻ گهرجي، ۽ Docker هڪ قسم جي آل ان ون گڏيل). ٻيو، اهي سافٽ ويئر ۾ موجود سڀني خامين کي ختم ڪري سگھن ٿا Docker. ٽيون، اهي مڪمل طور تي مطابقت رکن ٿيون ڪاروباري گهرجن سان جيڪي اڳواٽ تجارتي پليٽ فارمن پاران مقرر ڪيل ڪنٽينر ٿيل ايپليڪيشنن کي ترتيب ڏيڻ، انتظام ڪرڻ ۽ خدمت ڪرڻ لاءِ (مثال طور، Red Hat OpenShift).
shortcomings Docker ۽ نئين سافٽ ويئر جا فائدا اڳ ۾ ئي ڪجهه تفصيل سان بيان ڪيا ويا آهن اهو مضمون، ۽ او سي آءِ پروجيڪٽ جي اندر پيش ڪيل پوري سافٽ ويئر اسٽيڪ جو تفصيلي تفصيل ۽ ان جي تعميراتي خصوصيتن کي سرڪاري دستاويزن ۽ آرٽيڪلز ۾ ڳولهي سگهجي ٿو ريڊ هيٽ پاڻ (نه خراب ناهي. هڪ مضمون Red Hat بلاگ ۾) ۽ ٽئين پارٽي ۾ جائزو.
پوڊيم رن سي پروسيس ذريعي ڪنٽينرز ۽ تصويري اسٽوريج سان سڌو رابطو؛
اڏاوت - اسيمبلي ۽ رجسٽري ۾ تصويرون اپ لوڊ ڪرڻ؛
CRI-O - ڪنٽينر آرڪيسٽريشن سسٽم لاءِ هڪ قابل عمل ماحول (مثال طور، ڪبرنيٽس).
مان سمجهان ٿو ته اسٽيڪ جي اجزاء جي وچ ۾ رابطي جي عام اسڪيم کي سمجهڻ لاء، هتي هڪ ڪنيڪشن ڊراگرام مهيا ڪرڻ جي صلاح ڏني وئي آهي ڪوبنيٿس c رن سي ۽ استعمال ڪندي گهٽ-سطح لائبريريون CRI-O:
CRI-O и ڪوبنيٿس ساڳئي رليز ۽ سپورٽ چڪر تي عمل ڪريو (مطابقت وارو ميٽرڪس تمام سادو آهي: اهم نسخو ڪوبنيٿس и CRI-O coincide)، ۽ اهو، ڊولپرز طرفان هن اسٽيڪ جي آپريشن جي مڪمل ۽ جامع جانچ تي ڌيان ڏيڻ، اسان کي اهو حق ڏئي ٿو ته ڪنهن به استعمال جي منظرنامي جي تحت آپريشن ۾ وڌ ۾ وڌ حاصل ٿيندڙ استحڪام جي اميد رکون (هتي نسبتي روشني پڻ فائديمند آهي. CRI-O سان مقابلو Docker ڪارڪردگي جي مقصدي حد جي ڪري).
جڏهن انسٽال ٿي رهي آهي ڪوبنيٿس "صحيح رستو" طريقو (OCI جي مطابق، يقينا) استعمال ڪندي CRI-O تي CentOS 8 اسان کي ڪجهه ننڍيون مشڪلاتون پيش آيون، جن کي اسان ڪاميابيءَ سان پار ڪيو. مان توهان سان انسٽاليشن ۽ ترتيب ڏيڻ جي هدايتن سان حصيداري ڪرڻ ۾ خوش ٿيندس، جنهن ۾ مجموعي طور تي 10 منٽ لڳندا.
CRI-O فريم ورڪ استعمال ڪندي CentOS 8 تي ڪبرنيٽس کي ڪيئن ترتيب ڏيڻ
شرطون: گهٽ ۾ گهٽ هڪ ميزبان جي موجودگي (2 ڪور، 4 GB ريم، گهٽ ۾ گهٽ 15 GB اسٽوريج) نصب ٿيل سان CentOS 8 (“سرور” تنصيب جي پروفائيل جي سفارش ڪئي وئي آهي)، انهي سان گڏ مقامي ڊي اين ايس ۾ ان لاءِ داخلائون (آخري رعايت جي طور تي، توهان /etc/hosts ۾ داخل ٿيڻ سان حاصل ڪري سگهو ٿا). ۽ نه وساريو مٽا سٽا کي بند ڪريو.
اسان سڀني عملن کي ميزبان تي روٽ استعمال ڪندڙ جي طور تي انجام ڏيون ٿا، محتاط رھو.
پهرين قدم ۾، اسان OS کي ترتيب ڏينداسين، CRI-O لاءِ ابتدائي انحصار کي انسٽال ۽ ترتيب ڏينداسين.
اچو ته OS کي تازه ڪاري ڪريون:
dnf -y update
اڳيون توهان کي فائر وال ۽ SELinux ترتيب ڏيڻ جي ضرورت آهي. هتي هر شي ان ماحول تي منحصر آهي جنهن ۾ اسان جو ميزبان يا ميزبان ڪم ڪندو. توهان يا ته سيٽ اپ ڪري سگهو ٿا فائر وال جي سفارشن مطابق دستاويز، يا، جيڪڏهن توهان هڪ ڀروسي واري نيٽ ورڪ تي آهيو يا ٽئين پارٽي جي فائر وال استعمال ڪريو ٿا، ڊفالٽ زون کي ڀروسو ۾ تبديل ڪريو يا فائر وال کي بند ڪريو:
پهرين nuance تي ڌيان ڏيو جيڪو اسان انسٽاليشن جي عمل دوران محسوس ڪيو: توهان کي ترتيب ڏيڻ جي ضرورت آهي CRI-O خدمت شروع ڪرڻ کان اڳ، ڇو ته گھربل ڪميون جزو مخصوص جڳھ کان مختلف آھي:
sed -i 's//usr/libexec/crio/conmon//usr/bin/conmon/' /etc/crio/crio.conf
ٽيون اهم نقطو جيڪو اسان کي انسٽاليشن دوران سامهون اچي ٿو: ان حقيقت جي باوجود ته اسان اشارو ڪيو آهي ڊرائيور استعمال ڪيو cgroup، ۽ ان جي ٺاھ جوڙ دليلن ذريعي گذريو ڪوبلٽ پراڻي آهي (جيئن واضح طور تي دستاويز ۾ بيان ڪيو ويو آهي)، اسان کي فائل ۾ دليل شامل ڪرڻ جي ضرورت آهي، ٻي صورت ۾ اسان جو ڪلستر شروع نه ڪيو ويندو:
حسب ضرورت ڪرڻ ڪنٽرول جهاز يا ڪم ڪندڙ منٽن ۾ nodes، توهان استعمال ڪري سگهو ٿا هن رسم الخط سان.
اهو اسان جي ڪلستر کي شروع ڪرڻ جو وقت آهي.
ڪلستر کي شروع ڪرڻ لاء، حڪم جاري ڪريو:
kubeadm init --pod-network-cidr=10.244.0.0/16
پڪ ڪريو ته ڪلستر ۾ شامل ٿيڻ لاءِ حڪم لکو “kubeadm join …”، جيڪو توهان کي استعمال ڪرڻ لاءِ چيو وڃي ٿو ٻاڦ جي آخر ۾، يا گهٽ ۾ گهٽ مخصوص ٽوڪن.
اچو ته انسٽال ڪريون پلگ ان (CNI) پوڊ نيٽ ورڪ لاءِ. مان استعمال ڪرڻ جي صلاح ڏيان ٿو ڪيليڪو. ممڪن آهي ته وڌيڪ مشهور فلاليل سان مطابقت جا مسئلا آهن نڪتل، ها ۽ ڪيليڪو - صرف CNI عمل درآمد جي سفارش ڪئي وئي ۽ پروجيڪٽ پاران مڪمل طور تي آزمائشي ڪوبنيٿس:
ڪم ڪندڙ نوڊ کي اسان جي ڪلستر سان ڳنڍڻ لاء، توهان کي ان کي ترتيب ڏيڻ جي ضرورت آهي هدايتون 1 ۽ 2 مطابق، يا استعمال ڪريو اسڪرپٽ، پوءِ ”kubeadm init...“ آئوٽ مان ڪمانڊ هلايو جيڪو اسان اڳئين قدم ۾ لکيو آهي:
مون کي اميد آهي ته مٿي ڏنل هدايتون توهان کي ڪجهه وقت ۽ اعصاب بچائڻ ۾ مدد ڪن ٿيون.
صنعت ۾ واقع ٿيندڙ عملن جو نتيجو اڪثر ان تي منحصر هوندو آهي ته اهي آخر استعمال ڪندڙن جي وڏي تعداد ۽ ٻين سافٽ ويئر جي ڊولپرز طرفان لاڳاپيل جڳهه ۾ ڪيئن قبول ڪيا ويندا آهن. اهو اڃا تائين مڪمل طور تي واضح ناهي ته OCI جي شروعاتن کي ڪجهه سالن ۾ ڇا ٿيندو، پر اسان خوشي سان ڏسندا سين. توھان پنھنجي راء کي ھاڻي تبصرن ۾ حصيداري ڪري سگھو ٿا.