KlusterKit

KlusterKit: un conjunt d'eines de codi obert per simplificar els desplegaments de Kubernetes i executar-se en entorns locals aïllats físicament

KlusterKit

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:

  1. etcdadm, CLI per a la gestió simplificada del clúster etcd.
  2. nodeadm, una CLI per a l'administració de nodes que amplia kubeadm i desplega les dependències necessàries per kubeadm.
  3. 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

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:

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

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

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:

– Primer creeu les credencials per al clúster.

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

– A continuació, creeu un objecte clúster. –help mostra una llista d'opcions compatibles.

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

– Finalment, creeu la primera màquina del clúster.

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

Llegeix més documentació a GitHub.

Font: www.habr.com

Afegeix comentari