KlusterKit

KlusterKit: Ib qho khoom siv qhib los ua kom yooj yim rau Kubernetes kev xa tawm thiab khiav hauv ib puag ncig ntawm lub cev nyob ib puag ncig

KlusterKit

Niaj hnub no peb zoo siab tshaj tawm tias Platform9 yog qhib nrhiav Klusterkit, ib chav ntawm peb cov cuab yeej, raws li Apache v2.0 daim ntawv tso cai ntawm GitHub.

Peb cov neeg siv khoom yob tawm software hauv cov chaw khaws ntaub ntawv ntiag tug uas feem ntau tsis txuas nrog Is Taws Nem (rau kev nyab xeeb lossis lwm yam laj thawj). Cov tuam txhab loj no xav ua kom zoo dua Kubernetes thiab kho lawv cov ntawv thov thiab tib lub sijhawm yob lawv tawm hauv cov chaw sib txawv, uas feem ntau tsis txuas nrog lub ntiaj teb sab nraud. Qhov no yog qhov uas Klusterkit tuaj rau hauv, ua rau nws yooj yim rau kev muab thiab tswj K8s pawg hauv ib puag ncig ntawm lub cev.

Klusterkit suav nrog peb cov cuab yeej ywj pheej uas tuaj yeem siv ua ke lossis sib cais los tswj lub neej ntawm Kubernetes pawg ntau lawm:

  1. lwm ddm, CLI rau simplified etcd pawg tswj.
  2. nodeadm, CLI rau kev tswj hwm ntawm qhov txuas uas txuas mus rau kubeadm thiab xa cov dependencies xav tau los ntawm kubeadm.
  3. cctl ua, cov cuab yeej tswj xyuas lub neej nyob hauv pawg uas tau txais Cluster API los ntawm Kubernetes zej zog thiab siv nodeadm thiab etcdadm kom xa thiab tswj tau cov pab pawg Kubernetes muaj ntau heev nyob rau hauv qhov chaw thiab txawm tias lub cev nyob ib puag ncig.

Ua ke, peb cov cuab yeej no ua cov haujlwm hauv qab no:

  • Yooj yim muab thiab tswj hwm cov khoom lag luam muaj ntau heev thiab Kubernetes dashboard nyob rau hauv ib puag ncig ntawm lub cev nyob ib puag ncig ntawm Cluster API.
  • Restoreing pawg tswj vaj huam sib luag tom qab ua tsis tiav siv lwm yam thaub qab.
  • Ntim tag nrho cov khoom qub uas xav tau los xa Kubernetes rau hauv ib puag ncig ntawm lub cev.

Klusterkit nta

  • Kev txhawb nqa ntau tus tswv (HA pawg K8s).
  • Kev xa khoom thiab kev tswj xyuas kev ruaj ntseg etcd pawg.
  • Ua haujlwm nyob rau hauv ib puag ncig ntawm lub cev.
  • Txhawb rolling upgrades thiab rollbacks.
  • Flannel (vxlan) ua CNI rau lub backend; Muaj cov phiaj xwm txhawb nqa lwm tus CNIs.
  • Thaub qab thiab kho dua ntawm lwm yam pawg tom qab poob pawg.
  • Tiv thaiv lub vaj huam sib luag los ntawm kev khiav tawm ntawm lub cim xeeb thiab lub sijhawm CPU.

Klusterkit Solution Architecture

KlusterKit

Rau kev ua txhaum cai thiab yooj yim, Klusterkit siv ib daim ntawv cctl-state.yaml los khaws Kubernetes pawg metadata. Los ntawm cctl CLI koj tuaj yeem tswj hwm lub neej voj voog ntawm Kubernetes pawg ntawm txhua lub tshuab uas muaj cov ntaub ntawv hauv xeev no. Qhov no tuaj yeem yog tus neeg teb xov tooj lub laptop lossis lwm lub khoos phis tawj uas yog ib feem ntawm Kubernetes pawg.

Cctl siv thiab hu rau pawg-api interface los ntawm ntws los ua lub tsev qiv ntawv rau CRUD cov haujlwm ntawm pawg. Nws siv ssh-neeg muab kev pab, qhib-qhov chaw liab qab hlau pawg-api chaw muab kev pab los ntawm Platform9, uas nyob rau hauv lem hu etcdadm thiab nodeadm ua hauj lwm ntawm pawg.

Yuav siv Klusterkit thiab nws cov khoom li cas:

1 - Ib qho ntawm peb cov cuab yeej tuaj yeem sau tau yooj yim nrog kev mus txais cov lus txib:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Cov executables no tuaj yeem muab ntim thiab theej rau lub hom phiaj cov cav tov uas muaj Kubernetes pawg yuav tsum tau khiav. Muab cov ntaub ntawv nodeadm thiab etcdadm rau hauv phau ntawv teev npe:

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

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

3 - Yog tias koj xav tau orchestrate Kubernetes pawg hauv zos, nyob rau hauv ib puag ncig ntawm lub cev, qhov kev vam khom tsim nyog tuaj yeem yooj yim rub tawm ua ntej ntawm lub khoos phis tawj nrog Internet siv cov nodeadm thiab etcdadm download command. Tom qab ntawd cov khoom rub tawm (piv txwv li kubelet thiab kubelet chav tsev cov ntaub ntawv rau systemd, CNI cov ntaub ntawv ua tau zoo, cov ntaub ntawv kubeadm, tag nrho cov duab ntim suav nrog Kubernetes, khaws cia cov duab thiab cov ntaub ntawv systemd, thiab lwm yam thawv duab thiab cov ntaub ntawv teeb tsa sib raug zoo) tuaj yeem luam tau yooj yim rau cov tswv cuab ntawm lub cev. nrog cctl, nodeadm thiab lwm yam. (Saib cov ntsiab lus hauv wiki).

4 - Thaum txhua yam nyob hauv qhov chaw, koj tuaj yeem tsim thawj Kubernetes pawg nrog ob peb cov lus txib:

- Ua ntej tsim cov ntawv pov thawj rau pawg.

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

– Tom qab ntawd tsim ib pawg khoom. -pab nqa cov npe ntawm kev txhawb nqa.

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

- Thaum kawg, tsim thawj lub tshuab hauv pawg.

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

Nyeem ntxiv cov ntaub ntawv ntawm GitHub.

Tau qhov twg los: www.hab.com

Ntxiv ib saib