KlusterKit

KlusterKit: Kubernetes inplementazioak errazteko eta fisikoki isolatutako ingurune lokaletan exekutatzeko kode irekiko tresna-kit.

KlusterKit

Gaur ilusioz iragartzeko Platform9 iturri irekiko Klusterkit, hiru tresnen multzoa, GitHub-en Apache v2.0 lizentziapean.

Gure bezeroek softwarea zabaltzen dute askotan Internetera konektatuta ez dauden datu-zentro pribatuetan (segurtasun edo beste arrazoi batzuengatik). Enpresa handi hauek Kubernetes aprobetxatu eta beren aplikazioak modernizatu nahi dituzte eta, aldi berean, datu-zentro ezberdinetan zabaldu nahi dituzte, askotan kanpoko munduarekin konektatuta ez daudenak. Hemen sartzen da Klusterkit, fisikoki isolatutako inguruneetan K8s klusterrak hornitzea eta kudeatzea erraztuz.

Klusterkit-ek hiru tresna independente biltzen ditu, elkarrekin edo bereizita erabil daitezkeen Kubernetes ekoizpen-kluster baten bizi-zikloa kudeatzeko:

  1. etcdadm, CLI etcd kluster kudeaketa sinplifikatzeko.
  2. nodeadm, kubeadm hedatzen duen eta kubeadm-ek behar dituen mendekotasunak zabaltzen dituen nodoen administraziorako CLI bat.
  3. cctl, klusterren bizi-zikloa kudeatzeko tresna, Kubernetes komunitatearen Cluster APIa hartzen duena eta nodeadm eta etcdadm erabiltzen dituena, Kubernetes klusterrak oso eskuragarriak emateko eta mantentzeko ingurune lokaletan eta baita fisikoki isolatuta ere.

Hiru tresna hauek batera eginkizun hauek betetzen dituzte:

  • Erraz hornitu eta kudeatu erabilgarritasun handiko etcd kluster bat eta Kubernetes panela fisikoki isolatutako ingurune lokaletan Cluster APIaren bidez.
  • Etcd babeskopia erabiliz hutsegite baten ondoren klusterraren kontrol-panela leheneratzea.
  • Kubernetes fisikoki isolatutako inguruneetan entregatzeko behar diren artefaktu guztiak ontziratzea.

Klusterkit ezaugarriak

  • Maisu anitzeko euskarria (HA cluster K8s).
  • Etcd kluster seguruen entrega eta kudeaketa.
  • Fisikoki isolatutako inguruneetan lan egitea.
  • Bertsio-berrikuntzak eta atzerapenak onartzen ditu.
  • Flanela (vxlan) backenderako CNI gisa; Beste CNI batzuk laguntzeko planak daude.
  • Etcd klusterren babeskopia eta leheneratzea quoruma galdu ondoren.
  • Kontrol-panela memoria eta CPU denbora agortzetik babesten du.

Klusterkit Solution Arkitektura

KlusterKit

Akatsen tolerantziarako eta sinpletasunerako, Klusterkit-ek cctl-state.yaml fitxategi bakarra erabiltzen du Kubernetes kluster metadatuak gordetzeko. cctl CLI-ren bidez Kubernetes kluster baten bizi-zikloa kudeatu dezakezu egoera fitxategi hau duen edozein makinatan. Operadore baten ordenagailu eramangarria edo Kubernetes klusterraren parte den beste edozein ordenagailu izan daiteke.

Cctl-ek cluster-api interfazea inplementatzen eta deitzen du upstream-etik liburutegi gisa klusterren CRUD eragiketak egiteko. Erabiltzen du ssh-hornitzailea, Platform9-ren kode irekiko bare metal cluster-api hornitzailea, eta horrek, aldi berean, etcdadm eta nodeadm deitzen ditu klusterrean eragiketak egiteko.

Nola erabili Klusterkit eta bere osagaiak:

1 - Hiru tresnetako edozein erraz bil daiteke go get komandoarekin:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Ondoren, exekutagarri hauek eskuragarri dauden Kubernetes klusterrak exekutatu behar diren helburuko makinetan paketatu eta kopiatu daitezke. Jarri nodeadm eta etcdadm fitxategiak bertsio-direktorioetan:

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

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

3 - Kubernetes kluster bat lokalean orkestratu behar baduzu, fisikoki isolatutako ingurune batean, beharrezkoak diren mendekotasunak erraz deskargatu daitezke Interneterako sarbidea duen ordenagailu batean nodeadm eta etcdadm download komandoa erabiliz. Ondoren, deskargatutako elementuak (hau da, kubelet eta kubelet unitate-fitxategia systemd, CNI fitxategi exekutagarriak, kubeadm fitxategia, edukiontzi-irudi guztiak barne Kubernetes, keepalived irudia eta systemd fitxategia, etcd edukiontziaren irudia eta dagozkion konfigurazio-fitxategiak) fisikoki isolatutako ostalarietan erraz kopia daitezke. cctl, nodeadm eta etcdadm-ekin. (Ikusi xehetasunak atalean wiki).

4 - Dena jarrita dagoenean, lehen Kubernetes klusterra sor dezakezu komando pare batekin:

– Lehenik eta behin, sortu klusterraren kredentzialak.

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

– Ondoren, sortu kluster objektu bat. –laguntzak onartzen diren aukeren zerrenda bat erakusten du.

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

– Azkenik, sortu klusterreko lehen makina.

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

Irakurri dokumentazio gehiago helbidean GitHub.

Iturria: www.habr.com

Gehitu iruzkin berria