DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

Docker Swarm, Kubernetes и Mesos являются наиболее популярными фреймворками для оркестровки контейнеров. В своем выступлении Арун Гупта сравнивает следующие аспекты работы Docker, Swarm, и Kubernetes:

  • مقامي ترقي.
  • لڳائڻ جا ڪم.
  • ملٽي ڪنٽينر ايپليڪيشنون.
  • سروس دريافت.
  • اسڪيلنگ سروس.
  • هڪ ڀيرو هلائڻ وارا ڪم.
  • Maven سان انضمام.
  • "رولنگ" اپڊيٽ.
  • ڪوچ بيس ڊيٽابيس ڪلستر ٺاهڻ.

نتيجي طور، توهان هڪ واضح سمجھ حاصل ڪندا ته هر آرڪيسٽريشن ٽول کي پيش ڪرڻو آهي ۽ سکو ته انهن پليٽ فارمن کي مؤثر طريقي سان ڪيئن استعمال ڪجي.

ارون گپتا Amazon ويب سروسز تي اوپن سورس پراڊڪٽس لاءِ چيف ٽيڪنالوجسٽ آهي، جيڪو 10 سالن کان سن، اوريڪل، ريڊ هيٽ ۽ ڪوچ بيس ڊولپر ڪميونٽيز کي ترقي ڪري رهيو آهي. مارڪيٽنگ مهمن ۽ پروگرامن لاءِ حڪمت عملي کي ترقي ۽ لاڳو ڪرڻ لاءِ معروف ڪراس-فنڪشنل ٽيمن ۾ ڪم ڪرڻ جو وسيع تجربو آهي. هن سن انجنيئرن جي ٽيمن جي اڳواڻي ڪئي، جاوا اي اي ٽيم جي باني مان هڪ آهي ۽ ڊيوڪسڪس 4 ڪِڊس جي يو ايس برانچ جو خالق آهي. ارون گپتا آئي ٽي بلاگز ۾ 2 هزار کان وڌيڪ پوسٽن جو ليکڪ آهي ۽ 40 کان وڌيڪ ملڪن ۾ ڳالهيون ڪري چڪو آهي.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 1
DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 2

لڪير 55 تي مشتمل آهي COUCHBASE_URI هن ڊيٽابيس سروس ڏانهن اشارو ڪندي، جيڪا پڻ ڪبرنيٽس ڪنفيگريشن فائل استعمال ڪندي ٺاهي وئي هئي. جيڪڏھن توھان ڏسندا لڪير 2، توھان ڏسي سگھو ٿا قسم: خدمت ھڪڙي خدمت آھي جنھن کي مان ٺاھي رھيو آھيان couchbase-service سڏيو ويندو آھي، ۽ اھو ساڳيو نالو لائن 4 تي درج ٿيل آھي. ھيٺ ڪجھ بندرگاھ آھن.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

مکيه لائينون 6 ۽ 7 آھن. خدمت ۾ مان چوان ٿو، "اي، ھي اھي ليبل آھن جن کي مان ڳولي رھيو آھيان!"، ۽ اھي ليبل ڪجھ به نه آھن متغير جوڙن جي نالن کان، ۽ لڪير 7 پوائنٽون منھنجي couchbase-rs-pod ڏانھن. درخواست. هيٺ ڏنل بندرگاهن آهن جيڪي انهن ساڳين ليبلن تائين رسائي فراهم ڪن ٿيون.

لائن 19 تي آئون هڪ نئون قسم ReplicaSet ٺاهيان ٿو، لائن 31 ۾ تصوير جو نالو آهي، ۽ لائنون 24-27 منهنجي پوڊ سان لاڳاپيل ميٽا ڊيٽا ڏانهن اشارو ڪري ٿي. اھو اھو آھي جيڪو خدمت ڳولي رھيو آھي ۽ ڇا ڪنيڪشن ٿيڻ گھرجي. فائل جي آخر ۾ لائنن 55-56 ۽ 4 جي وچ ۾ ڪجهه قسم جو ڪنيڪشن آهي، چيو ته: "هي خدمت استعمال ڪريو!"

تنهن ڪري، آئون پنهنجي خدمت شروع ڪريان ٿو جڏهن هڪ ريپليڪا سيٽ موجود آهي، ۽ جيئن ته هر نقل واري سيٽ کي لاڳاپيل ليبل سان پنهنجو پورٽ هوندو آهي، اهو خدمت ۾ شامل آهي. ڊولپر جي نقطي نظر کان، توهان صرف خدمت کي سڏي ٿو، جيڪو پوء استعمال ڪري ٿو ريپليڪس جو سيٽ توهان کي گهربل آهي.

نتيجي طور، مون وٽ ھڪڙو وائلڊ فلائي پوڊ آھي جيڪو ڪائوچ بيس سروس ذريعي ڊيٽابيس جي پس منظر سان رابطو ڪري ٿو. مان ڪيترن ئي وائلڊ فلائي پوڊز سان فرنٽ اينڊ استعمال ڪري سگھان ٿو، جيڪو پڻ ڪوچ بيس سروس ذريعي ڪوچ بيس پس منظر سان رابطو ڪري ٿو.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

بعد ۾ اسان ڏسنداسين ته ڪلستر کان ٻاهر موجود هڪ خدمت ڪيئن ان جي IP پتي ذريعي ان عناصر سان ڳالهائي ٿي جيڪي ڪلستر جي اندر واقع آهن ۽ هڪ اندروني IP پتو آهي.

تنهن ڪري، بي رياست ڪنٽينر عظيم آهن، پر رياستي ڪنٽينر استعمال ڪرڻ ڪيترو سٺو آهي؟ اچو ته ڏسو سسٽم سيٽنگون رياستي، يا مسلسل ڪنٽينرز لاءِ. Docker ۾، ڊيٽا اسٽوريج جي ترتيب لاءِ 4 مختلف طريقا آهن جن تي توهان کي ڌيان ڏيڻ گهرجي. پهريون آهي Implicit Per-Container، جنهن جو مطلب آهي ته جڏهن couchbase، MySQL يا MyDB اطمينان واري ڪنٽينر استعمال ڪن ٿا، اهي سڀ ڊفالٽ Sandbox سان شروع ٿين ٿا. اهو آهي، هر شي جيڪا ڊيٽابيس ۾ ذخيرو ٿيل آهي پاڻ کي ڪنٽينر ۾ محفوظ ڪيو ويندو آهي. جيڪڏهن ڪنٽينر غائب ٿي وڃي، ڊيٽا ان سان گڏ غائب ٿي ويندي.

ٻيو آهي Explicit Per-Container، جڏهن توهان ڊاکر حجم سان هڪ مخصوص اسٽوريج ٺاهيندا آهيو ڪمانڊ ٺاهي ۽ ان ۾ ڊيٽا اسٽور ڪريو. ٽيون في ميزبان طريقو اسٽوريج ميپنگ سان لاڳاپيل آهي، جڏهن ڪنٽينر ۾ محفوظ ڪيل هر شيءِ هڪ ئي وقت ميزبان تي نقل ڪئي وئي آهي. جيڪڏهن ڪنٽينر ناڪام ٿئي ٿو، ڊيٽا ميزبان تي رهندي. جنهنڪري ڪيترن ئي ملٽي ميزبان هوسٽ جو استعمال آهي، جيڪو مختلف حلن جي پيداوار واري مرحلي تي مشورو ڏنو ويندو آهي. اچو ته چئو ته توهان جا ڪنٽينر توهان جي ايپليڪيشنن سان گڏ هوسٽ تي هلن ٿا، پر توهان چاهيو ٿا ته توهان جي ڊيٽا کي انٽرنيٽ تي ڪٿي ذخيرو ڪريو، ۽ ان لاء توهان ورهايل سسٽم لاء خودڪار ميپنگ استعمال ڪندا آهيو.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

انهن طريقن مان هر هڪ مخصوص اسٽوريج هنڌ استعمال ڪري ٿو. /var/lib/docker/volumes تي ميزبان تي بي ترتيب ۽ واضح في-ڪنٽينر اسٽور ڊيٽا. جڏهن في-هسٽ جو طريقو استعمال ڪندي، اسٽوريج ڪنٽينر اندر نصب ٿيل آهي، ۽ ڪنٽينر پاڻ ميزبان تي نصب ٿيل آهي. multihosts لاء، حل جهڙوڪ Ceph، ClusterFS، NFS، وغيره استعمال ڪري سگھجن ٿيون.

جيڪڏهن هڪ مسلسل ڪنٽينر ناڪام ٿئي ٿي، اسٽوريج ڊاريڪٽري پهرين ٻن ڪيسن ۾ ناقابل رسائي ٿي ويندي آهي، پر آخري ٻن ڪيسن ۾ رسائي برقرار رکي ٿي. بهرحال، پهرين صورت ۾، توهان هڪ مجازي مشين تي هلندڙ ڊاکر ميزبان ذريعي مخزن تائين رسائي ڪري سگهو ٿا. ٻي صورت ۾، ڊيٽا نه وڃائجي ويندي، ڇو ته توهان هڪ واضح اسٽوريج ٺاهي ڇڏيو آهي.

جيڪڏهن ميزبان ناڪام ٿئي ٿو، اسٽوريج ڊاريڪٽري پهرين ٽن ڪيسن ۾ دستياب ناهي؛ آخري صورت ۾، اسٽوريج سان ڪنيڪشن ۾ مداخلت نه ڪئي وئي آهي. آخرڪار، گڏيل فنڪشن مڪمل طور تي پهرين صورت ۾ اسٽوريج لاء خارج ٿيل آهي ۽ باقي ممڪن آهي. ٻي صورت ۾، توهان اسٽوريج حصيداري ڪري سگهو ٿا ان تي منحصر آهي ته توهان جو ڊيٽابيس ورهايل اسٽوريج کي سپورٽ ڪري ٿو يا نه. في-هسٽ جي صورت ۾، ڊيٽا جي ورڇ صرف هڪ ڏنل ميزبان تي ممڪن آهي، ۽ ملٽي هوسٽ لاءِ اهو ڪلستر جي توسيع ذريعي مهيا ڪيل آهي.

اهو اڪائونٽ ۾ ورتو وڃي جڏهن رياستي ڪنٽينرز ٺاهي. ٻيو ڪارائتو ڊاڪر ٽول آهي حجم پلگ ان، جيڪو ڪم ڪري ٿو ”بيٽريون موجود آهن، پر ان کي تبديل ڪيو وڃي. جڏهن توهان هڪ Docker ڪنٽينر شروع ڪيو، اهو چوي ٿو، "اي، هڪ دفعو توهان هڪ ڊيٽابيس سان ڪنٽينر شروع ڪيو، توهان پنهنجي ڊيٽا کي هن ڪنٽينر ۾ ذخيرو ڪري سگهو ٿا!" ھي ڊفالٽ خصوصيت آھي، پر توھان ان کي تبديل ڪري سگھو ٿا. هي پلگ ان توهان کي نيٽ ورڪ ڊرائيو استعمال ڪرڻ جي اجازت ڏئي ٿو يا ڪنٽينر ڊيٽابيس جي بدران. ان ۾ ھوسٽ بيسڊ اسٽوريج لاءِ ڊفالٽ ڊرائيور شامل آھي ۽ ڪنٽينر جي انضمام کي خارجي اسٽوريج سسٽم سان گڏ ڪرڻ جي اجازت ڏئي ٿو جھڙوڪ Amazon EBS، Azure Storage ۽ GCE Persistent ڊسڪ.

اڳيون سلائڊ ڏيکاري ٿو ڊاڪر حجم پلگ ان جو فن تعمير.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

نيرو رنگ نيرو Docker ميزبان سان لاڳاپيل Docker ڪلائنٽ جي نمائندگي ڪري ٿو، جنهن وٽ هڪ مقامي اسٽوريج انجڻ آهي جيڪو توهان کي ڊيٽا محفوظ ڪرڻ لاءِ ڪنٽينرز فراهم ڪري ٿو. سائو اشارو ڪري ٿو پلگ ان ڪلائنٽ ۽ پلگ ان ڊيمون، جيڪي پڻ ميزبان سان ڳنڍيل آهن. اهي نيٽ ورڪ اسٽوريج ۾ ڊيٽا کي ذخيرو ڪرڻ جو موقعو فراهم ڪن ٿا اسٽوريج جي پس منظر جي قسم جي توهان کي ضرورت آهي.

