KlusterKit

KlusterKit: 'n Oopbron-nutsdingstel om Kubernetes-ontplooiings te vereenvoudig en in fisies geïsoleerde omgewings op die perseel uit te voer

KlusterKit

Vandag is ons opgewonde om aan te kondig dat Platform9 open source Klusterkit, 'n reeks van drie instrumente, onder die Apache v2.0-lisensie op GitHub.

Ons kliënte ontplooi sagteware in private datasentrums wat dikwels nie aan die internet gekoppel is nie (vir sekuriteit of ander redes). Hierdie groot maatskappye wil voordeel trek uit Kubernetes en hul toepassings moderniseer en terselfdertyd in verskillende datasentrums uitrol, wat dikwels nie aan die buitewêreld gekoppel is nie. Dit is waar Klusterkit inkom, wat dit maklik maak om K8s-klusters in fisies geïsoleerde omgewings te voorsien en te bestuur.

Klusterkit sluit drie onafhanklike instrumente in wat saam of afsonderlik gebruik kan word om die lewensiklus van 'n Kubernetes-produksiekluster te bestuur:

  1. ensdadm, CLI vir vereenvoudigde ens-klusterbestuur.
  2. nodeadm, 'n CLI vir nodusadministrasie wat kubeadm uitbrei en die afhanklikhede wat deur kubeadm benodig word, ontplooi.
  3. cctl, 'n kluster-lewensiklusbestuurnutsmiddel wat die Cluster API van die Kubernetes-gemeenskap aanneem en nodeadm en etcdadm gebruik om hoogs beskikbare Kubernetes-klusters naatloos te lewer en in stand te hou in plaaslike en selfs fisies geïsoleerde omgewings.

Saam verrig hierdie drie gereedskap die volgende take:

  • Verskaf en bestuur maklik 'n hoogs beskikbare ens-groepering en Kubernetes-kontroleskerm in fisies geïsoleerde omgewings op die perseel via die Cluster API.
  • Die herstel van die groepbeheerpaneel na 'n mislukking met behulp van ens-rugsteun.
  • Verpak alle artefakte wat nodig is om Kubernetes in fisies geïsoleerde omgewings te lewer.

Klusterkit kenmerke

  • Multi-meester ondersteuning (HA cluster K8s).
  • Lewering en bestuur van veilige ens-klusters.
  • Werk in fisies geïsoleerde omgewings.
  • Ondersteun rollende opgraderings en terugskrywings.
  • Flannel (vxlan) as CNI vir die backend; Daar is planne om ander CNI's te ondersteun.
  • Rugsteun en herstel van ens-groepe na verlies van kworum.
  • Beskerm die beheerpaneel teen geheue en SVE-tyd.

Klusterkit Oplossingsargitektuur

KlusterKit

Vir foutverdraagsaamheid en eenvoud, gebruik Klusterkit 'n enkele cctl-state.yaml-lêer om Kubernetes-kluster-metadata te stoor. Deur die cctl CLI kan jy die lewensiklus van 'n Kubernetes-kluster bestuur op enige masjien wat hierdie toestandlêer het. Dit kan 'n operateur se skootrekenaar of enige ander rekenaar wees wat deel is van die Kubernetes-groepering.

Cctl implementeer en roep die cluster-api-koppelvlak vanaf stroomop as 'n biblioteek vir CRUD-bewerkings op clusters. Hy gebruik ssh-verskaffer, 'n oopbron-kaalmetaal-kluster-api-verskaffer van Platform9, wat op sy beurt etcdadm en nodeadm oproep om bewerkings op die groep uit te voer.

Hoe om Klusterkit en sy komponente te gebruik:

1 - Enige van die drie gereedskap kan maklik versamel word met die go get-opdrag:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 – Hierdie uitvoerbare programme kan dan verpak en gekopieer word na die teikenmasjiene waar die hoogs beskikbare Kubernetes-kluster moet loop. Plaas die nodeadm- en etcdadm-lêers in die weergawe-gidse:

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

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

3 – As jy 'n Kubernetes-kluster plaaslik moet orkestreer, in 'n fisies geïsoleerde omgewing, kan die nodige afhanklikhede maklik vooraf afgelaai word op 'n rekenaar met internettoegang deur die nodeadm en etcdadm aflaai-opdrag te gebruik. Dan kan die afgelaaide items (d.w.s. kubelet- en kubelet-eenheidlêer vir systemd, CNI-uitvoerbare lêers, kubeadm-lêer, alle houerbeelde, insluitend Kubernetes, keepalved-beeld en systemd-lêer, ens-houerprent en ooreenstemmende konfigurasielêers) maklik na fisies geïsoleerde gashere gekopieer word. met cctl, nodeadm en etcdadm. (Sien besonderhede in wiki).

4 - Sodra alles in plek is, kan jy die eerste Kubernetes-kluster skep met 'n paar opdragte:

– Skep eers geloofsbriewe vir die groepering.

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

– Skep dan 'n trosvoorwerp. –help bring 'n lys van ondersteunde opsies op.

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

– Ten slotte, skep die eerste masjien in die groep.

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

Lees meer dokumentasie by GitHub.

Bron: will.com

Voeg 'n opmerking