KlusterKit

KlusterKit: Zana ya programu huria ya kurahisisha uwekaji wa Kubernetes na kukimbia katika mazingira ya ndani ya majengo yaliyojitenga.

KlusterKit

Leo tunayo furaha kutangaza kwamba Platform9 inatafuta Klusterkit, kikundi cha zana tatu, chini ya leseni ya Apache v2.0 kwenye GitHub.

Wateja wetu wanatoa programu katika vituo vya data vya kibinafsi ambavyo mara nyingi havijaunganishwa kwenye Mtandao (kwa usalama au sababu nyinginezo). Makampuni haya makubwa yanataka kuchukua fursa ya Kubernetes na kufanya maombi yao yawe ya kisasa na wakati huo huo kuyasambaza katika vituo tofauti vya data, ambavyo mara nyingi havijaunganishwa na ulimwengu wa nje. Hapa ndipo Klusterkit inapokuja, na kuifanya iwe rahisi kutoa na kudhibiti vikundi vya K8s katika mazingira yaliyotengwa.

Klusterkit inajumuisha zana tatu huru zinazoweza kutumika pamoja au kando kudhibiti mzunguko wa maisha wa kundi la uzalishaji la Kubernetes:

  1. nkdadm, CLI kwa usimamizi rahisi wa nguzo etcd.
  2. nodeadm, CLI ya usimamizi wa nodi ambayo huongeza kubeadm na kupeleka vitegemezi vinavyohitajika na kubeadm.
  3. cctl, zana ya usimamizi wa mzunguko wa maisha ya nguzo ambayo inachukua API ya Nguzo kutoka kwa jumuiya ya Kubernetes na hutumia nodeadm na etcdadm kutoa na kudumisha makundi yanayopatikana zaidi ya Kubernetes katika majengo na hata mazingira yaliyotengwa.

Kwa pamoja, zana hizi tatu hufanya kazi zifuatazo:

  • Toa na udhibiti kwa urahisi kundi la etcd linalopatikana sana na dashibodi ya Kubernetes katika mazingira ya ndani ya eneo yaliyotengwa kupitia API ya Nguzo.
  • Kurejesha jopo la kudhibiti nguzo baada ya kushindwa kutumia nakala rudufu ya etcd.
  • Inapakia vizalia vyote vinavyohitajika ili kuwasilisha Kubernetes katika mazingira yaliyotengwa.

Vipengele vya Klusterkit

  • Usaidizi wa mabwana wengi ( nguzo ya HA K8s).
  • Uwasilishaji na usimamizi wa vikundi salama vya etcd.
  • Kufanya kazi katika mazingira ya pekee ya kimwili.
  • Inaauni uboreshaji na urejeshaji nyuma.
  • Flannel (vxlan) kama CNI kwa backend; Kuna mipango ya kusaidia CNIs nyingine.
  • Hifadhi nakala na urejeshaji wa nguzo za etcd baada ya kupotea kwa akidi.
  • Hulinda paneli dhibiti dhidi ya kukosa kumbukumbu na muda wa CPU.

Usanifu wa Suluhisho la Klusterkit

KlusterKit

Kwa uvumilivu na urahisi wa hitilafu, Klusterkit hutumia faili moja ya cctl-state.yaml kuhifadhi metadata ya nguzo ya Kubernetes. Kupitia cctl CLI, unaweza kudhibiti mzunguko wa maisha wa kundi la Kubernetes kwenye mashine yoyote ambayo ina faili hii ya serikali. Hii inaweza kuwa kompyuta ya mkononi ya mwendeshaji au kompyuta nyingine yoyote ambayo ni sehemu ya nguzo ya Kubernetes.

Cctl hutekeleza na kuita kiolesura cha cluster-api kutoka juu kama maktaba ya shughuli za CRUD kwenye makundi. Anatumia ssh-mtoa huduma, mtoaji wa nguzo-api za chuma-wazi kutoka kwa Platform9, ambayo nayo huita etcdadm na nodeadm kutekeleza shughuli kwenye nguzo.

Jinsi ya kutumia Klusterkit na vifaa vyake:

1 - Chombo chochote kati ya hizo tatu kinaweza kukusanywa kwa urahisi na go get amri:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Vitekelezo hivi vinaweza kusakinishwa na kunakiliwa kwa mashine lengwa ambapo nguzo inayopatikana sana ya Kubernetes inapaswa kufanya kazi. Weka faili za nodeadm na etcdadm kwenye saraka za toleo:

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

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

3 - Ikiwa unahitaji kupanga kikundi cha Kubernetes ndani ya nchi, katika mazingira yaliyotengwa, tegemezi zinazohitajika zinaweza kupakuliwa kwa urahisi mapema kwenye kompyuta yenye ufikiaji wa Mtandao kwa kutumia nodeadm na amri ya upakuaji ya etcdadm. Kisha vipengee vilivyopakuliwa (yaani kubelet na faili ya kitengo cha kubelet kwa systemd, faili za CNI zinazotekelezeka, faili ya kubeadm, picha zote za chombo ikijumuisha Kubernetes, picha iliyohifadhiwa na faili ya mfumo, picha ya chombo nkd na faili zinazolingana za usanidi) zinaweza kunakiliwa kwa urahisi kwa wapangishi waliojitenga kimwili pamoja. na cctl, nodeadm na etcdadm. (Angalia maelezo katika wiki).

4 - Mara tu kila kitu kikiwa mahali, unaweza kuunda nguzo ya kwanza ya Kubernetes na amri kadhaa:

- Kwanza tengeneza vitambulisho vya nguzo.

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

- Kisha unda kitu cha nguzo. -help huleta orodha ya chaguo zinazotumika.

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

- Hatimaye, unda mashine ya kwanza kwenye nguzo.

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

Soma nyaraka zaidi kwenye GitHub.

Chanzo: mapenzi.com

Kuongeza maoni