KlusterKit

KlusterKit: një grup mjetesh me burim të hapur për lehtësimin e thjeshtësisht të implementimeve Kubernetes dhe punës në mjedise fizike të izoluara

KlusterKit

Sot me kënaqësi njoftojmë se Platform9 po hap kodin burimor të Klusterkit, një grup prej tre mjetesh, me licencë Apache v2.0 në GitHub.

Klientët tanë po nxjerrin softuer në data qendrat private, të cilat shpesh nuk janë të lidhura me internetin (për arsye sigurie ose për arsye të tjera). Këto kompani të mëdha duan të shfrytëzojnë përfitimet e Kubernetes dhe të modernizojnë aplikacionet e tyre, duke i nxjerrë ato në data qendra të ndryshme, të cilat shpesh nuk kanë lidhje me botën përtej. Dhe këtu vjen në ndihmë Klusterkit, i cili lehtëson shpërndarjen dhe menaxhimin e grupeve K8s në mjedise fizike të izoluara.

Klusterkit përfshin tre mjete të pavarura, të cilat mund të përdoren së bashku ose veçmas për menaxhimin e ciklit të jetës së grupit përdorues Kubernetes:

  1. etcdadm, CLI për menaxhimin e thjeshtuar të grupit etcd.
  2. nodeadm, CLI për administrimin e node-ve, që plotëson kubeadm dhe shpërndan varësitë e nevojshme për kubeadm.
  3. cctl, një mjet për menaxhimin e ciklit të jetës së grupit, i cili pranon Cluster API nga komuniteti Kubernetes dhe përdor nodeadm dhe etcdadm për të ofruar dhe mbështetur grupe Kubernetes me disponueshmëri të lartë në mjedise lokale dhe ndoshta fizike të izoluara.

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

  • OfrojnĂ« shpĂ«rndarje dhe menaxhimin e thjeshtĂ« tĂ« njĂ« grupi etcd me disponueshmĂ«ri tĂ« lartĂ« dhe panelin e menaxhimit Kubernetes nĂ« mjedise fizike tĂ« izoluara pĂ«rmes Cluster API.
  • Rikuperimin e panelit tĂ« menaxhimit tĂ« grupit pas njĂ« dĂ«shtimi me anĂ« tĂ« njĂ« kopje rezervĂ« etcd.
  • Paketimi i gjithĂ« artefakteve tĂ« nevojshme pĂ«r shpĂ«rndarjen e Kubernetes, nĂ« mjedise fizike tĂ« izoluara.

Kapacitetet e Klusterkit

  • PĂ«rkrahja pĂ«r disa mjeshtĂ«r (HA-grupi K8s).
  • Ofrimi dhe menaxhimi i grupeve tĂ« mbrojtura etcd.
  • Puna nĂ« mjedise fizike tĂ« izoluara.
  • MbĂ«shtetje pĂ«r pĂ«rditĂ«sim dhe rikthim tĂ« radhĂ«s.
  • Flannel (vxlan) si CNI pĂ«r backend; nĂ« planet Ă«shtĂ« mbĂ«shtetje pĂ«r CNI tĂ« tjera.
  • Rezervimi dhe rikthimi i grupeve etcd pas humbjes sĂ« kvorumit.
  • Mbrojtja e panelit tĂ« menaxhimit nga mungesa e memories dhe kohĂ«s sĂ« CPU.

Arkitektura e zgjidhjes Klusterkit

KlusterKit

Për disponueshmërinë dhe thjeshtësinë, Klusterkit përdor një skedar të vetëm cctl-state.yaml për ruajtjen e metadata-ve të klasterit Kubernetes. Nëpërmjet cctl CLI, është e mundur të menaxhohet cikli jetësor i klasterit Kubernetes në çdo makinë që ka këtë skedë gjendjeje. Kjo mund të jetë një laptop i operatorit ose çdo kompjuter tjetër që është pjesë e klasterit Kubernetes.

Cctl zbaton dhe thërret nga upstream ndërfaqen cluster-api si një bibliotekë operacionesh CRUD për klasterët. Ai përdor ssh-provider, ofruesin cluster-api me kod burimor në "harduer të pastër" nga Platform9, i cili, nga ana e tij, thërret etcdadm dhe nodeadm për të kryer operacione mbi klasterin.

Si të përdorni Klusterkit dhe komponentët e tij:

1 – Çdo nga tre mjetet mund tĂ« ndĂ«rtohet 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 skedarĂ« ekzekutivĂ« mund tĂ« paketohen dhe kopjohen nĂ« makinat e synuara ku duhet tĂ« funksionojĂ« klasteri Kubernetes me disponueshmĂ«ri tĂ« lartĂ«. Vendosni skedarĂ«t nodeadm dhe etcdadm nĂ« katalogĂ«t e versioneve:

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

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

3 – NĂ«se nevojitet orkestrimi i klasterit Kubernetes nĂ« mĂ«nyrĂ« lokale, nĂ« njĂ« ambient fizikisht tĂ« izoluar, varĂ«sitĂ« e nevojshme mund tĂ« shkarkohen lehtĂ«sisht paraprakisht nĂ« njĂ« kompjuter me qasje nĂ« internet duke pĂ«rdorur komandĂ«n e shkarkimit nodeadm dhe etcdadm. Pas kĂ«saj, elementĂ«t e shkarkuar (p.sh., kubelet dhe skedari i njĂ«sisĂ« kubelet pĂ«r systemd, skedarĂ«t ekzekutivĂ« CNI, skedari kubeadm, tĂ« gjitha imazhet e konteinerĂ«ve, pĂ«rfshirĂ« Kubernetes, imazhi keepalived dhe skedari systemd, imazhi i konteinerit etcd dhe skedarĂ«t pĂ«rkatĂ«s tĂ« konfigurimit) mund tĂ« kopjohen lehtĂ«sisht nĂ« hostet fizikisht tĂ« izoluar sĂ« bashku me cctl, nodeadm dhe etcdadm. (PĂ«r detaje, shihni wiki).

4 – Kur gjithçka Ă«shtĂ« nĂ« vend, klasteri i parĂ« Kubernetes mund tĂ« krijohet me disa komanda:

– SĂ« pari krijoni kredencialet pĂ«r klasterin.

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

– MĂ« pas krijoni objektin e klasterit. –help thĂ«rret listĂ«n e parametrave tĂ« mbĂ«shtetur.

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

– NĂ« fund, krijoni makinĂ«n e parĂ« nĂ« klaster.

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

Për më shumë dokumentacion, lexoni në GitHub.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster