KlusterKit

KlusterKit: atvērtā pirmkoda rīkkopa, lai vienkāršotu Kubernetes izvietošanu un darbotos fiziski izolētās lokālās vidēs

KlusterKit

Šodien mēs ar prieku paziņojam, ka Platform9 ir atvērtā avota Klusterkit, trīs rīku komplekts, saskaņā ar Apache v2.0 licenci vietnē GitHub.

Mūsu klienti izlaiž programmatūru privātos datu centros, kas bieži vien nav savienoti ar internetu (drošības vai citu iemeslu dēļ). Šie lielie uzņēmumi vēlas izmantot Kubernetes sniegtās priekšrocības un modernizēt savas lietojumprogrammas un vienlaikus izvērst tās dažādos datu centros, kas bieži vien nav savienoti ar ārpasauli. Šeit tiek izmantots Klusterkit, kas atvieglo K8s klasteru nodrošināšanu un pārvaldību fiziski izolētā vidē.

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.

  1. etcdadm, CLI vienkāršotai etcd klasteru pārvaldībai.
  2. nodeadm, CLI mezglu administrēšanai, kas paplašina kubeadm un izvieto kubeadm nepieciešamās atkarības.
  3. cctl, klasteru dzīves cikla pārvaldības rīks, kas pārņem Cluster API no Kubernetes kopienas un izmanto nodeadm un etcdadm, lai nevainojami piegādātu un uzturētu ļoti pieejamus Kubernetes klasterus lokālā un pat fiziski izolētā vidē.

Šie trīs rīki kopā veic šādus uzdevumus:

  • Viegli nodrošiniet un pārvaldiet ļoti pieejamu etcd klasteru un Kubernetes informācijas paneli fiziski izolētās lokālās vidēs, izmantojot klastera API.
  • Klastera vadības paneļa atjaunošana pēc kļūmes, izmantojot etcd dublējumu.
  • Visu artefaktu iesaiņošana, kas nepieciešami, lai Kubernetes piegādātu fiziski izolētā vidē.

Klusterkit funkcijas

  • Multi-master atbalsts (HA klasteris K8s).
  • Drošu etcd klasteru piegāde un pārvaldība.
  • Darbs fiziski izolētā vidē.
  • Atbalsta ritošo jaunināšanu un atcelšanu.
  • Flanelis (vxlan) kā aizmugursistēmas CNI; Ir plānots atbalstīt citas CNI.
  • etcd klasteru dublēšana un atjaunošana pēc kvoruma zaudēšanas.
  • Aizsargā vadības paneli no atmiņas un CPU laika beigām.

Klusterkit risinājumu arhitektūra

KlusterKit

Lai nodrošinātu kļūdu toleranci un vienkāršību, Klusterkit izmanto vienu cctl-state.yaml failu, lai saglabātu Kubernetes klastera metadatus. Izmantojot cctl CLI, varat pārvaldīt Kubernetes klastera dzīves ciklu jebkurā datorā, kurā ir šis stāvokļa fails. Tas var būt operatora klēpjdators vai jebkurš cits dators, kas ir daļa no Kubernetes klastera.

Cctl ievieš un izsauc klastera-api saskarni no augšpuses kā bibliotēku CRUD operācijām klasteros. Viņš lieto ssh nodrošinātājs, atvērtā koda tukša metāla klastera-api nodrošinātājs no Platform9, kas savukārt izsauc etcdadm un nodeadm, lai veiktu darbības klasterī.

Kā lietot Klusterkit un tā sastāvdaļas:

1 — jebkuru no trim rīkiem var viegli savākt, 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/etcdadm

2 — šos izpildāmos failus pēc tam var iesaiņot un kopēt mērķa mašīnās, kur vajadzētu darboties augsti pieejamajam Kubernetes klasterim. Ievietojiet nodeadm un etcdadm failus versiju direktorijos:

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

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

3 – Ja Kubernetes klasteris ir jāorganizē lokāli, fiziski izolētā vidē, nepieciešamās atkarības var viegli lejupielādēt iepriekš datorā ar piekļuvi internetam, izmantojot nodeadm un etcdadm lejupielādes komandu. Pēc tam lejupielādētos vienumus (t.i., kubelet un kubelet vienības failu systemd, CNI izpildāmajiem failiem, kubeadm failu, visus konteinera attēlus, tostarp Kubernetes, saglabāto attēlu un systemd failu, etcd konteinera attēlu un atbilstošos konfigurācijas failus) var viegli kopēt fiziski izolētos saimniekdatoros. ar cctl, nodeadm un etcdadm. (Sīkāku informāciju skatiet sadaļā Wiki).

4 - Kad viss ir izveidots, varat izveidot pirmo Kubernetes klasteru 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. –palīdzība parāda atbalstīto opciju sarakstu.

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

– Visbeidzot, izveidojiet klasterī pirmo mašīnu.

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

Lasiet vairāk dokumentācijas vietnē GitHub.

Avots: www.habr.com

Pievieno komentāru