Docker Volume پلگ ان Portworx اسٽوريج سان استعمال ڪري سگھجي ٿو. PX-Dev ماڊل اصل ۾ هڪ ڪنٽينر آهي جيڪو توهان هلائيندا آهيو جيڪو توهان جي ڊڪر ميزبان سان ڳنڍيندو آهي ۽ توهان کي آساني سان ڊيٽا کي محفوظ ڪرڻ جي اجازت ڏيندو آهي Amazon EBS تي.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

Portworx ڪلائنٽ توهان کي مختلف اسٽوريج ڪنٽينرز جي صورتحال جي نگراني ڪرڻ جي اجازت ڏئي ٿو جيڪي توهان جي ميزبان سان ڳنڍيل آهن. جيڪڏهن توهان منهنجي بلاگ جو دورو ڪريو ٿا، توهان پڙهي سگهو ٿا ته ڪيئن ٺاهيو Portworx جو تمام گهڻو ڊڪر سان.

ڪبرنيٽس ۾ اسٽوريج جو تصور Docker سان ملندڙ جلندڙ آهي ۽ ڊائريڪٽرن جي نمائندگي ڪري ٿو جيڪي توهان جي ڪنٽينر تائين رسائي لائق آهن پوڊ ۾. اهي ڪنهن به ڪنٽينر جي زندگي کان آزاد آهن. سڀ کان وڌيڪ عام اسٽوريج قسمون موجود آهن hostPath، nfs، awsElasticBlockStore، ۽ gsePersistentDisk. اچو ته هڪ نظر رکون ته اهي اسٽور ڪبرنيٽس ۾ ڪيئن ڪم ڪن ٿا. عام طور تي، انهن کي ڳنڍڻ جو عمل 3 مرحلن تي مشتمل آهي.

پهريون اهو آهي ته ڪو ماڻهو نيٽ ورڪ جي پاسي، عام طور تي هڪ منتظم، توهان کي مسلسل اسٽوريج فراهم ڪري ٿو. هن لاءِ هڪ لاڳاپيل Persistent Volume ترتيب واري فائل آهي. اڳيون، ايپليڪيشن ڊولپر هڪ ترتيب واري فائل لکي ٿو جنهن کي PersistentVolumeClaim سڏيو ويندو آهي، يا هڪ PVC اسٽوريج جي درخواست، جنهن ۾ چوي ٿو: "مون وٽ 50GB ورهايل اسٽوريج آهي، پر ٻين ماڻهن لاء پڻ ان جي گنجائش استعمال ڪرڻ لاء، مان هن پي وي سي کي ٻڌائي رهيو آهيان ته آئون هن وقت صرف 10 GB جي ضرورت آهي". آخرڪار، ٽيون قدم اهو آهي ته توهان جي درخواست اسٽوريج جي طور تي نصب ڪئي وئي آهي، ۽ ايپليڪيشن جنهن ۾ پوڊ، يا ريپليڪا سيٽ، يا ٻيو ڪجهه آهي، ان کي استعمال ڪرڻ شروع ڪري ٿو. اهو ياد رکڻ ضروري آهي ته اهو عمل ذڪر ڪيل 3 مرحلن تي مشتمل آهي ۽ اسپيبلبل آهي.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

ايندڙ سلائڊ ڏيکاري ٿو ڪبرنيٽس پرسسٽنس ڪنٽينر جو AWS فن تعمير.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

