KlusterKit

KlusterKit: Yon zouti sous louvri pou senplifye deplwaman Kubernetes epi kouri nan anviwonman ki izole fizikman sou lokal yo.

KlusterKit

Jodi a nou kontan anonse l ke Platform9 ap apwovizyone Klusterkit, yon seri twa zouti, anba lisans Apache v2.0 sou GitHub.

Kliyan nou yo woule lojisyèl nan sant done prive ki souvan pa konekte ak entènèt la (pou sekirite oswa lòt rezon). Gwo konpayi sa yo vle pran avantaj de Kubernetes ak modènize aplikasyon yo epi an menm tan woule yo nan diferan sant done, ki souvan pa konekte ak mond lan deyò. Se la kote Klusterkit antre, sa ki fè li fasil pou pwovizyon ak jere grap K8 yo nan anviwònman ki izole fizikman.

Klusterkit gen ladan twa zouti endepandan ki ka itilize ansanm oswa separeman pou jere sik lavi yon gwoup pwodiksyon Kubernetes:

  1. etcdadm, CLI pou jesyon senplifye etcd cluster.
  2. nodeadm, yon CLI pou administrasyon ne ki pwolonje kubeadm ak deplwaye depandans ki nesesè pa kubeadm.
  3. cctl, yon zouti jesyon sik lavi gwoup ki adopte API Cluster ki soti nan kominote Kubernetes la epi ki sèvi ak nodeadm ak etcdadm pou delivre epi kenbe grap Kubernetes ki disponib yo san pwoblèm nan lokal e menm nan anviwònman ki izole fizikman.

Ansanm, twa zouti sa yo fè travay sa yo:

  • Fasil pwovizyon epi jere yon gwoup etcd ki trè disponib ak tablodbò Kubernetes nan anviwònman fizikman izole sou lokal atravè API Cluster la.
  • Retabli panèl kontwòl gwoup la apre yon echèk lè l sèvi avèk backup etcd.
  • Anbalaj tout zafè ki nesesè pou delivre Kubernetes nan anviwònman ki izole fizikman.

Karakteristik Klusterkit

  • Sipò milti-mèt (HA cluster K8s).
  • Livrezon ak jesyon nan grap an sekirite etcd.
  • Travay nan anviwònman fizikman izole.
  • Sipòte amelyorasyon woule ak rollbacks.
  • Flanèl (vxlan) kòm CNI pou backend la; Gen plan pou sipòte lòt CNI yo.
  • Sovgad ak restorasyon gwoup etcd apre pèt kowòm.
  • Pwoteje panèl la kontwòl soti nan kouri soti nan memwa ak tan CPU.

Klusterkit solisyon Achitekti

KlusterKit

Pou tolerans fay ak senplisite, Klusterkit itilize yon sèl fichye cctl-state.yaml pou estoke metadata gwoup Kubernetes. Atravè cctl CLI ou ka jere sik lavi yon gwoup Kubernetes sou nenpòt machin ki gen dosye eta sa a. Sa a kapab yon laptop operatè oswa nenpòt lòt òdinatè ki fè pati gwoup Kubernetes la.

Cctl aplike epi rele koòdone gwoup-api a soti nan en kòm yon bibliyotèk pou operasyon CRUD sou grap. Li itilize ssh-founisè, yon founisè ki louvri-sous bare metal cluster-api soti nan Platform9, ki an vire rele etcdadm ak nodeadm pou fè operasyon sou gwoup la.

Ki jan yo sèvi ak Klusterkit ak eleman li yo:

1 - Nenpòt nan twa zouti yo ka fasilman kolekte ak lòd la ale jwenn:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

go get -u github.com/kubernetes-sigs/etcdadm

2 - Ègzèkutabl sa yo ka pake epi kopye sou machin sib yo kote gwoup Kubernetes ki trè disponib yo ta dwe kouri. Mete fichye nodeadm ak etcdadm nan repèrtwar vèsyon yo:

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

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

3 – Si ou bezwen òkestre yon gwoup Kubernetes lokalman, nan yon anviwònman izole fizikman, depandans ki nesesè yo ka fasil telechaje davans sou yon òdinatè ki gen aksè Entènèt lè l sèvi avèk lòd download nodeadm ak etcdadm. Lè sa a, atik telechaje yo (sa vle di fichye inite kubelet ak kubelet pou systemd, CNI ègzèkutabl fichye, fichye kubeadm, tout imaj veso ki gen ladan Kubernetes, imaj keepalived ak fichye systemd, imaj veso elatriye ak dosye konfigirasyon korespondan) ka fasilman kopye nan tout lame ki izole fizikman ansanm. ak cctl, nodeadm ak etcdadm. (Gade detay nan wiki).

4 - Yon fwa tout bagay an plas, ou ka kreye premye gwoup Kubernetes ak yon koup nan kòmandman:

– Premye kreye kalifikasyon pou gwoup la.

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

– Lè sa a, kreye yon objè grap. –help pote yon lis opsyon sipòte.

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

– Finalman, kreye premye machin nan gwoup la.

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

Li plis dokiman nan GitHub.

Sous: www.habr.com

Add nouvo kòmantè