క్లస్టర్‌కిట్

క్లస్టర్‌కిట్: కుబెర్నెట్స్ విస్తరణలను సులభతరం చేయడానికి మరియు భౌతికంగా వేరుచేయబడిన ఆన్-ప్రాంగణ పరిసరాలలో అమలు చేయడానికి ఒక ఓపెన్ సోర్స్ టూల్‌కిట్

క్లస్టర్‌కిట్

GitHubలో Apache v9 లైసెన్స్ క్రింద Platform2.0 ఓపెన్ సోర్సింగ్ Klusterkit అని ఈరోజు మేము సంతోషిస్తున్నాము.

మా క్లయింట్లు తరచుగా ఇంటర్నెట్‌కి కనెక్ట్ చేయబడని ప్రైవేట్ డేటా సెంటర్‌లలో సాఫ్ట్‌వేర్‌ను రూపొందిస్తారు (భద్రత లేదా ఇతర కారణాల కోసం). ఈ పెద్ద కంపెనీలు కుబెర్నెట్‌లను సద్వినియోగం చేసుకోవాలని మరియు వారి అప్లికేషన్‌లను ఆధునీకరించాలని కోరుకుంటున్నాయి మరియు అదే సమయంలో వాటిని తరచుగా బయటి ప్రపంచంతో అనుసంధానించని వివిధ డేటా సెంటర్‌లలో విడుదల చేయాలనుకుంటున్నాయి. ఇక్కడే Klusterkit వస్తుంది, ఇది భౌతికంగా వివిక్త వాతావరణంలో K8s క్లస్టర్‌లను అందించడం మరియు నిర్వహించడం సులభం చేస్తుంది.

Klusterkit మూడు స్వతంత్ర సాధనాలను కలిగి ఉంది, వీటిని ఒక కుబెర్నెట్స్ ఉత్పత్తి క్లస్టర్ యొక్క జీవితచక్రాన్ని నిర్వహించడానికి కలిసి లేదా విడిగా ఉపయోగించవచ్చు:

  1. etcdadm, సరళీకృత etcd క్లస్టర్ నిర్వహణ కోసం CLI.
  2. నోడెడ్మ్, kubeadmని విస్తరించే మరియు kubeadmకి అవసరమైన డిపెండెన్సీలను అమలు చేసే నోడ్ అడ్మినిస్ట్రేషన్ కోసం CLI.
  3. cctl, క్లస్టర్ లైఫ్‌సైకిల్ మేనేజ్‌మెంట్ టూల్, ఇది Kubernetes కమ్యూనిటీ నుండి క్లస్టర్ APIని స్వీకరిస్తుంది మరియు nodeadm మరియు etcdadmని ఉపయోగించి, అధిక అందుబాటులో ఉన్న Kubernetes క్లస్టర్‌లను ఆన్-ప్రాంగణంలో మరియు భౌతికంగా వివిక్త వాతావరణంలో కూడా సజావుగా అందించడానికి మరియు నిర్వహించడానికి.

ఈ మూడు సాధనాలు కలిసి ఈ క్రింది పనులను నిర్వహిస్తాయి:

  • క్లస్టర్ API ద్వారా భౌతికంగా ఐసోలేట్ చేయబడిన ఆన్-ప్రాంగణ పరిసరాలలో అత్యంత అందుబాటులో ఉన్న etcd క్లస్టర్ మరియు Kubernetes డ్యాష్‌బోర్డ్‌ను సులభంగా అందించండి మరియు నిర్వహించండి.
  • etcd బ్యాకప్ ఉపయోగించి వైఫల్యం తర్వాత క్లస్టర్ నియంత్రణ ప్యానెల్‌ను పునరుద్ధరించడం.
  • కుబెర్నెట్‌లను భౌతికంగా వివిక్త వాతావరణంలో అందించడానికి అవసరమైన అన్ని కళాఖండాలను ప్యాకేజింగ్ చేయడం.

