KlusterKit

KlusterKit: avatud lähtekoodiga tööriistakomplekt Kubernetese juurutamise lihtsustamiseks ja töötamiseks füüsiliselt isoleeritud kohapealsetes keskkondades

KlusterKit

Täna teatame rõõmuga, et Platform9 on avatud hankimisega Klusterkit, kolmest tööriistast koosnev komplekt, GitHubi Apache v2.0 litsentsi all.

Meie kliendid juurutavad tarkvara privaatsetes andmekeskustes, millel pole sageli (turvalisuse või muudel põhjustel) Interneti-ühendust. Need suurettevõtted soovivad Kubernetese eeliseid kasutada ja oma rakendusi moderniseerida ning samal ajal levitada erinevates andmekeskustes, mis sageli ei ole välismaailmaga ühendatud. Siin tuleb appi Klusterkit, mis muudab K8-klastrite loomise ja haldamise füüsiliselt isoleeritud keskkondades lihtsaks.

Klusterkit sisaldab kolme sõltumatut tööriista, mida saab kasutada koos või eraldi Kubernetese tootmisklastri elutsükli haldamiseks:

  1. etcdadm, CLI lihtsustatud etcd klastri haldamiseks.
  2. nodeadm, CLI sõlmede haldamiseks, mis laiendab kubeadmi ja juurutab kubeadmi jaoks vajalikud sõltuvused.
  3. cctl, klastri elutsükli haldustööriist, mis võtab kasutusele Kubernetese kogukonna klastri API ja kasutab nodeadmi ja etcdadmi, et pakkuda ja hooldada sujuvalt kõrgetasemelisi Kubernetese klastreid kohapealsetes ja isegi füüsiliselt isoleeritud keskkondades.

Need kolm tööriista koos täidavad järgmisi ülesandeid:

  • Cluster API kaudu saate hõlpsalt pakkuda ja hallata kõrgetasemelist etcd-klastrit ja Kubernetese armatuurlauda füüsiliselt isoleeritud kohapealsetes keskkondades.
  • Klastri juhtpaneeli taastamine pärast riket, kasutades etcd varukoopiat.
  • Kõigi Kubernetese füüsiliselt isoleeritud keskkondadesse toimetamiseks vajalike artefaktide pakkimine.

Klusterkiti omadused

  • Multi-masteri tugi (HA klastri K8s).
  • Turvaliste etcd klastrite tarnimine ja haldamine.
  • Töötamine füüsiliselt eraldatud keskkondades.
  • Toetab jooksvaid uuendusi ja tagasipööramisi.
  • Flanell (vxlan) kui CNI taustaprogrammi jaoks; Kavas on toetada teisi CNI-sid.
  • etcd-klastrite varundamine ja taastamine pärast kvoorumi kaotamist.
  • Kaitseb juhtpaneeli mälu ja protsessori aja lõppemise eest.

Klusterkiti lahenduste arhitektuur

KlusterKit

Veataluvuse ja lihtsuse huvides kasutab Klusterkit Kubernetese klastri metaandmete salvestamiseks ühte cctl-state.yaml faili. cctl CLI kaudu saate hallata Kubernetese klastri elutsüklit mis tahes masinas, millel on see olekufail. See võib olla operaatori sülearvuti või mõni muu arvuti, mis on osa Kubernetese klastrist.

Cctl rakendab ja kutsub üles ülesvoolu klastri-api liidest raamatukoguna CRUD-i toimingute jaoks klastrites. Ta kasutab ssh-pakkuja, avatud lähtekoodiga metallist klastri-api pakkuja platvormilt 9, mis omakorda kutsub klastris toimingute tegemiseks välja etcdadm ja nodeadm.

Kuidas Klusterkiti ja selle komponente kasutada:

1 – mis tahes kolmest tööriistast saab hõlpsasti koguda käsuga 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 – need käivitatavad failid saab seejärel pakendada ja kopeerida sihtmasinatesse, kus peaks töötama kõrgetasemeline Kubernetese klaster. Asetage failid nodeadm ja etcdadm versioonikataloogidesse:

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

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

3 – Kui teil on vaja Kubernetese klastrit korraldada kohapeal, füüsiliselt isoleeritud keskkonnas, saab vajalikud sõltuvused hõlpsasti eelnevalt alla laadida Interneti-juurdepääsuga arvutisse, kasutades nodeadm ja etcdadm allalaadimiskäsku. Seejärel saab allalaaditud üksusi (nt kubeleti ja kubeleti üksuse fail systemd, CNI käivitatavate failide jaoks, kubeadm-fail, kõik konteineri kujutised, sealhulgas Kubernetes, säilituspilt ja systemd-fail, etcd konteineri kujutis ja vastavad konfiguratsioonifailid) hõlpsasti kopeerida füüsiliselt isoleeritud hostidesse. cctl, nodeadm ja etcdadm abil. (Vt üksikasju jaotisest wiki).

4 – Kui kõik on paigas, saate paari käsuga luua esimese Kubernetese klastri:

– Esmalt looge klastri jaoks mandaadid.

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

– Seejärel loo klastriobjekt. –help kuvab toetatud valikute loendi.

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

– Lõpuks looge klastris esimene masin.

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

Lisateavet dokumentatsiooni leiate aadressilt GitHub.

Allikas: www.habr.com

Lisa kommentaar