KlusterKit

KlusterKit: Opinn hugbúnaður til að einfalda Kubernetes uppsetningu og keyra í líkamlega einangruðu umhverfi á staðnum

KlusterKit

Í dag erum við spennt að tilkynna að Platform9 er opinn uppspretta Klusterkit, föruneyti af þremur verkfærum, undir Apache v2.0 leyfinu á GitHub.

Viðskiptavinir okkar setja út hugbúnað í einkagagnaverum sem oft eru ekki tengdir við internetið (af öryggisástæðum eða af öðrum ástæðum). Þessi stóru fyrirtæki vilja nýta sér Kubernetes og nútímavæða forritin sín og rúlla þeim um leið út í mismunandi gagnaverum, sem oft eru ekki tengd við umheiminn. Þetta er þar sem Klusterkit kemur inn, sem gerir það auðvelt að útvega og stjórna K8s klösum í líkamlega einangruðu umhverfi.

Klusterkit inniheldur þrjú sjálfstæð verkfæri sem hægt er að nota saman eða sitt í hvoru lagi til að stjórna líftíma Kubernetes framleiðsluklasa:

  1. etcdadm, CLI fyrir einfaldaða etcd klasastjórnun.
  2. nodeadm, CLI fyrir hnútastjórnun sem framlengir kubeadm og setur upp þær ósjálfstæði sem kubeadm þarf.
  3. cctl, cluster lifecycle management tól sem tekur upp Cluster API frá Kubernetes samfélaginu og notar nodeadm og etcdadm til að afhenda og viðhalda mjög tiltækum Kubernetes þyrpingum á óaðfinnanlegan hátt í staðbundnum og jafnvel líkamlega einangruðu umhverfi.

Saman framkvæma þessi þrjú verkfæri eftirfarandi verkefni:

  • Auðveldlega útvega og stjórna mjög fáanlegum etcd klasa og Kubernetes mælaborði í líkamlega einangruðu umhverfi á staðnum í gegnum Cluster API.
  • Endurheimtir stjórnborð þyrpingarinnar eftir bilun með því að nota etcd öryggisafrit.
  • Pakkaðu alla gripi sem þarf til að afhenda Kubernetes inn í líkamlega einangrað umhverfi.

Klusterkit eiginleikar

  • Fjölmeistarastuðningur (HA þyrping K8s).
  • Afhending og stjórnun öruggra etcd klasa.
  • Að vinna í líkamlega einangruðu umhverfi.
  • Styður rúllandi uppfærslur og afturköllun.
  • Flannel (vxlan) sem CNI fyrir bakenda; Áætlanir eru uppi um að styrkja önnur CNI.
  • Afritun og endurheimt etcd klasa eftir tap á ályktun.
  • Ver stjórnborðið frá því að klárast minni og örgjörvatíma.

Klusterkit lausnararkitektúr

KlusterKit

Fyrir bilanaþol og einfaldleika notar Klusterkit eina cctl-state.yaml skrá til að geyma Kubernetes klasa lýsigögn. Í gegnum cctl CLI geturðu stjórnað líftíma Kubernetes klasa á hvaða vél sem er með þessa stöðuskrá. Þetta getur verið fartölva rekstraraðila eða önnur tölva sem er hluti af Kubernetes klasanum.

Cctl útfærir og kallar cluster-api tengi frá andstreymis sem bókasafn fyrir CRUD aðgerðir á klasa. Hann notar ssh-veitanda, opinn uppspretta ber málm klasa-api veitu frá Platform9, sem aftur kallar á etcdadm og nodeadm til að framkvæma aðgerðir á klasanum.

Hvernig á að nota Klusterkit og íhluti þess:

1 - Auðvelt er að safna einhverju af þessum þremur verkfærum með go get skipuninni:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Þessum keyrslum er síðan hægt að pakka og afrita á markvélarnar þar sem mjög tiltækur Kubernetes þyrping ætti að vera í gangi. Settu nodeadm og etcdadm skrárnar í útgáfumöppurnar:

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

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

3 – Ef þú þarft að skipuleggja Kubernetes þyrping á staðnum, í líkamlega einangruðu umhverfi, er auðvelt að hlaða niður nauðsynlegum ósjálfstæðum fyrirfram á tölvu með internetaðgangi með því að nota nodeadm og etcdadm niðurhalsskipunina. Þá er hægt að afrita niðurhalaða hluti (þ.e. kubelet og kubelet einingaskrá fyrir systemd, CNI keyranlegar skrár, kubeadm skrá, allar gámamyndir, þar á meðal Kubernetes, keepalived mynd og systemd skrá, etcd gámamynd og samsvarandi stillingarskrár) á líkamlega einangraðar vélar meðfram með cctl, nodeadm og etcdadm. (Sjá upplýsingar í Wiki).

4 - Þegar allt er komið á sinn stað geturðu búið til fyrsta Kubernetes þyrpinguna með nokkrum skipunum:

– Búðu fyrst til skilríki fyrir klasann.

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

– Búðu svo til klasahlut. –hjálp kemur upp lista yfir studda valkosti.

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

– Að lokum skaltu búa til fyrstu vélina í þyrpingunni.

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

Lestu frekari skjöl á GitHub.

Heimild: www.habr.com

Bæta við athugasemd