KlusterKit

KlusterKit: هڪ اوپن سورس ٽول ڪٽ ڪبرنيٽس جي ترتيب کي آسان ڪرڻ ۽ جسماني طور تي الڳ ٿيل آن-پريمسس ماحول ۾ هلائڻ لاءِ

KlusterKit

اڄ اسان اهو اعلان ڪرڻ لاءِ پرجوش آهيون ته پليٽ فارم 9 اوپن سورسنگ Klusterkit آهي، ٽن اوزارن جو هڪ سوٽ، GitHub تي Apache v2.0 لائسنس جي تحت.

اسان جا گراهڪ پرائيويٽ ڊيٽا سينٽرن ۾ سافٽ ويئر ٺاهيندا آهن جيڪي اڪثر انٽرنيٽ سان ڳنڍيل نه هوندا آهن (سيڪيورٽي يا ٻين سببن جي ڪري). اهي وڏيون ڪمپنيون ڪبرنيٽس مان فائدو وٺڻ ۽ انهن جي ايپليڪيشنن کي جديد بڻائڻ چاهين ٿيون ۽ ساڳئي وقت انهن کي مختلف ڊيٽا سينٽرن ۾ رول آئوٽ ڪرڻ چاهين ٿيون، جيڪي گهڻو ڪري ٻاهرين دنيا سان ڳنڍيل نه آهن. هي اهو آهي جتي Klusterkit اچي ٿو، انهي کي آسان بڻائي ٿو مهيا ڪرڻ ۽ انتظام ڪرڻ K8s ڪلستر جسماني طور تي الڳ ٿيل ماحول ۾.

Klusterkit ۾ ٽي آزاد اوزار شامل آھن جيڪي گڏجي استعمال ڪري سگھجن ٿا يا الڳ الڳ ڪبرنيٽس جي پيداوار واري ڪلستر جي لائف سائيڪل کي منظم ڪرڻ لاءِ:

  1. وغيره، CLI آسان وغيره ڪلستر مينيجمينٽ لاءِ.
  2. nodeadm، نوڊ ايڊمنسٽريشن لاءِ هڪ CLI جيڪو kubeadm کي وڌائي ٿو ۽ kubeadm پاران گهربل انحصار کي ترتيب ڏئي ٿو.
  3. cctl، هڪ ڪلسٽر لائف سائيڪل مئنيجمينٽ ٽول جيڪو ڪلستر API کي ڪبرنيٽس ڪميونٽي کان اختيار ڪري ٿو ۽ nodeadm ۽ etcdadm استعمال ڪري ٿو بغير ڪنهن حد تائين پهچائڻ ۽ برقرار رکڻ لاءِ انتهائي دستياب ڪبرنيٽس ڪلسٽر آن پرميسس ۽ حتي جسماني طور تي الڳ ٿيل ماحول ۾.

گڏو گڏ، اهي ٽي اوزار هيٺين ڪمن کي انجام ڏين ٿا:

  • ڪلسٽر API ذريعي جسماني طور تي الڳ ٿيل آن پرميسس ماحول ۾ انتهائي دستياب وغيره ڪلستر ۽ ڪبرنيٽس ڊيش بورڊ کي آساني سان مهيا ۽ منظم ڪريو.
  • اي سي ڊي بيڪ اپ استعمال ڪندي ناڪامي کان پوءِ ڪلسٽر ڪنٽرول پينل کي بحال ڪرڻ.
  • ڪبرنيٽس کي جسماني طور تي الڳ ٿيل ماحول ۾ پهچائڻ لاءِ گهربل سڀني نمونن کي پيڪنگ ڪرڻ.

Klusterkit خاصيتون

  • ملٽي ماسٽر سپورٽ (HA ڪلستر K8s).
  • محفوظ وغيره ڪلستر جي پهچائڻ ۽ انتظام.
  • جسماني طور تي الڳ ٿيل ماحول ۾ ڪم ڪرڻ.
  • رولنگ اپ گريڊ ۽ رول بيڪ کي سپورٽ ڪري ٿو.
  • Flannel (vxlan) پس منظر لاء CNI طور؛ اتي ٻين CNIs جي حمايت ڪرڻ جو منصوبو آهي.
  • ڪورم ختم ٿيڻ کان پوءِ وغيره ڪلسٽرن جو بيڪ اپ ۽ بحالي.
  • ڪنٽرول پينل کي ميموري ۽ سي پي يو وقت ختم ٿيڻ کان بچائي ٿو.