ناسي مستطيل جي اندر جيڪو ڪبرنيٽس ڪلستر جي نمائندگي ڪري ٿو، اتي ھڪڙو ماسٽر نوڊ ۽ ٻه ڪم ڪندڙ نوڊس آھن، جن کي پيلي ۾ ڏيکاريل آھي. ڪم ڪندڙ نوڊس مان ھڪڙو ھڪڙو نارنگي پوڊ، اسٽوريج، ھڪڙي ريپليڪا ڪنٽرولر، ۽ سائي ڊاکر ڪوچ بيس ڪنٽينر تي مشتمل آھي. ڪلستر جي اندر، نوڊس جي مٿان، هڪ جامني مستطيل ظاهر ڪري ٿو سروس ٻاهران رسائي لائق. هي فن تعمير جي سفارش ڪئي وئي آهي ڊيٽا کي ذخيرو ڪرڻ لاء پاڻ ڊوائيس تي. جيڪڏهن ضروري هجي ته، مان پنهنجي ڊيٽا کي ڪلستر کان ٻاهر EBS ۾ محفوظ ڪري سگهان ٿو، جيئن ايندڙ سلائڊ ۾ ڏيکاريل آهي. هي اسڪيلنگ لاءِ هڪ عام نمونو آهي، پر ان کي استعمال ڪرڻ وقت ان تي غور ڪرڻ لاءِ هڪ مالي پاسو آهي - نيٽ ورڪ تي ڪٿي ڪٿي ڊيٽا محفوظ ڪرڻ ميزبان جي ڀيٽ ۾ وڌيڪ مهانگو ٿي سگهي ٿو. جڏهن ڪنٽينرائيزيشن حل چونڊيو، اهو هڪ وزني دليلن مان هڪ آهي.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

بس ڊاکر وانگر، توهان استعمال ڪري سگهو ٿا مسلسل ڪبرنيٽس ڪنٽينرز سان Portworx.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

اھو اھو آھي جيڪو موجوده ڪبرنيٽس 1.6 جي اصطلاحن ۾ سڏيو ويندو آھي "StatefulSet" - رياستي ايپليڪيشنن سان ڪم ڪرڻ جو ھڪڙو طريقو جيڪو پوڊ کي روڪڻ ۽ شاندار شٽ ڊائون کي انجام ڏيڻ بابت واقعن تي عمل ڪري ٿو. اسان جي حالت ۾، اهڙيون ايپليڪيشنون ڊيٽابيس آهن. منهنجي بلاگ ۾ توهان پڙهي سگهو ٿا ته ڪيئن ٺاهيو هڪ StatefulSet ڪبرنيٽس ۾ Portworx استعمال ڪندي.
اچو ته ترقي جي نقطي جي باري ۾ ڳالهايون. جيئن مون چيو، ڊڪر جا 2 ورجن آهن - سي اي ۽ اي اي، پهرين صورت ۾ اسان ڪميونٽي ايڊيشن جي مستحڪم ورزن بابت ڳالهائي رهيا آهيون، جيڪو هر 3 مهينن ۾ هڪ ڀيرو اپڊيٽ ڪيو ويندو آهي، ان جي ابتڙ EE جي مهيني اپڊيٽ ٿيل ورزن جي. توھان ڊائون لوڊ ڪري سگھو ٿا Docker for Mac، Linux يا Windows. هڪ دفعو انسٽال ٿي ويندو، Docker خودڪار طريقي سان تازه ڪاري ڪندو ۽ اهو شروع ڪرڻ تمام آسان آهي.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

Kubernetes لاءِ، مان Minikube ورجن کي ترجيح ڏيان ٿو - اهو هڪ سٺو طريقو آهي پليٽ فارم سان شروع ڪرڻ لاءِ هڪ واحد نوڊ تي ڪلسٽر ٺاهي. ڪيترن ئي نوڊس جا ڪلسٽر ٺاھڻ لاءِ، ورجن جو انتخاب وسيع آھي: ھي آھن kops، kube-aws (CoreOS+AWS)، kube-up (پراڻو). جيڪڏهن توهان AWS-based Kubernetes استعمال ڪرڻ جي ڪوشش ڪري رهيا آهيو، آئون AWS SIG ۾ شامل ٿيڻ جي صلاح ڏيان ٿو، جيڪو هر جمعه تي آن لائن ملندو آهي ۽ AWS Kubernetes سان ڪم ڪرڻ تي مختلف دلچسپ مواد شايع ڪري ٿو.

اچو ته ڏسو ته ڪيئن رولنگ اپڊيٽ انهن پليٽ فارمن تي ڪئي وئي آهي. جيڪڏهن اتي ڪيترن ئي نوڊس جو ڪلستر آهي، پوء اهو تصوير جو هڪ مخصوص نسخو استعمال ڪري ٿو، مثال طور، WildFly: 1. هڪ رولنگ تازه ڪاري جو مطلب آهي ته تصوير جو نسخو ترتيب سان هر نوڊ تي هڪ نئين سان تبديل ڪيو ويو آهي، هڪ ٻئي کان پوء.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

ائين ڪرڻ لاءِ، مان استعمال ڪريان ٿو ڊاڪر سروس اپڊيٽ (سروس جو نالو) ڪمانڊ، جنهن ۾ مان وضاحت ڪريان ٿو نئون ورجن وائلڊ فلائي: 2 تصوير ۽ تازه ڪاري جو طريقو اپڊيٽ-متوازي 2. نمبر 2 جو مطلب آهي ته سسٽم 2 ايپليڪيشن تصويرون کي اپڊيٽ ڪندو. ساڳئي وقت، پوء هڪ 10 سيڪنڊن جي تازه ڪاري 10s جي دير ٿي، جنهن کان پوء ايندڙ 2 تصويرون 2 وڌيڪ نوڊس وغيره تي تازه ڪاري ڪيون وينديون. هي سادو رولنگ اپڊيٽ ميڪانيزم توهان کي Docker جي حصي طور مهيا ڪيو ويو آهي.

Kubernetes ۾، هڪ رولنگ اپڊيٽ هن طرح ڪم ڪري ٿو. ريپليڪيشن ڪنٽرولر آر سي ساڳي ورزن جي ريپليڪس جو هڪ سيٽ ٺاهي ٿو، ۽ هن webapp-rc ۾ هر پوڊ وغيره ۾ واقع هڪ ليبل سان مهيا ڪيو ويو آهي. جڏهن مون کي پوڊ جي ضرورت آهي، آئون ايپليڪيشن سروس استعمال ڪريان ٿو etcd مخزن تائين رسائي لاءِ، جيڪا مون کي مخصوص ليبل استعمال ڪندي پوڊ فراهم ڪري ٿي.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

ان صورت ۾، اسان وٽ ريپليڪشن ڪنٽرولر ۾ 3 پوڊ آهن جيڪي وائلڊ فلائي ورجن 1 ايپليڪيشن کي هلائي رهيا آهن. جڏهن پس منظر ۾ اپڊيٽ ڪيو ويندو آهي، هڪ ٻيو ريپليڪيشن ڪنٽرولر ٺاهيو ويندو آهي ساڳئي نالي سان ۽ آخر ۾ انڊيڪس - xxxxx، جتي x بي ترتيب نمبر آهن، ۽ ساڳئي ليبل سان. ھاڻي ائپليڪيشن سروس ۾ ٽي پوڊ آھن ايپليڪيشن جي پراڻي ورزن سان ۽ ٽي پوڊ نئين ورزن سان گڏ نئين ريپليڪشن ڪنٽرولر ۾. ان کان پوء، پراڻن پوڊز کي ختم ڪيو وڃي ٿو، نئين پوڊس سان ريپليڪيشن ڪنٽرولر جو نالو تبديل ڪيو ويو آهي ۽ آپريشن ۾ رکيو ويو آهي.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

اچو ته نگراني ڏانهن وڃو. Docker ۾ ڪيترائي بلٽ ان مانيٽرنگ ڪمانڊ آھن. مثال طور، ڊاڪر ڪنٽينر اسٽيٽس ڪمانڊ لائن انٽرفيس توهان کي اجازت ڏئي ٿو ته ڪنٽينرز جي حالت بابت معلومات ڏيکاري ڪنسول کي هر سيڪنڊ - پروسيسر استعمال، ڊسڪ استعمال، نيٽ ورڪ لوڊ. Docker Remote API اوزار ڊيٽا مهيا ڪري ٿو ته ڪئين ڪلائنٽ سرور سان رابطو ڪري ٿو. اهو سادو حڪم استعمال ڪري ٿو، پر ڊاکر REST API تي ٻڌل آهي. هن حالت ۾، لفظ REST، Flash، Remote جو مطلب ساڳيو شيء آهي. جڏهن توهان ميزبان سان رابطو ڪريو ٿا، اهو هڪ REST API آهي. Docker Remote API توهان کي اجازت ڏئي ٿو ته ڪنٽينر هلائڻ بابت وڌيڪ معلومات حاصل ڪري. منهنجو بلاگ هن مانيٽرنگ کي ونڊوز سرور سان استعمال ڪرڻ جا تفصيل بيان ڪري ٿو.

