KlusterKit: un conjunt d'eines de codi obert per simplificar els desplegaments de Kubernetes i executar-se en entorns locals aïllats físicament
Avui ens complau anunciar que Platform9 té Klusterkit de subministrament obert, un conjunt de tres eines, sota la llicència Apache v2.0 a GitHub.
Els nostres clients implementen programari en centres de dades privats que sovint no estan connectats a Internet (per motius de seguretat o altres). Aquestes grans empreses volen aprofitar Kubernetes i modernitzar les seves aplicacions i, al mateix temps, desplegar-les en diferents centres de dades, que sovint no estan connectats amb el món exterior. Aquí és on entra Klusterkit, que facilita el subministrament i la gestió de clústers K8s en entorns físicament aïllats.
Klusterkit inclou tres eines independents que es poden utilitzar juntes o per separat per gestionar el cicle de vida d'un clúster de producció de Kubernetes:
etcdadm, CLI per a la gestió simplificada del clúster etcd.
nodeadm, una CLI per a l'administració de nodes que amplia kubeadm i desplega les dependències necessàries per kubeadm.
cctl, una eina de gestió del cicle de vida del clúster que adopta l'API del clúster de la comunitat de Kubernetes i utilitza nodeadm i etcdadm per oferir i mantenir clústers de Kubernetes d'alta disponibilitat en entorns locals i fins i tot físicament aïllats.
En conjunt, aquestes tres eines realitzen les següents tasques:
Subministreu i gestioneu fàcilment un clúster etcd d'alta disponibilitat i un tauler de control de Kubernetes en entorns locals aïllats físicament mitjançant l'API del clúster.
Restauració del tauler de control del clúster després d'un error mitjançant la còpia de seguretat d'etcd.
Empaquetar tots els artefactes necessaris per oferir Kubernetes en entorns físicament aïllats.
Característiques de Klusterkit
Suport multimaster (clúster HA K8s).
Lliurament i gestió de clústers etcd segurs.
Treballar en entorns físicament aïllats.
Admet actualitzacions i retrocessos.
Franela (vxlan) com a CNI per al backend; Hi ha plans per donar suport a altres CNI.
Còpia de seguretat i restauració de clústers etcd després de la pèrdua de quòrum.
Protegeix el tauler de control de l'esgotament de memòria i temps de CPU.
Arquitectura de solucions Klusterkit
Per a la tolerància a errors i la simplicitat, Klusterkit utilitza un únic fitxer cctl-state.yaml per emmagatzemar les metadades del clúster de Kubernetes. Mitjançant la CLI de cctl podeu gestionar el cicle de vida d'un clúster de Kubernetes a qualsevol màquina que tingui aquest fitxer d'estat. Pot ser l'ordinador portàtil d'un operador o qualsevol altre ordinador que formi part del clúster de Kubernetes.
Cctl implementa i crida a la interfície clúster-api des de aigües amunt com a biblioteca per a operacions CRUD en clústers. Ell utilitza proveïdor ssh, un proveïdor d'API de clúster de codi obert de Platform9, que al seu torn crida a etcdadm i nodeadm per realitzar operacions al clúster.
Com utilitzar Klusterkit i els seus components:
1 - Qualsevol de les tres eines es pot recollir fàcilment amb l'ordre 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: aquests executables es poden empaquetar i copiar a les màquines de destinació on s'hauria d'executar el clúster de Kubernetes d'alta disponibilitat. Col·loqueu els fitxers nodeadm i etcdadm als directoris de versions:
3 – Si necessiteu orquestrar un clúster de Kubernetes localment, en un entorn físicament aïllat, les dependències necessàries es poden descarregar fàcilment amb antelació en un ordinador amb accés a Internet mitjançant l'ordre de descàrrega nodeadm i etcdadm. A continuació, els elements descarregats (és a dir, fitxers d'unitat kubelet i kubelet per a systemd, fitxers executables CNI, fitxer kubeadm, totes les imatges de contenidors, inclosos Kubernetes, imatge keepalived i fitxer systemd, imatge de contenidor etcd i els fitxers de configuració corresponents) es poden copiar fàcilment als amfitrions aïllats físicament. amb cctl, nodeadm i etcdadm. (Vegeu els detalls a wiki).
4 - Un cop tot estigui al seu lloc, podeu crear el primer clúster de Kubernetes amb un parell d'ordres: