KlusterKit

KlusterKit: Amûrek çavkaniyek vekirî ya ku bicîhkirina Kubernetes hêsan dike û di hawîrdorên fizîkî yên îzolekirî yên hundurîn de dimeşîne.

KlusterKit

Îro em bi heyecan in ku radigihînin ku Platform9 çavkaniya vekirî ya Klusterkit e, komek ji sê amûran, di bin lîsansa Apache v2.0 de li ser GitHub.

Xerîdarên me nermalava navendên daneyên taybet ên ku bi gelemperî bi Înternetê ve girêdayî ne (ji ber ewlehiyê an sedemên din) derdixin. Van pargîdaniyên mezin dixwazin ji Kubernetes sûd werbigirin û serîlêdanên xwe nûjen bikin û di heman demê de wan li navendên daneya cihêreng, ku bi gelemperî bi cîhana derve ve girêdayî ne, derxînin. Ev cihê ku Klusterkit tê de ye, peydakirin û birêvebirina komên K8s di hawîrdorên fizîkî yên veqetandî de hêsan dike.

Klusterkit sê amûrên serbixwe vedihewîne ku dikarin bi hev re an ji hev cuda werin bikar anîn da ku çerxa jiyanê ya komek hilberîna Kubernetes birêve bibin:

  1. etcdadm, CLI ji bo rêveberiya komê ya hêsankirî etcd.
  2. nodeadm, CLI-yek ji bo rêveberiya nodê ku kubeadm-ê dirêj dike û girêdanên ku ji hêla kubeadm-ê ve hewce ne vedigire.
  3. cctl, amûrek rêveberiya çerxa jiyanê ya komê ku API-ya Cluster-ê ji civata Kubernetes dipejirîne û nodeadm û etcdadm bikar tîne da ku komên Kubernetes-ê yên pir berdest li hundur û hetta jîngehên fizîkî veqetandî radest bike û biparêze.

Bi hev re, van sê amûran karên jêrîn pêk tînin:

  • Bi navgîniya Cluster API-ê ve bi hêsanî komek etcd-a pir berdest û tabloya Kubernetes li hawîrdorên fizîkî yên veqetandî peyda bikin û rêvebirin.
  • Vegerandina panela kontrolê ya komê piştî têkçûnek bi karanîna hilanînê etcd.
  • Hemî hunerên ku hewce ne ji bo radestkirina Kubernetes li hawîrdorên fizîkî yên veqetandî pak dikin.

Taybetmendiyên Klusterkit

  • Piştgiriya pir-master (HA koma K8s).
  • Radestkirin û birêvebirina komên etcd yên ewledar.
  • Li hawîrdorên fizîkî yên îzolekirî dixebitin.
  • Piştgiriya nûvekirin û paşvekêşan dike.
  • Flannel (vxlan) wekî CNI ji bo paşîn; Plan hene ku piştgirî bidin CNIyên din.
  • Piştgirî û sererastkirina komikên etcd piştî windabûna quorumê.
  • Panela kontrolê ji kêmbûna bîranîn û dema CPU diparêze.

Klusterkit Çareseriya Architecture

KlusterKit

Ji bo tolerans û hêsaniya xeletiyê, Klusterkit pelek yek cctl-state.yaml bikar tîne da ku metadata koma Kubernetes hilîne. Bi cctl CLI hûn dikarin çerxa jiyanê ya komek Kubernetes li ser her makîneyek ku xwediyê vê pelê dewletê ye birêve bibin. Ev dikare laptopek operatorek an komputerek din be ku beşek ji koma Kubernetes e.

Cctl ji bo operasyonên CRUD-ê yên li ser koman ji jorê ve wekî pirtûkxaneyek navbeynkariya cluster-api pêk tîne û bang dike. Ew bikar tîne ssh-pêşkêşker, pêşkêşkerek kom-api-ya metalê ya tazî ya çavkaniya vekirî ji Platform9, ku di encamê de bangî etcdadm û nodeadm dike da ku operasyonan li ser komê bike.

Meriv çawa Klusterkit û pêkhateyên wê bikar tîne:

1 - Yek ji sê amûran dikare bi fermana go get re bi hêsanî were berhev kirin:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Dûv re ev çêker dikarin werin pakkirin û li makîneyên mebestê yên ku divê komika Kubernetes ya pir berdest lê were xebitandin werin pakkirin. Pelên nodeadm û etcdadm di pelrêça versiyonê de bi cih bikin:

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

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

3 - Heke hûn hewce ne ku komek Kubernetes bi herêmî saz bikin, di hawîrdorek fizîkî veqetandî de, pêwendiyên pêwîst dikarin bi hêsanî pêş de li ser komputerek bi gihîştina Înternetê bi karanîna fermana dakêşana nodeadm û etcdadm werin dakêşandin. Dûv re hêmanên dakêşandî (ango pelê kubelet û yekîneya kubelet ji bo systemd, pelên cîbecîkirî yên CNI, pelê kubeadm, hemî wêneyên konteynerê tevî Kubernetes, wêneyê parastinê û pelê pergalad, wêneya konteynerê etcd û pelên vesazkirinê yên têkildar) dikarin bi hêsanî li mêvandarên fizîkî veqetandî werin kopî kirin. bi cctl, nodeadm û etcdadm. (Hûragahiyan li hundurê binêre wiki).

4 - Gava ku her tişt li cîhê xwe be, hûn dikarin bi çend fermanan yekem koma Kubernetes biafirînin:

- Pêşîn ji bo komê pêbaweriyan biafirînin.

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

- Dûv re hêmanek komê ava bikin. -alîkarî navnîşek vebijarkên piştgirî derdixe holê.

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

- Di dawiyê de, makîneya yekem di komê de biafirînin.

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

Zêdetir belge li ser bixwînin GitHub.

Source: www.habr.com

Add a comment