Klusterkit లక్షణాలు

  • మల్టీ-మాస్టర్ సపోర్ట్ (HA క్లస్టర్ K8s).
  • సురక్షిత etcd క్లస్టర్ల డెలివరీ మరియు నిర్వహణ.
  • భౌతికంగా వివిక్త వాతావరణంలో పని చేయడం.
  • రోలింగ్ అప్‌గ్రేడ్‌లు మరియు రోల్‌బ్యాక్‌లకు మద్దతు ఇస్తుంది.
  • బ్యాకెండ్ కోసం CNIగా ఫ్లాన్నెల్ (vxlan); ఇతర CNIలకు మద్దతు ఇవ్వడానికి ప్రణాళికలు ఉన్నాయి.
  • కోరం కోల్పోయిన తర్వాత etcd క్లస్టర్‌ల బ్యాకప్ మరియు పునరుద్ధరణ.
  • మెమరీ మరియు CPU సమయం అయిపోకుండా కంట్రోల్ ప్యానెల్‌ను రక్షిస్తుంది.

Klusterkit సొల్యూషన్ ఆర్కిటెక్చర్

క్లస్టర్‌కిట్

తప్పు సహనం మరియు సరళత కోసం, Klusterkit Kubernetes క్లస్టర్ మెటాడేటాను నిల్వ చేయడానికి ఒకే cctl-state.yaml ఫైల్‌ని ఉపయోగిస్తుంది. cctl CLI ద్వారా మీరు ఈ స్టేట్ ఫైల్‌ని కలిగి ఉన్న ఏదైనా మెషీన్‌లో కుబెర్నెట్స్ క్లస్టర్ యొక్క జీవితచక్రాన్ని నిర్వహించవచ్చు. ఇది ఆపరేటర్ యొక్క ల్యాప్‌టాప్ కావచ్చు లేదా కుబెర్నెట్స్ క్లస్టర్‌లో భాగమైన ఏదైనా ఇతర కంప్యూటర్ కావచ్చు.

Cctl అప్‌స్ట్రీమ్ నుండి క్లస్టర్-api ఇంటర్‌ఫేస్‌ను క్లస్టర్‌లపై CRUD కార్యకలాపాల కోసం లైబ్రరీగా అమలు చేస్తుంది మరియు పిలుస్తుంది. అతను ఉపయోగిస్తాడు ssh-ప్రొవైడర్, Platform9 నుండి ఓపెన్ సోర్స్ బేర్ మెటల్ క్లస్టర్-api ప్రొవైడర్, ఇది క్లస్టర్‌పై కార్యకలాపాలను నిర్వహించడానికి etcdadm మరియు nodeadm అని పిలుస్తుంది.

Klusterkit మరియు దాని భాగాలను ఎలా ఉపయోగించాలి:

1 – go get కమాండ్‌తో మూడు సాధనాల్లో దేనినైనా సులభంగా సేకరించవచ్చు:

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 – మీరు భౌతికంగా వివిక్త వాతావరణంలో స్థానికంగా Kubernetes క్లస్టర్‌ను ఆర్కెస్ట్రేట్ చేయవలసి వస్తే, nodeadm మరియు etcdadm డౌన్‌లోడ్ ఆదేశాన్ని ఉపయోగించి ఇంటర్నెట్ యాక్సెస్ ఉన్న కంప్యూటర్‌లో అవసరమైన డిపెండెన్సీలను సులభంగా డౌన్‌లోడ్ చేసుకోవచ్చు. ఆపై డౌన్‌లోడ్ చేయబడిన ఐటెమ్‌లు (అంటే systemd, CNI ఎక్జిక్యూటబుల్ ఫైల్‌లు, kubeadm ఫైల్ కోసం kubelet మరియు kubelet యూనిట్ ఫైల్, Kubernetes, Keepalived ఇమేజ్ మరియు systemd ఫైల్, etcd కంటైనర్ ఇమేజ్ మరియు సంబంధిత కాన్ఫిగరేషన్ ఫైల్‌లతో సహా అన్ని కంటైనర్ ఇమేజ్‌లు) భౌతికంగా వేరు చేయబడిన హోస్ట్‌లకు సులభంగా కాపీ చేయవచ్చు. 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

వద్ద మరింత డాక్యుమెంటేషన్ చదవండి గ్యాలరీలు.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి