KlusterKit

KlusterKit: Sesebelisoa se bulehileng sa lisebelisoa ho nolofatsa phepelo ea Kubernetes le ho sebetsa libakeng tse ka thoko tsa 'mele.

KlusterKit

Kajeno re thabetse ho phatlalatsa hore Platform9 e bula Klusterkit, sehlopha sa lisebelisoa tse tharo, tlasa laesense ea Apache v2.0 ho GitHub.

Bareki ba rona ba hlahisa software litsing tsa data tse ikemetseng tseo hangata li sa hokahaneng le Marang-rang (bakeng sa ts'ireletso kapa mabaka a mang). Lik'hamphani tsena tse kholo li batla ho nka monyetla ka Kubernetes le ho ntlafatsa likopo tsa tsona 'me ka nako e ts'oanang li li kenya litsing tse fapaneng tsa data, tseo hangata li sa amaneng le lefats'e le kantle. Mona ke moo Klusterkit e kenang teng, e etsa hore ho be bonolo ho fana le ho laola lihlopha tsa K8s libakeng tse ka thōko.

Klusterkit e kenyelletsa lisebelisoa tse tharo tse ikemetseng tse ka sebelisoang hammoho kapa ka thoko ho laola bophelo ba sehlopha sa tlhahiso ea Kubernetes:

  1. etcdadm, CLI bakeng sa tsamaiso e nolofalitsoeng ea lihlopha tsa etcd.
  2. nodeadm, CLI bakeng sa tsamaiso ea node e atolosang kubeadm le ho tsamaisa litšepiso tse hlokoang ke kubeadm.
  3. cctl, sesebelisoa sa tsamaiso ea li-cluster lifecycle se amohelang Cluster API ho tsoa sechabeng sa Kubernetes 'me se sebelisa nodeadm le etcdadm ho fana le ho boloka lihlopha tse fumanehang haholo tsa Kubernetes libakeng tse ka thōko esita le libakeng tse ka thōko.

Hammoho, lisebelisoa tsena tse tharo li etsa mesebetsi e latelang:

  • Beha habonolo le ho laola sehlopha se fumanehang haholo sa etcd le dashboard ea Kubernetes libakeng tse ka thoko tsa 'mele ka Cluster API.
  • Ho khutlisetsa sehlopha sa taolo ea sehlopha kamora ho hloleha ho sebelisa backup ea etcd.
  • Ho paka lintho tsohle tsa khale tse hlokahalang ho isa Kubernetes libakeng tse ka thoko.

Litšobotsi tsa Klusterkit

  • Multi-master support (HA cluster K8s).
  • Phano le tsamaiso ea lihlopha tse sireletsehileng tsa etcd.
  • Ho sebetsa libakeng tse ka thoko 'meleng.
  • E tšehetsa lintlafatso le li-rollbacks.
  • Flannel (vxlan) e le CNI bakeng sa backend; Ho na le merero ea ho tšehetsa li-CNI tse ling.
  • Ho boloka le ho tsosolosa lihlopha tsa etcd ka mor'a tahlehelo ea quorum.
  • E sireletsa karolo ea taolo hore e se ke ea felloa ke mohopolo le nako ea CPU.

Klusterkit Tharollo Architecture

KlusterKit

Bakeng sa ho mamella liphoso le bonolo, Klusterkit e sebelisa faele e le 'ngoe ea cctl-state.yaml ho boloka metadata ea sehlopha sa Kubernetes. Ka cctl CLI u ka khona ho laola bophelo ba sehlopha sa Kubernetes mochining ofe kapa ofe o nang le faele ena ea mmuso. Ena e ka ba laptop ea opareitara kapa komporo efe kapa efe eo e leng karolo ea sehlopha sa Kubernetes.

Cctl e sebelisa le ho letsetsa sehokelo sa cluster-api ho tloha holimo joalo ka laeborari bakeng sa ts'ebetso ea CRUD ho lihlopha. Oa sebelisa ssh-mofani, mofani oa tšepe oa cluster-api oa mohloli o bulehileng o tsoang ho Platform9, eo hape e bitsang etcdadm le nodeadm ho etsa ts'ebetso sehlopheng.

Mokhoa oa ho sebelisa Klusterkit le likarolo tsa eona:

1 - E 'ngoe ea lisebelisoa tse tharo e ka bokelloa habonolo ka taelo ea ho fumana:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Lintho tsena tse phethiloeng li ka pakoa ebe li kopitsoa mochining o shebiloeng moo sehlopha se fumanehang haholo sa Kubernetes se lokelang ho sebetsa. Beha lifaele tsa nodeadm le etcdadm ho li-directory tsa mofuta:

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

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

3 - Haeba o hloka ho hlophisa sehlopha sa Kubernetes sebakeng sa heno, tikolohong e arohaneng ea 'mele, ho its'etleha ho hlokahalang ho ka khoasolloa habonolo esale pele komporong e nang le phihlello ea Marang-rang u sebelisa taelo ea download ea nodeadm le etcdadm. Ebe lintho tse jarollotsoeng (ke hore, kubelet le kubelet unit file bakeng sa systemd, lifaele tsa CNI tse sebetsang, faele ea kubeadm, litšoantšo tsohle tsa setshelo ho kenyeletsoa Kubernetes, setšoantšo se bolokiloeng le file ea systemd, setšoantšo sa setshelo sa etcd le lifaele tse tsamaellanang tsa tlhophiso) li ka kopitsoa habonolo ho batho ba ikemetseng ba ikemetseng. ka cctl, nodeadm le etcdadm. (Sheba lintlha ho wiki).

4 - Ha tsohle li se li le teng, o ka theha sehlopha sa pele sa Kubernetes ka litaelo tse 'maloa:

- Qala ka ho theha lintlha tsa sehlopha.

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

- Ebe u theha ntho ea sehlopha. -help e hlahisa lethathamo la likhetho tse tšehetsoeng.

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

- Qetellong, theha mochini oa pele sehlopheng.

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

Bala litokomane tse ling ho GitHub.

Source: www.habr.com

Eketsa ka tlhaloso