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

آج، ہمیں یہ اعلان کرتے ہوئے خوشی ہو رہی ہے کہ پلیٹ فارم 9 اوپن سورسنگ کلسٹر کٹ ہے، جو تین ٹولز کا مجموعہ ہے، GitHub پر اپاچی لائسنس v2.0 کے تحت۔
ہمارے کلائنٹ نجی ڈیٹا سینٹرز میں سافٹ ویئر تعینات کرتے ہیں، جو اکثر انٹرنیٹ سے منقطع رہتے ہیں (سیکیورٹی یا دیگر وجوہات کی بناء پر)۔ یہ بڑی کمپنیاں Kubernetes کے فوائد سے فائدہ اٹھانا چاہتی ہیں اور اپنی ایپلی کیشنز کو ایک سے زیادہ ڈیٹا سینٹرز پر تعینات کرتے ہوئے جدید بنانا چاہتی ہیں، جو اکثر بیرونی دنیا سے منقطع رہتے ہیں۔ یہ وہ جگہ ہے جہاں Klusterkit آتا ہے، جسمانی طور پر الگ تھلگ ماحول میں K8s کلسٹرز کی فراہمی اور انتظام کو آسان بناتا ہے۔
Klusterkit میں تین آزاد ٹولز شامل ہیں جو ایک ساتھ یا الگ الگ پروڈکشن Kubernetes کلسٹر کے لائف سائیکل کو منظم کرنے کے لیے استعمال کیے جا سکتے ہیں:
- , etcd کلسٹر کے آسان انتظام کے لیے CLI۔
- ، ایک نوڈ ایڈمنسٹریشن CLI جو kubeadm کی تکمیل کرتا ہے اور kubeadm کو درکار انحصار کو تعینات کرتا ہے۔
- ، ایک کلسٹر لائف سائیکل مینجمنٹ ٹول جو Kubernetes کمیونٹی کے کلسٹر API کو اپناتا ہے اور آن پریمیسس اور یہاں تک کہ جسمانی طور پر الگ تھلگ ماحول میں انتہائی دستیاب Kubernetes کلسٹرز کو آسانی سے فراہم کرنے اور برقرار رکھنے کے لیے nodeadm اور etcdadm کا فائدہ اٹھاتا ہے۔
یہ تینوں ٹولز مل کر درج ذیل کام انجام دیتے ہیں:
- کلسٹر API کے ذریعے جسمانی طور پر الگ تھلگ آن پریمیسس ماحول میں انتہائی دستیاب etcd کلسٹر اور Kubernetes کنٹرول طیارے کی آسانی سے فراہمی اور انتظام کریں۔
- ای سی ڈی بیک اپ کا استعمال کرتے ہوئے ناکامی کے بعد کلسٹر کنٹرول پینل کو بازیافت کرنا۔
- جسمانی طور پر الگ تھلگ ماحول میں Kubernetes کی ترسیل کے لیے درکار تمام نمونے پیک کرنا۔
کلسٹر کٹ کی صلاحیتیں۔
- ملٹی ماسٹر سپورٹ (K8s HA کلسٹر)۔
- محفوظ وغیرہ کلسٹرز فراہم کرنا اور ان کا انتظام کرنا۔
- جسمانی طور پر الگ تھلگ ماحول میں کام کریں۔
- رولنگ اپ گریڈ اور رول بیکس کے لیے سپورٹ۔
- فلالین (vxlan) بطور بیک اینڈ CNI؛ دیگر CNIs کے لیے تعاون کا منصوبہ بنایا گیا ہے۔
- کورم کی کمی کے بعد etcd کلسٹرز کا بیک اپ اور بحال کرنا۔
- اپنے کنٹرول پینل کو کم میموری اور CPU وقت سے بچائیں۔
کلسٹر کٹ حل فن تعمیر
غلطی کی رواداری اور سادگی کے لیے، Klusterkit ایک واحد فائل، cctl-state.yaml، کوبرنیٹس کلسٹر میٹا ڈیٹا کو ذخیرہ کرنے کے لیے استعمال کرتا ہے۔ cctl CLI آپ کو کسی بھی مشین پر Kubernetes کلسٹر لائف سائیکل کا نظم کرنے کی اجازت دیتا ہے جس میں یہ اسٹیٹ فائل ہے۔ یہ آپریٹر کا لیپ ٹاپ یا کوئی دوسرا کمپیوٹر ہو سکتا ہے جو Kubernetes کلسٹر کا حصہ ہو۔
Cctl اپ اسٹریم سے کلسٹر-api انٹرفیس کو کلسٹرز پر CRUD آپریشنز کے لیے لائبریری کے طور پر لاگو اور کال کرتا ہے۔ یہ استعمال کرتا ہے۔ ، پلیٹ فارم 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 کلسٹر آرکیسٹریٹ کرنے کی ضرورت ہے، جسمانی طور پر الگ تھلگ ماحول میں، مطلوبہ انحصار آسانی سے ڈاؤن لوڈ کمانڈ nodeadm اور etcdadm کے استعمال سے انٹرنیٹ تک رسائی والے کمپیوٹر پر پہلے سے ڈاؤن لوڈ کیا جا سکتا ہے۔ اس کے بعد، ڈاؤن لوڈ کردہ عناصر (یعنی، سسٹمڈ کے لیے کیوبلیٹ اور کیوبلیٹ یونٹ فائل، CNI بائنریز، کیوبیڈم فائل، تمام کنٹینر امیجز بشمول Kubernetes، Keepalived امیج اور سسٹمڈ یونٹ فائل، etcd کنٹینر امیج، اور متعلقہ کنفیگریشن فائلز) کو آسانی سے کاپی کیا جا سکتا ہے، cnitadm کے ساتھ جسمانی طور پر ہوسٹ کیا جا سکتا ہے۔ وغیرہ ڈیڈیم (تفصیلات کے لیے دیکھیں ).
4 - ایک بار جب سب کچھ اپنی جگہ پر ہو جائے تو، آپ کچھ کمانڈز کے ساتھ اپنا پہلا کبرنیٹس کلسٹر بنا سکتے ہیں:
- سب سے پہلے، کلسٹر کے لیے اسناد بنائیں۔
$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa
- پھر کلسٹر آبجیکٹ بنائیں۔ -مدد معاون پیرامیٹرز کی فہرست بناتی ہے۔
$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
پر مزید دستاویزات پڑھیں .
ماخذ: www.habr.com
