KlusterKit: rīku komplekts ar atvērtā koda atbalstu, lai atvieglotu Kubernetes izvietošanu un darbu fiziski izolētās lokālās vidēs.

Šodien ar prieku paziņojam, ka Platform9 atver Klusterkit avota kodu, trīs rīku komplekta licenci Apache v2.0 GitHub vietnē.
Mūsu klienti izvieto programmatūru privātās datu centrās, kas bieži nav pieslēgti internetam (drošības apsvērumu vai citu iemeslu dēļ). Šie lielie uzņēmumi vēlas izmantot Kubernetes priekšrocības un modernizēt savas lietojumprogrammas, tajā pašā laikā izvietojot tās dažādos datu centros, kuri bieži nav savienoti ar ārpasauli. Šajā brīdī palīdz Klusterkit, kas atvieglo K8s klasteru piegādi un pārvaldību fiziski izolētās vidēs.
Klusterkit ietver trīs neatkarīgus rīkus, kurus var izmantot kopā vai atsevišķi, lai pārvaldītu Kubernetes ražošanas klastera dzīves ciklu:
- , CLI, lai atvieglotu etcd klastera pārvaldību.
- , CLI nolūkiem, lai administrētu mezglus, kas papildina kubeadm un izvieto atkarības, kas nepieciešamas kubeadm.
- , klastera dzīves cikla pārvaldības rīks, kas pieņem Cluster API no Kubernetes kopienas un izmanto nodeadm un etcdadm, lai bez grūtībām piegādātu un uzturētu augsti pieejamus Kubernetes klasterus lokālās un fiziski izolētās vidēs.
Kopā šie trīs rīki veic šādas funkcijas:
- Vienkārša piegāde un augsti pieejama etcd klastera un Kubernetes pārvaldības paneļa pārvaldība fiziski izolētās lokālās vidēs, izmantojot Cluster API.
- Klastera pārvaldības paneļa atjaunošana pēc sistēmas sabrukuma ar etcd dublējuma palīdzību.
- Visu artifaktu, kas nepieciešami Kubernetes piegādei fiziski izolētās vidēs, iepakošana.
Klusterkit iespējas
- Atbalsts vairākiem meistarajiem (HA-K8s klasteris).
- Aizsargātu etcd klasteru piegāde un pārvaldība.
- Darbs fiziski izolētās vidēs.
- Atbalsts secīgu jauninājumu un atgriešanās procesam.
- Flannel (vxlan) kā CNI aizmugurē; plānots atbalstīt citus CNI.
- Rezervēšana un etcd klasteru atjaunošana pēc kvoruma zuduma.
- Pārvaldības paneļa aizsardzība pret atmiņas un CPU laika trūkumu.
Klusterkit risinājuma arhitektūra
Lai nodrošinātu atteices noturību un vienkāršību, Klusterkit izmanto vienu failu cctl-state.yaml, lai saglabātu Kubernetes klastera metadatus. Ar cctl CLI var pārvaldīt Kubernetes klastera dzīves ciklu jebkurā mašīnā, kurā atrodas šis stāvokļa fails. Tas var būt operatora klēpjdators vai jebkura cita datoru, kas ir daļa no Kubernetes klastera.
Cctl īsteno un izsauc no upstream interfeisu cluster-api kā CRUD operāciju bibliotēku klasteriem. Tas izmanto , cluster-api atvērta koda piegādātājs uz "tīra metāla" no Platform9, kurš, savukārt, izsauc etcdadm un nodeadm, lai veiktu darbības klasterī.
Kā izmantot Klusterkit un tā sastāvdaļas:
1 – Jebkuru no trim rīkiem var viegli iegūt, izmantojot komandu go get:
go get -u github.com/platform9/cctl
go get -u github.com/platform9/nodeadm
go get -u github.com/kubernetes-sigs/etcdadm2 – Pēc tam šos izpildāmos failus var iepakot un kopēt uz mērķa mašīnām, kurām jādarbojas augsti pieejamajā Kubernetes klasterī. Ievietojiet failus nodeadm un etcdadm versiju direktorijos:
cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//
cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//3 – Ja nepieciešams orķestrēt Kubernetes klasteri lokāli, fiziski izolētā vidē, nepieciešamās atkarības var viegli iepriekš lejupielādēt datorā ar interneta piekļuvi, izmantojot lejupielādes komandu nodeadm un etcdadm. Pēc tam lejupielādētie elementi (t.i., kubelet un kubelet vienības fails systemd, izpildāmie CNI faili, kubeadm fails, visi konteineru attēli, ieskaitot Kubernetes, keepalived attēls un systemd fails, etcd konteineru attēls un attiecīgie konfigurācijas faili) var viegli kopēt uz fiziski izolētiem hostiem kopā ar cctl, nodeadm un etcdadm. (Sīkāk skatiet ).
4 – Kad viss ir sakārtots, pirmo Kubernetes klasteri var izveidot ar pāris komandām:
– Vispirms izveidojiet klastera akreditācijas datus.
$GOPATH/bin/cctl create credential --user root --private-key ~/ .ssh/id_rsa– Pēc tam izveidojiet klastera objektu. –help izsauc atbalstīto parametru sarakstu.
$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24– Visbeidzot, izveidojiet pirmo mašīnu klasterī.
$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role masterVairāk dokumentācijas lasiet .
Avots: habr.com
