KlusterKit

KlusterKit: një grup mjetesh me burim të hapur për të thjeshtuar depolimin e Kubernetes dhe operimin në ambientet lokale fizikisht të izoluar

KlusterKit

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

Këta klientë po zbatojnë software në qendrat e të dhënave private, të cilat shpesh nuk janë të lidhura me internetin (për arsye sigurie ose 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 zbatuar në qendra të ndryshme të të dhënave, të cilat shpesh nuk kanë lidhje me botën jashtme. Këtu hyn Klusterkit në lojë, i cili thjeshton shpërndarjen dhe menaxhimin e grupeve K8s në ambientet fizikisht të izoluar.

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 të prodhimit Kubernetes:

  1. etcdadm, CLI për menaxhimin e thjeshtuar të grupit etcd.
  2. nodeadm, CLI për administrimin e nodëve, i cili plotëson kubeadm dhe implementon varësitë e nevojshme për kubeadm.
  3. cctl, një instrument menaxhimi të ciklit të jetës së klasterit, i cili pranon Cluster API nga komuniteti Kubernetes dhe përdor nodeadm dhe etcdadm, për të ofruar dhe mbështetur klastere Kubernetes me akses të lartë në mjedise lokale dhe gjithashtu në mjedise fizike të izoluara.

Së bashku, këta tre mjete kryejnë këto detyra:

  • Shkarkim i thjeshtĂ« dhe menaxhim i njĂ« klasteri etcd me akses tĂ« lartĂ« dhe paneli i menaxhimit Kubernetes nĂ« mjedise fizike tĂ« izoluara pĂ«rmes Cluster API.
  • RindĂ«rtimi i panelit tĂ« menaxhimit tĂ« klasterit pas dĂ«shtimit me ndihmĂ«n e njĂ« backup-i tĂ« etcd.
  • Paketa e tĂ« gjitha artefakteve tĂ« nevojshme pĂ«r shkarkimin e Kubernetes nĂ« mjedise fizike tĂ« izoluara.

Aftësitë e Klusterkit

  • MbĂ«shtetje pĂ«r disa mastera (klaster HA K8s).
  • Shkarkim i klastereve etcd tĂ« mbrojtura dhe menaxhimi i tyre.
  • PunĂ« nĂ« mjedise fizike tĂ« izoluara.
  • MbĂ«shtetje pĂ«r pĂ«rditĂ«sim dhe rrotullim sekondar.
  • Flannel (vxlan) si CNI pĂ«r backend; nĂ« planet mbĂ«shtetje pĂ«r CNI tĂ« tjera.
  • Rezervimi dhe rikuperimi i klastereve etcd pas humbjes sĂ« kuorumit.
  • Mbrojtja e panelit tĂ« menaxhimit nga mungesa e memories dhe kohĂ«s sĂ« CPU.

Arkitektura e zgjidhjes Klusterkit

KlusterKit

Për qëndrueshmëri dhe thjeshtësi, Klusterkit përdor një skedë cctl-state.yaml për të ruajtur metadatat e klasterit Kubernetes. Nëpërmjet cctl CLI, mund të menaxhohet cikli i jetës së klasterit Kubernetes në çdo makinë që ka këtë skedë gjendjeje. Kjo mund të jetë një laptop operatori ose çdo kompjuter tjetër që është pjesë e klasterit Kubernetes.

Cctl implementon dhe thërret nga upstream ndërfaqen cluster-api si një bibliotekë operacionesh CRUD mbi klasterët. Ai përdor ssh-provider, një ofrues cluster-api me kod të hapur në "metalikun e 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 – Cilido 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 skedha ekzekutues mund tĂ« paketohen dhe kopjohen nĂ« maqinat qĂ« kanĂ« nevojĂ« pĂ«r tĂ« punuar njĂ« klaster Kubernetes me disponibilitet tĂ« lartĂ«. Vendosni skedhat 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 tĂ« orkestrohet njĂ« klaster Kubernetes lokal, nĂ« njĂ« mjedis fizikisht tĂ« izoluar, varĂ«sitĂ« e nevojshme mund tĂ« shkarkohen lehtĂ«sisht paraprakisht nĂ« njĂ« kompjuter me akses nĂ« internet me komandĂ«n e shkarkimit nodeadm dhe etcdadm. Pastaj, elementĂ«t e shkarkuar (dmth kubelet dhe skedari i njĂ«sisĂ« kubelet pĂ«r systemd, skedari i ekzekutueshĂ«m 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. (Shihni detajet nĂ« 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

– Pastaj, 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

– SĂ« fundi, 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

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