Klusterkit حل آرڪيٽيڪچر

KlusterKit

غلطي رواداري ۽ سادگي لاءِ، Klusterkit هڪ واحد cctl-state.yaml فائل استعمال ڪري ٿو ڪبرنيٽس ڪلستر ميٽا ڊيٽا کي ذخيرو ڪرڻ لاءِ. cctl CLI ذريعي توهان ڪنهن به مشين تي ڪبرنيٽس ڪلستر جي لائف سائيڪل کي منظم ڪري سگهو ٿا جنهن وٽ هي اسٽيٽ فائل آهي. اهو ٿي سگهي ٿو آپريٽر جو ليپ ٽاپ يا ڪو ٻيو ڪمپيوٽر جيڪو ڪبرنيٽس ڪلستر جو حصو آهي.

Cctl لاڳو ڪري ٿو ۽ ڪلسٽر-ايپي انٽرفيس کي ڪال ڪري ٿو اپ اسٽريم کان لائبريري جي طور تي ڪلسٽرن تي CRUD عملن لاءِ. هو استعمال ڪري ٿو ssh مهيا ڪندڙ، پليٽ فارم 9 مان هڪ اوپن سورس بيئر ميٽل ڪلسٽر-ايپي فراهم ڪندڙ، جيڪو موڙ ۾ ڪالسٽر تي آپريشن ڪرڻ لاءِ etcdadm ۽ nodeadm کي سڏي ٿو.

Klusterkit ۽ ان جا حصا ڪيئن استعمال ڪجي:

1 - ٽن اوزارن مان ڪو به آساني سان گڏ ڪري سگھجي ٿو go get command سان:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

go get -u github.com/kubernetes-sigs/etcdadm

2 - اهي عملدار پوءِ پيڪيج ڪري سگھجن ٿا ۽ ٽارگيٽ مشينن تي نقل ڪري سگهجن ٿا جتي انتهائي دستياب ڪبرنيٽس ڪلستر کي هلائڻ گهرجي. nodeadm ۽ etcdadm فائلن کي ورزن ڊائريڪٽرن ۾ رکو.

cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//

cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//

3 - جيڪڏهن توهان کي مقامي طور تي ڪبرنيٽس ڪلستر کي ترتيب ڏيڻ جي ضرورت آهي، جسماني طور تي الڳ ٿيل ماحول ۾، ضروري انحصار آسانيءَ سان ڪمپيوٽر تي اڳ ۾ ئي ڊائون لوڊ ڪري سگھجن ٿا انٽرنيٽ جي رسائي سان nodeadm ۽ etcdadm ڊائون لوڊ ڪمانڊ استعمال ڪندي. پوءِ ڊائون لوڊ ڪيل شيون (يعني سسٽم ڊي لاءِ ڪوبيليٽ ۽ ڪوبيليٽ يونٽ فائل، سي اين آءِ ايگزيڪيوٽيبل فائلون، ڪبيڊم فائل، سڀئي ڪنٽينر تصويرون جن ۾ ڪبرنيٽس، ڪيپ ايلويڊ اميج ۽ سسٽمڊ فائل، وغيره کنٽينر اميج ۽ لاڳاپيل ڪنفيگريشن فائلون) آساني سان جسماني طور تي الڳ ٿيل ميزبانن تي نقل ڪري سگھجن ٿيون. cctl، nodeadm ۽ etcdadm سان. (تفصيل ۾ ڏسو رڪن).

4 - هڪ دفعو سڀ ڪجهه جاءِ تي آهي، توهان ٺاهي سگهو ٿا پهريون ڪبرنيٽس ڪلسٽر ڪجهه حڪمن سان:

- پهرين ڪلستر لاءِ سندون ٺاھيو.

$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa

- پوء هڪ ڪلستر اعتراض ٺاهيو. -help مدد ڪيل اختيارن جي ھڪڙي فهرست آڻيندي.

$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24

- آخرڪار، ڪلستر ۾ پهرين مشين ٺاهيو.

$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role master

تي وڌيڪ دستاويز پڙهو GitHub.

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

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