KlusterKit

KlusterKit: Një vegël me burim të hapur për të thjeshtuar vendosjet e Kubernetes dhe për të ekzekutuar në mjedise të izoluara fizikisht në ambiente

KlusterKit

Sot ne jemi të ngazëllyer të njoftojmë se Platform9 është Klusterkit me burim të hapur, një grup prej tre mjetesh, nën licencën Apache v2.0 në GitHub.

Klientët tanë nxjerrin softuer në qendrat private të të dhënave që shpesh nuk janë të lidhura me internetin (për arsye sigurie ose të tjera). Këto kompani të mëdha duan të përfitojnë nga Kubernetes dhe të modernizojnë aplikacionet e tyre dhe në të njëjtën kohë t'i shpërndajnë ato në qendra të ndryshme të të dhënave, të cilat shpesh nuk janë të lidhura me botën e jashtme. Këtu hyn Klusterkit, duke e bërë të lehtë sigurimin dhe menaxhimin e grupimeve K8s në mjedise të izoluara fizikisht.

Klusterkit përfshin tre mjete të pavarura që mund të përdoren së bashku ose veçmas për të menaxhuar ciklin jetësor të një grupi prodhimi Kubernetes:

  1. etjdadm, CLI për menaxhimin e thjeshtuar të grupimeve etcd.
  2. nodeadm, një CLI për administrimin e nyjeve që zgjeron kubeadm dhe vendos varësitë e nevojshme nga kubeadm.
  3. cctl, një mjet i menaxhimit të ciklit jetësor të grupeve që miraton API-në e grupit nga komuniteti Kubernetes dhe përdor nodeadm dhe etcdadm për të ofruar dhe mbajtur pa probleme grupimet Kubernetes shumë të disponueshme në mjedise dhe madje edhe në mjedise të izoluara fizikisht.

Së bashku, këto tre mjete kryejnë detyrat e mëposhtme:

  • Siguroni dhe menaxhoni me lehtësi një grup etcd shumë të disponueshëm dhe panelin e Kubernetes në mjedise të izoluara fizikisht në ambiente nëpërmjet API-së së Cluster.
  • Rivendosja e panelit të kontrollit të grupit pas një dështimi duke përdorur kopje rezervë etcd.
  • Paketimi i të gjitha objekteve të nevojshme për të dërguar Kubernetes në mjedise të izoluara fizikisht.

Karakteristikat e Klusterkit

  • Mbështetje multi-master (HA grupi K8s).
  • Dorëzimi dhe menaxhimi i grupeve të sigurta etcd.
  • Puna në mjedise të izoluara fizikisht.
  • Mbështet përmirësimet dhe rikthimet rrotulluese.
  • Flannel (vxlan) si CNI për backend; Ka plane për të mbështetur CNI-të e tjera.
  • Rezervimi dhe restaurimi i grupimeve etcd pas humbjes së kuorumit.
  • Mbron panelin e kontrollit nga mbarimi i memories dhe kohës së procesorit.

Klusterkit Solution Architecture

KlusterKit

Për tolerancë dhe thjeshtësi ndaj gabimeve, Klusterkit përdor një skedar të vetëm cctl-state.yaml për të ruajtur metadatat e grupit Kubernetes. Nëpërmjet cctl CLI ju mund të menaxhoni ciklin e jetës së një grupi Kubernetes në çdo makinë që ka këtë skedar të gjendjes. Ky mund të jetë laptopi i një operatori ose çdo kompjuter tjetër që është pjesë e grupit Kubernetes.

Cctl zbaton dhe thërret ndërfaqen cluster-api nga rrjedha e sipërme si një bibliotekë për operacionet CRUD në grupe. Ai perdor ssh-ofrues, një ofrues i api-grupeve metalike të zhveshura me burim të hapur nga Platform9, i cili nga ana tjetër thërret etcdadm dhe nodeadm për të kryer operacione në grup.

Si të përdorni Klusterkit dhe përbërësit e tij:

1 – Secili nga tre mjetet mund të mblidhet lehtësisht me komandën 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 – Më pas këto ekzekutueshme mund të paketohen dhe kopjohen në makineritë e synuara ku duhet të funksionojë grupi Kubernetes shumë i disponueshëm. Vendosni skedarët nodeadm dhe etcdadm në drejtoritë e versioneve:

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

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

3 – Nëse keni nevojë të orkestroni një grup Kubernetes në nivel lokal, në një mjedis të izoluar fizikisht, varësitë e nevojshme mund të shkarkohen lehtësisht paraprakisht në një kompjuter me akses në internet duke përdorur komandën e shkarkimit nodeadm dhe etcdadm. Më pas artikujt e shkarkuar (d.m.th. skedari kubelet dhe njësia kubelet për systemd, skedarët e ekzekutueshëm CNI, skedari kubeadm, të gjitha imazhet e kontejnerit duke përfshirë Kubernetes, imazhin e ruajtur dhe skedarin systemd, imazhin e kontejnerit etcd dhe skedarët përkatës të konfigurimit) mund të kopjohen lehtësisht në hostet e izoluar fizikisht së bashku me cctl, nodeadm dhe etcdadm. (Shihni detajet në wiki).

4 – Pasi të jetë vendosur gjithçka, mund të krijoni grupin e parë Kubernetes me disa komanda:

– Fillimisht krijoni kredencialet për grupin.

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

– Më pas krijoni një objekt grupimi. -ndihma sjell një listë të opsioneve të mbështetura.

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

– Më në fund, krijoni makinën e parë në grup.

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

Lexoni më shumë dokumentacion në GitHub.

Burimi: www.habr.com

Shto një koment