کلسٹر کٹ

KlusterKit: Kubernetes کی تعیناتیوں کو آسان بنانے اور جسمانی طور پر الگ تھلگ آن پریمیسس ماحول میں چلانے کے لیے ایک اوپن سورس ٹول کٹ

کلسٹر کٹ

آج ہم یہ اعلان کرتے ہوئے بہت پرجوش ہیں کہ پلیٹ فارم 9 اوپن سورسنگ کلسٹر کٹ، تین ٹولز کا ایک مجموعہ، GitHub پر Apache v2.0 لائسنس کے تحت ہے۔

ہمارے کلائنٹس نجی ڈیٹا سینٹرز میں سافٹ ویئر تیار کرتے ہیں جو اکثر انٹرنیٹ سے منسلک نہیں ہوتے ہیں (سیکیورٹی یا دیگر وجوہات کی بناء پر)۔ یہ بڑی کمپنیاں Kubernetes سے فائدہ اٹھانا چاہتی ہیں اور اپنی ایپلی کیشنز کو جدید بنانا چاہتی ہیں اور ساتھ ہی انہیں مختلف ڈیٹا سینٹرز میں رول آؤٹ کرنا چاہتی ہیں، جو اکثر بیرونی دنیا سے منسلک نہیں ہوتے ہیں۔ یہیں سے Klusterkit آتا ہے، جس سے جسمانی طور پر الگ تھلگ ماحول میں K8s کلسٹروں کی فراہمی اور انتظام کرنا آسان ہو جاتا ہے۔

Klusterkit میں تین آزاد ٹولز شامل ہیں جو ایک ساتھ یا الگ الگ ایک Kubernetes پروڈکشن کلسٹر کے لائف سائیکل کو منظم کرنے کے لیے استعمال کیے جا سکتے ہیں:

  1. وغیرہ ڈیڈیم, CLI آسان etcd کلسٹر مینجمنٹ کے لیے۔
  2. nodeadm، نوڈ ایڈمنسٹریشن کے لیے ایک CLI جو kubeadm کو بڑھاتا ہے اور kubeadm کے لیے درکار انحصار کو تعینات کرتا ہے۔
  3. cctl، ایک کلسٹر لائف سائیکل مینجمنٹ ٹول جو Kubernetes کمیونٹی سے کلسٹر API کو اپناتا ہے اور بغیر کسی رکاوٹ کے انتہائی دستیاب Kubernetes کلسٹرز کو آن پریمیسس اور یہاں تک کہ جسمانی طور پر الگ تھلگ ماحول میں فراہم کرنے اور برقرار رکھنے کے لیے nodeadm اور etcdadm کا استعمال کرتا ہے۔

یہ تینوں ٹولز مل کر درج ذیل کام انجام دیتے ہیں:

  • کلسٹر API کے ذریعے جسمانی طور پر الگ تھلگ آن پریمیسس ماحول میں انتہائی دستیاب etcd کلسٹر اور Kubernetes ڈیش بورڈ کی آسانی سے فراہمی اور انتظام کریں۔
  • etcd بیک اپ کا استعمال کرتے ہوئے ناکامی کے بعد کلسٹر کنٹرول پینل کو بحال کرنا۔
  • کوبرنیٹس کو جسمانی طور پر الگ تھلگ ماحول میں پہنچانے کے لیے درکار تمام نمونے پیک کرنا۔

کلسٹر کٹ کی خصوصیات

  • ملٹی ماسٹر سپورٹ (HA کلسٹر K8s)۔
  • محفوظ وغیرہ کلسٹرز کی ترسیل اور انتظام۔
  • جسمانی طور پر الگ تھلگ ماحول میں کام کرنا۔
  • رولنگ اپ گریڈ اور رول بیکس کو سپورٹ کرتا ہے۔
  • فلالین (vxlan) پسدید کے لیے بطور CNI؛ دیگر CNIs کو سپورٹ کرنے کے منصوبے ہیں۔
  • کورم کی کمی کے بعد etcd کلسٹرز کا بیک اپ اور بحالی۔
  • کنٹرول پینل کو میموری اور CPU وقت ختم ہونے سے بچاتا ہے۔

کلسٹر کٹ حل آرکیٹیکچر

کلسٹر کٹ

غلطی کو برداشت کرنے اور سادگی کے لیے، Klusterkit Kubernetes کلسٹر میٹا ڈیٹا کو ذخیرہ کرنے کے لیے ایک واحد cctl-state.yaml فائل استعمال کرتا ہے۔ cctl CLI کے ذریعے آپ کسی بھی مشین پر Kubernetes کلسٹر کے لائف سائیکل کو منظم کر سکتے ہیں جس میں یہ اسٹیٹ فائل ہے۔ یہ آپریٹر کا لیپ ٹاپ یا کوئی دوسرا کمپیوٹر ہو سکتا ہے جو Kubernetes کلسٹر کا حصہ ہو۔

Cctl اپ اسٹریم سے کلسٹر-api انٹرفیس کو کلسٹرز پر CRUD آپریشنز کے لیے لائبریری کے طور پر لاگو اور کال کرتا ہے۔ وہ استعمال کرتا ہے ssh فراہم کنندہ، پلیٹ فارم 9 سے ایک اوپن سورس بیئر میٹل کلسٹر-اے پی آئی فراہم کنندہ، جو کلسٹر پر آپریشن کرنے کے لیے etcdadm اور nodeadm کو کال کرتا ہے۔

Klusterkit اور اس کے اجزاء کا استعمال کیسے کریں:

1 - تین ٹولز میں سے کوئی بھی گو گیٹ کمانڈ کے ساتھ آسانی سے جمع کیا جا سکتا ہے:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 – ان ایگزیکیوٹیبلز کو پھر پیک کیا جا سکتا ہے اور ٹارگٹ مشینوں میں کاپی کیا جا سکتا ہے جہاں انتہائی دستیاب Kubernetes کلسٹر کو چلنا چاہیے۔ nodeadm اور etcdadm فائلوں کو ورژن ڈائریکٹریز میں رکھیں:

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

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

3 – اگر آپ کو جسمانی طور پر الگ تھلگ ماحول میں مقامی طور پر ایک Kubernetes کلسٹر کو آرکیسٹریٹ کرنے کی ضرورت ہے تو، نوڈیڈیم اور etcdadm ڈاؤن لوڈ کمانڈ کا استعمال کرتے ہوئے انٹرنیٹ تک رسائی والے کمپیوٹر پر ضروری انحصار آسانی سے ڈاؤن لوڈ کیا جا سکتا ہے۔ پھر ڈاؤن لوڈ کردہ آئٹمز (یعنی سسٹمڈ کے لیے کیوبلیٹ اور کیوبلیٹ یونٹ فائل، CNI ایگزیکیوٹیبل فائلز، kubeadm فائل، تمام کنٹینر امیجز بشمول Kubernetes، Keepalived امیج اور systemd فائل، etcd کنٹینر امیج اور متعلقہ کنفیگریشن فائلز) کو جسمانی طور پر الگ تھلگ میزبانوں میں آسانی سے کاپی کیا جا سکتا ہے۔ cctl، nodeadm اور etcdadm کے ساتھ۔ (تفصیلات دیکھیں وکیپیڈیا).

4 - ایک بار جب سب کچھ اپنی جگہ پر ہو جائے تو، آپ ایک دو کمانڈز کے ساتھ پہلا Kubernetes کلسٹر بنا سکتے ہیں:

- پہلے کلسٹر کے لیے اسناد بنائیں۔

$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

نیا تبصرہ شامل کریں