KlusterKit

KlusterKit: avoimen lähdekoodin työkalupakki, joka yksinkertaistaa Kubernetesin käyttöönottoja ja toimii fyysisesti eristetyissä paikallisissa ympäristöissä

KlusterKit

Tänään meillä on ilo ilmoittaa, että Platform9 on avoimen lähdekoodin Klusterkit, kolmen työkalun sarja, Apache v2.0 -lisenssillä GitHubissa.

Asiakkaamme julkaisevat ohjelmistoja yksityisissä datakeskuksissa, jotka eivät usein ole yhteydessä Internetiin (turvallisuus- tai muista syistä). Nämä suuret yritykset haluavat hyödyntää Kubernetesia ja modernisoida sovelluksiaan ja samalla ottaa ne käyttöön erilaisissa datakeskuksissa, jotka eivät usein ole yhteydessä ulkomaailmaan. Tässä Klusterkit tulee käyttöön, mikä helpottaa K8s-klustereiden järjestämistä ja hallintaa fyysisesti eristetyissä ympäristöissä.

Klusterkit sisältää kolme itsenäistä työkalua, joita voidaan käyttää yhdessä tai erikseen Kubernetes-tuotantoklusterin elinkaaren hallintaan:

  1. etcdadm, CLI yksinkertaistettuun etcd-klusterin hallintaan.
  2. nodeadm, CLI solmun hallintaan, joka laajentaa kubeadmin ja ottaa käyttöön kubeadmin tarvitsemat riippuvuudet.
  3. cctl, klusterin elinkaaren hallintatyökalu, joka ottaa käyttöön Kubernetes-yhteisön Cluster API:n ja käyttää nodeadmia ja etcdadmia erittäin käytettävien Kubernetes-klusterien saumattomasti toimittamiseen ja ylläpitämiseen paikan päällä ja jopa fyysisesti eristetyissä ympäristöissä.

Yhdessä nämä kolme työkalua suorittavat seuraavat tehtävät:

  • Luo ja hallitse helposti saatavilla olevaa etcd-klusteria ja Kubernetes-hallintapaneelia fyysisesti eristetyissä paikallisissa ympäristöissä Cluster API:n avulla.
  • Klusterin ohjauspaneelin palauttaminen vian jälkeen käyttämällä etcd-varmuuskopiota.
  • Pakkaa kaikki artefaktit, joita tarvitaan Kubernetesin toimittamiseen fyysisesti eristettyihin ympäristöihin.

Klusterkit-ominaisuudet

  • Multi-master-tuki (HA-klusteri K8s).
  • Turvallisten etcd-klusterien toimitus ja hallinta.
  • Työskentely fyysisesti eristetyissä ympäristöissä.
  • Tukee jatkuvaa päivityksiä ja palautuksia.
  • Flanelli (vxlan) taustajärjestelmän CNI:nä; Suunnitelmissa on tukea muita CNI:itä.
  • etcd-klusterien varmuuskopiointi ja palauttaminen päätösvaltaisuuden menetyksen jälkeen.
  • Suojaa ohjauspaneelia muistin ja suorittimen ajan loppumiselta.

Klusterkit-ratkaisuarkkitehtuuri

KlusterKit

Vikasietoisuuden ja yksinkertaisuuden vuoksi Klusterkit käyttää yhtä cctl-state.yaml-tiedostoa Kubernetes-klusterin metatietojen tallentamiseen. cctl CLI:n kautta voit hallita Kubernetes-klusterin elinkaarta millä tahansa koneella, jolla on tämä tilatiedosto. Tämä voi olla operaattorin kannettava tietokone tai mikä tahansa muu Kubernetes-klusteriin kuuluva tietokone.

Cctl toteuttaa ja kutsuu klusteri-api-rajapinnan ylävirrasta kirjastona klusterien CRUD-toimintoille. Hän käyttää ssh-palveluntarjoaja, avoimen lähdekoodin paljasmetallinen klusterisovellusliittymän tarjoaja Platform9:stä, joka puolestaan ​​kutsuu etcdadm- ja nodeadm-toimintoja suorittamaan toimintoja klusterille.

Klusterkitin ja sen osien käyttö:

1 – Mikä tahansa kolmesta työkalusta voidaan helposti kerätä go get -komennolla:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 – Nämä suoritettavat tiedostot voidaan sitten pakata ja kopioida kohdekoneille, joissa erittäin saatavilla olevan Kubernetes-klusterin pitäisi olla käynnissä. Sijoita nodeadm- ja etcdadm-tiedostot versiohakemistoihin:

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

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

3 – Jos haluat järjestää Kubernetes-klusterin paikallisesti, fyysisesti eristetyssä ympäristössä, tarvittavat riippuvuudet voidaan helposti ladata etukäteen tietokoneelle, jossa on Internet-yhteys, käyttämällä nodeadm- ja etcdadm-latauskomentoja. Sitten ladatut kohteet (esim. kubelet- ja kubelet-yksikkötiedosto systemd-, CNI-suoritustiedostoille, kubeadm-tiedosto, kaikki säilökuvat, mukaan lukien Kubernetes, säilytyskuva ja systemd-tiedosto, etcd-säilökuva ja vastaavat määritystiedostot) voidaan helposti kopioida fyysisesti eristettyihin isäntiin. cctl:n, nodeadmin ja etcdadmin kanssa. (Katso tiedot kohdasta wiki).

4 – Kun kaikki on paikallaan, voit luoda ensimmäisen Kubernetes-klusterin muutamalla komennolla:

– Luo ensin tunnistetiedot klusterille.

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

– Luo sitten klusteriobjekti. –help tuo esiin luettelon tuetuista vaihtoehdoista.

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

– Luo lopuksi klusterin ensimmäinen kone.

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

Lue lisää dokumentaatiosta osoitteessa GitHub.

Lähde: will.com

Lisää kommentti