KlusterKit

KlusterKit: Kitapom-pitaovan'ny loharano misokatra hanatsorana ny fametrahana Kubernetes ary mandeha amin'ny tontolo mitoka-monina ao an-toerana.

KlusterKit

Androany dia faly izahay manambara fa ny Platform9 dia open source Klusterkit, fitaovana misy fitaovana telo, eo ambanin'ny lisansa Apache v2.0 amin'ny GitHub.

Ny mpanjifanay dia mamoaka rindrankajy any amin'ireo ivon-toeram-baovao tsy miankina izay matetika tsy mifandray amin'ny Internet (noho ny fiarovana na antony hafa). Ireo orinasa lehibe ireo dia te hanararaotra ny Kubernetes sy hanavao ny fampiharana azy ireo ary amin'izany fotoana izany dia hamoaka azy ireo any amin'ny foibe data samihafa, izay matetika tsy mifandray amin'ny tontolo ivelany. Eo no idiran'i Klusterkit, manamora ny famatsiana sy ny fitantanana ireo klioba K8 amin'ny tontolo mitoka-monina.

Klusterkit dia ahitana fitaovana mahaleo tena telo izay azo ampiasaina miaraka na mitokana hitantana ny fiainan'ny kluster famokarana Kubernetes:

  1. etcdadm, CLI ho an'ny fitantanana kluster snsd tsotra.
  2. nodeadm, CLI ho an'ny fitantanana node izay manitatra ny kubeadm ary mametraka ny fiankinan-doha ilain'ny kubeadm.
  3. cctl.

Ireo fitaovana telo ireo miaraka dia manatanteraka ireto asa manaraka ireto:

  • Omeo sy tantano mora foana ny kluster snsd tena misy sy ny dashboard Kubernetes amin'ny tontolo mitoka-monina an-toerana amin'ny alàlan'ny Cluster API.
  • Famerenana ny tontonana fanaraha-maso cluster taorian'ny tsy fahombiazan'ny fampiasana etcd backup.
  • Fandrafetana ny artifact rehetra ilaina mba hanaterana ny Kubernetes amin'ny tontolo mitoka-monina.

Klusterkit endri-javatra

  • Fanohanana multi-master (HA cluster K8s).
  • Fanaterana sy fitantanana ny cluster sns azo antoka.
  • Miasa amin'ny tontolo mitoka-monina.
  • Manohana fanavaozana rolling sy rollbacks.
  • Flannel (vxlan) ho CNI ho an'ny backend; Misy ny fikasana hanohana ny CNI hafa.
  • Famerenana sy famerenana amin'ny laoniny ny clusters etcd taorian'ny fahaverezan'ny kôlejy.
  • Miaro ny tontonana fanaraha-maso tsy ho lany ny fahatsiarovana sy ny fotoana CPU.

Klusterkit Solution Architecture

KlusterKit

Ho an'ny fandeferana sy ny fahatsorana, Klusterkit dia mampiasa rakitra cctl-state.yaml tokana hitahiry metadata cluster Kubernetes. Amin'ny alalan'ny cctl CLI dia azonao atao ny mitantana ny fiainan'ny kluster Kubernetes amin'ny milina rehetra manana an'io rakitra fanjakana io. Mety ho solon'ny opérateur na solosaina hafa anisan'ny kluster Kubernetes izy io.

Cctl dia mampihatra sy miantso ny interface cluster-api avy any ambony ho toy ny tranomboky ho an'ny asa CRUD amin'ny cluster. Mampiasa ssh-mpanome, mpamatsy kluster-api metaly miboridana open source avy amin'ny Platform9, izay miantso ny etcdadm sy nodeadm hanao asa amin'ny cluster.

Ahoana ny fampiasana Klusterkit sy ny singa ao aminy:

1 - Ny iray amin'ireo fitaovana telo dia azo angonina mora foana amin'ny baiko 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 - Ireo executables ireo dia azo amboarina sy adika amin'ny milina kendrena izay tokony handehanan'ny cluster Kubernetes tena misy. Apetraho ao amin'ny lahatahiry version ny rakitra nodeadm sy etcdadm:

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

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

3 – Raha mila mandrindra ny cluster Kubernetes eo an-toerana ianao, amin'ny tontolo mitoka-monina, dia azo alaina mora foana mialoha amin'ny solosaina misy fidirana amin'ny Internet ny fiankinan-doha ilaina amin'ny alàlan'ny baiko fampidinana nodeadm sy etcdadm. Avy eo dia azo adika mora foana amin'ny mpampiantrano mitoka-monina miaraka amin'izay ny entana alaina (izany hoe kubelet sy kubelet unit ho an'ny systemd, CNI executable file, kubeadm, sary fitoeran-javatra rehetra ao anatin'izany ny Kubernetes, keepalived image sy systemd file, sns. miaraka amin'ny cctl, nodeadm ary etcdadm. (Jereo ny antsipiriany ao amin'ny Wiki).

4 - Rehefa vita ny zava-drehetra dia azonao atao ny mamorona ny cluster Kubernetes voalohany miaraka amin'ny baiko roa:

- Mamorona fahazoan-dàlana voalohany ho an'ny cluster.

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

– Mamorona zavatra cluster avy eo. –Ny fanampiana dia mitondra lisitr'ireo safidy tohanana.

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

- Farany, mamorona milina voalohany ao amin'ny cluster.

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

Vakio bebe kokoa ny antontan-taratasy ao amin'ny GitHub.

Source: www.habr.com

Add a comment