KlusterKit

KlusterKit: En Open Source Toolkit fir Kubernetes Deployment ze vereinfachen an a kierperlech isoléierten on-premises Ëmfeld ze lafen

KlusterKit

Haut si mir opgereegt fir matzedeelen datt Platform9 Open Sourcing Klusterkit ass, eng Suite vun dräi Tools, ënner der Apache v2.0 Lizenz op GitHub.

Eis Clientë rullen Software a privaten Datenzenteren aus, déi dacks net mam Internet verbonne sinn (aus Sécherheet oder aus anere Grënn). Dës grouss Entreprisen wëlle vu Kubernetes profitéieren an hir Applikatiounen moderniséieren a gläichzäiteg a verschiddenen Datenzenteren ausrollen, déi dacks net mat der Äussewelt verbonne sinn. Dëst ass wou de Klusterkit erakënnt, wat et einfach mécht K8s Cluster a kierperlech isoléierten Ëmfeld ze versuergen an ze managen.

Klusterkit enthält dräi onofhängeg Tools déi zesummen oder separat kënne benotzt ginn fir de Liewenszyklus vun engem Kubernetes Produktiounscluster ze managen:

  1. etcdadm, CLI fir vereinfacht etcd Cluster Management.
  2. nodeadm, e CLI fir Nodeverwaltung déi kubeadm erweidert an d'Ofhängegkeete benotzt déi kubeadm brauch.
  3. cctl, e Cluster Lifecycle Management Tool dat de Cluster API vun der Kubernetes Gemeinschaft adoptéiert a benotzt Nodeadm an etcdadm fir nahtlos héich verfügbare Kubernetes Cluster an on-premises a souguer kierperlech isoléiert Ëmfeld ze liwweren an z'erhalen.

Zesummen maachen dës dräi Tools déi folgend Aufgaben:

  • Einfach suergt a verwalten en héich verfügbaren etcd Cluster a Kubernetes Dashboard a kierperlech isoléierten on-premises Ëmfeld iwwer de Cluster API.
  • Restauratioun vun der Cluster Kontrollpanel no engem Feeler mat etcd Backup.
  • Verpackt all Artefakte fir Kubernetes a kierperlech isoléiert Ëmfeld ze liwweren.

Klusterkit Fonctiounen

  • Multi-Master Ënnerstëtzung (HA Cluster K8s).
  • Liwwerung a Gestioun vun sécher etcd Stärekéip.
  • Aarbecht a kierperlech isoléiert Ëmfeld.
  • Ënnerstëtzt Rolling Upgrades a Rollbacks.
  • Flannel (vxlan) als CNI fir de Backend; Et gi Pläng fir aner CNIs z'ënnerstëtzen.
  • Backup a Restauratioun vun etcd Stärekéip nom Verloscht vum Quorum.
  • Schützt d'Kontrollpanel fir aus der Erënnerung an der CPU Zäit ze lafen.

Klusterkit Solution Architecture

KlusterKit

Fir Feeler Toleranz an Einfachheet benotzt Klusterkit eng eenzeg cctl-state.yaml Datei fir Kubernetes Cluster Metadaten ze späicheren. Duerch den cctl CLI kënnt Dir de Liewenszyklus vun engem Kubernetes-Cluster op all Maschinn verwalten déi dës Staatsdatei huet. Dëst kann e Laptop vum Bedreiwer sinn oder all anere Computer deen Deel vum Kubernetes Cluster ass.

Cctl implementéiert a rifft de Cluster-APi Interface vu Upstream als Bibliothéik fir CRUD Operatiounen op Cluster. Hie benotzt ssh-Provider, en Open-Source Bare Metal Cluster-API Provider vu Platform9, deen am Tour etcdadm an nodeadm rifft fir Operatiounen um Cluster auszeféieren.

Wéi benotzt Dir Klusterkit a seng Komponenten:

1 - Jiddereen vun den dräi Tools ka ganz einfach mam Go get Kommando gesammelt ginn:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Dës Ausféierbar kënnen dann op d'Zilmaschinne verpackt a kopéiert ginn, wou den héich verfügbare Kubernetes Cluster soll lafen. Setzt d'Nodeadm an etcdadm Dateien an de Versiounsverzeichnisser:

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

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

3 - Wann Dir e Kubernetes Stärekoup lokal orchestréiere musst, an engem kierperlech isoléierten Ëmfeld, kënnen déi néideg Ofhängegkeeten einfach am Viraus op engem Computer mat Internetzougang erofgeluede ginn mat der Nodeadm an etcdadm Download Kommando. Dann kënnen déi erofgelueden Elementer (dh Kubelet a Kubelet Eenheetsdatei fir Systemd, CNI ausführbar Dateien, Kubeadm Datei, all Container Biller abegraff Kubernetes, Keepalved Bild a Systemd Datei, etcd Container Bild an entspriechend Konfiguratiounsdateien) einfach op kierperlech isoléiert Hosten kopéiert ginn. mat cctl, nodeadm an etcdadm. (Kuckt Detailer an Wiki).

4 - Wann alles op der Plaz ass, kënnt Dir den éischte Kubernetes Cluster mat e puer Kommandoen erstellen:

- Erstellt éischt Umeldungsinformatiounen fir de Cluster.

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

- Erstellt dann e Clusterobjekt. -help bréngt eng Lëscht mat ënnerstëtzten Optiounen op.

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

- Endlech erstellt déi éischt Maschinn am Stärekoup.

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

Liest méi Dokumentatioun op GitHub.

Source: will.com

Setzt e Commentaire