ڊاکر سسٽم جي واقعن جي نگراني ڪندي جڏهن هڪ ملٽي ميزبان ڪلستر هلائي رهيو آهي اهو ممڪن بڻائي ٿو ته هوسٽ حادثي بابت ڊيٽا حاصل ڪرڻ يا ڪنهن مخصوص ميزبان تي ڪنٽينر حادثو، اسڪيلنگ سروسز، ۽ جهڙوڪ. Docker 1.20 سان شروع ڪندي، ان ۾ شامل آهي Prometheus، جيڪو موجوده ايپليڪيشنن ۾ آخري پوائنٽ کي شامل ڪري ٿو. هي توهان کي HTTP ذريعي ميٽرڪ حاصل ڪرڻ جي اجازت ڏئي ٿو ۽ انهن کي ڊيش بورڊ تي ڏيکاري ٿو.

هڪ ٻي مانيٽرنگ خاصيت آهي caAdvisor (مختصر ڪنٽينر مشاور لاءِ). اهو تجزيو ڪري ٿو ۽ مهيا ڪري ٿو وسيلن جي استعمال ۽ ڪارڪردگي ڊيٽا کي هلائيندڙ ڪنٽينرز مان، مهيا ڪري ٿو Prometheus ميٽرڪس کي دٻي کان ٻاهر. هن ٽول جي خاص ڳالهه اها آهي ته اهو صرف آخري 60 سيڪنڊن جي ڊيٽا مهيا ڪري ٿو. تنهن ڪري، توهان کي هن ڊيٽا کي گڏ ڪرڻ ۽ ان کي ڊيٽابيس ۾ رکڻ جي قابل ٿيڻ جي ضرورت آهي ته جيئن توهان هڪ ڊگهي مدت جي عمل جي نگراني ڪري سگهو ٿا. اهو پڻ استعمال ڪري سگھجي ٿو ڊيش بورڊ ميٽرڪس کي گرافي طور تي گرافانا يا ڪبانا استعمال ڪندي. منهنجي بلاگ ۾ تفصيلي وضاحت آهي ته ڪيئن استعمال ڪجي cAdvisor ڪنٽينرز کي مانيٽر ڪرڻ لاءِ ڪبانا ڊيش بورڊ استعمال ڪندي.

اڳيون سلائڊ ڏيکاري ٿو ته پروميٿيس جي آخر پوائنٽ آئوٽ ڪيئن نظر اچي ٿي ۽ ڊسپلي ڪرڻ لاءِ موجود ميٽرڪس.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

ھيٺئين کاٻي پاسي توھان ڏسندا آھيو ميٽرڪس لاءِ HTTP درخواستون، جواب، وغيره، ساڄي پاسي انھن جي گرافڪ ڊسپلي آھي.

ڪبرنيٽس ۾ بلٽ ان مانيٽرنگ ٽولز پڻ شامل آھن. هي سلائڊ هڪ عام ڪلستر ڏيکاري ٿو جنهن ۾ هڪ ماسٽر ۽ ٽي ورڪر نوڊس شامل آهن.

DEVOXX برطانيه ڪانفرنس. فريم ورڪ چونڊيو: Docker Swarm، Kubernetes يا Mesos. حصو 3

ڪم ڪندڙ نوڊس مان هر هڪ خودڪار طور تي شروع ڪيل سي ايڊوائزر تي مشتمل آهي. ان کان علاوه، هيپسٽر آهي، هڪ ڪارڪردگي مانيٽرنگ ۽ ميٽرڪس گڏ ڪرڻ وارو نظام جيڪو Kubernetes ورزن 1.0.6 ۽ اعليٰ سان مطابقت رکي ٿو. هيپسٽر توهان کي نه صرف ڪم لوڊ، پوڊ ۽ ڪنٽينرز جي ڪارڪردگي ميٽرڪ گڏ ڪرڻ جي اجازت ڏئي ٿو، پر سڄي ڪلستر پاران پيدا ڪيل واقعا ۽ ٻيا سگنل پڻ. ڊيٽا گڏ ڪرڻ لاءِ، اهو هر پوڊ جي ڪوبيليٽ سان ڳالهائي ٿو، معلومات کي پاڻمرادو ذخيرو ڪري ٿو InfluxDB ڊيٽابيس ۾، ۽ ان کي ڪڍي ٿو ميٽرڪ طور Grafana ڊيش بورڊ ڏانهن. بهرحال، ذهن ۾ رکو ته جيڪڏهن توهان miniKube استعمال ڪري رهيا آهيو، اها خاصيت ڊفالٽ طور تي دستياب ناهي، تنهنڪري توهان کي نگراني لاءِ اضافو استعمال ڪرڻو پوندو. تنهن ڪري اهو سڀ ان تي منحصر آهي جتي توهان ڪنٽينرز کي هلائيندا آهيو ۽ ڪهڙن مانيٽرنگ ٽولز کي توهان ڊفالٽ طور استعمال ڪري سگهو ٿا ۽ جنهن کي توهان کي الڳ اضافو طور انسٽال ڪرڻ جي ضرورت آهي.

ايندڙ سلائڊ ڏيکاري ٿو گرافانا ڊيش بورڊ جيڪي منهنجي ڪنٽينرز جي هلندڙ حالت کي ڏيکاري ٿو. هتي ڪافي دلچسپ ڊيٽا آهي. يقينن، اتي ڪيترائي تجارتي ڊاکر ۽ ڪبرنيٽس پروسيس مانيٽرنگ جا اوزار آھن، جھڙوڪ SysDig، DataDog، NewRelic. انهن مان ڪجهه وٽ 30 سالن جي مفت آزمائشي مدت آهي، تنهنڪري توهان ڪوشش ڪري سگهو ٿا ۽ ڳولي سگهو ٿا جيڪو توهان لاءِ مناسب آهي. ذاتي طور تي، مان استعمال ڪرڻ پسند ڪريان ٿو SysDig ۽ NewRelic، جيڪي ڪبرنيٽس سان چڱي طرح ضم ٿين ٿا. اهڙا اوزار آهن جيڪي ڊاکر ۽ ڪبرنيٽس پليٽ فارمن ۾ هڪجهڙائي سان گڏ ٿين ٿا.

ڪجھ اشتهار 🙂

اسان سان گڏ رهڻ لاء توهان جي مهرباني. ڇا توهان اسان جا مضمون پسند ڪندا آهيو؟ وڌيڪ دلچسپ مواد ڏسڻ چاهيو ٿا؟ آرڊر ڏيڻ يا دوستن کي سفارش ڪندي اسان جي مدد ڪريو، ڪلائوڊ VPS ڊولپرز لاءِ $4.99 کان, داخلا-سطح سرورز جو هڪ منفرد اينالاگ، جيڪو اسان توهان لاءِ ايجاد ڪيو هو: VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps جي باري ۾ سڄي حقيقت $19 کان يا سرور ڪيئن شيئر ڪجي؟ (RAID1 ۽ RAID10 سان دستياب آهي، 24 ڪور تائين ۽ 40GB DDR4 تائين).

ڊيل R730xd 2x سستا Equinix Tier IV ڊيٽا سينٽر ۾ Amsterdam ۾؟ صرف هتي 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV $199 کان هالينڊ ۾! ڊيل R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 کان! جي باري ۾ پڙهو انفراسٽرڪچر ڪارپوريشن ڪيئن ٺاهيو. ڪلاس ڊيل R730xd E5-2650 v4 سرورز جي استعمال سان 9000 يورو جي قيمت هڪ پني لاءِ؟

جو ذريعو: www.habr.com

تبصرو شامل ڪريو