KlusterKit

KlusterKit: Chida chotsegulira chothandizira kuti Kubernetes atumizidwe mosavuta ndikuyendetsa m'malo omwe ali akutali

KlusterKit

Lero tili okondwa kulengeza kuti Platform9 ikutsegula Klusterkit, zida zitatu, pansi pa chilolezo cha Apache v2.0 pa GitHub.

Makasitomala athu amatulutsa mapulogalamu m'malo achinsinsi omwe nthawi zambiri salumikizidwa ndi intaneti (chifukwa chachitetezo kapena zifukwa zina). Makampani akuluakuluwa akufuna kupezerapo mwayi pa Kubernetes ndikusintha mapulogalamu awo komanso nthawi yomweyo amawatulutsa m'malo osiyanasiyana a data, omwe nthawi zambiri samalumikizidwa ndi dziko lakunja. Apa ndipamene Klusterkit imabwera, kupangitsa kuti zikhale zosavuta kupereka ndi kuyang'anira magulu a K8s m'malo akutali.

Klusterkit imaphatikizapo zida zitatu zodziyimira pawokha zomwe zitha kugwiritsidwa ntchito palimodzi kapena padera kuti zithandizire moyo wa gulu lopanga la Kubernetes:

  1. etcdadm, CLI yowongolera magulu osavuta etcd.
  2. nodeam, CLI yoyang'anira node yomwe imakulitsa kubeadm ndikuyika zodalira zomwe zimafunikira ndi kubeadm.
  3. cctl, chida chowongolera moyo wamagulu onse chomwe chimatengera Cluster API kuchokera kugulu la Kubernetes ndipo amagwiritsa ntchito nodeadm ndi etcdadm kuti apereke mosasunthika ndikusunga magulu a Kubernetes omwe amapezeka pamalopo komanso malo akutali.

Pamodzi, zida zitatuzi zimagwira ntchito zotsatirazi:

  • Perekani mosavuta ndikuwongolera gulu la etcd lomwe likupezeka kwambiri ndi Kubernetes dashboard m'malo omwe ali akutali kudzera pa Cluster API.
  • Kubwezeretsa gulu lowongolera masango pambuyo polephera kugwiritsa ntchito etcd zosunga zobwezeretsera.
  • Kuyika zinthu zonse zakale zofunika kuti apereke Kubernetes kumadera akutali.

Zinthu za Klusterkit

  • Thandizo la Multi-master (HA cluster K8s).
  • Kutumiza ndi kasamalidwe kamagulu otetezedwa etcd.
  • Kugwira ntchito m'malo otalikirana ndi anthu.
  • Imathandizira kukweza ndi ma rollbacks.
  • Flannel (vxlan) monga CNI ya backend; Pali mapulani othandizira ma CNIs ena.
  • Kusunga zosunga zobwezeretsera ndi kubwezeretsanso magulu a etcd atataya quorum.
  • Imateteza gulu lowongolera kuti lisathe kukumbukira ndi nthawi ya CPU.

Klusterkit Solution Architecture

KlusterKit

Kuti athe kulolera zolakwika ndi kuphweka, Klusterkit imagwiritsa ntchito fayilo imodzi ya cctl-state.yaml kusunga metadata ya gulu la Kubernetes. Kudzera mu cctl CLI, mutha kuyang'anira moyo wa gulu la Kubernetes pamakina aliwonse omwe ali ndi fayiloyi. Izi zitha kukhala laputopu ya opareshoni kapena kompyuta ina iliyonse yomwe ili m'gulu la Kubernetes.

Cctl imagwiritsa ntchito ndikuyitanitsa mawonekedwe a cluster-api kuchokera kumtunda ngati laibulale ya ntchito za CRUD pamagulu. Iye amagwiritsa ssh-wopereka, wopereka zitsulo zopanda zitsulo kuchokera ku Platform9, yomwe imayitana etcdadm ndi nodeadm kuti igwire ntchito pamaguluwo.

Momwe mungagwiritsire ntchito Klusterkit ndi zigawo zake:

1 - Chilichonse mwa zida zitatuzi zitha kusonkhanitsidwa mosavuta ndi go get command:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Zochita izi zitha kupakidwa ndikukopera kumakina omwe akutsata komwe gulu la Kubernetes lomwe likupezeka kwambiri liyenera kukhala likuyenda. Ikani mafayilo a nodeadm ndi etcdadm m'mawunivesite:

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

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

3 - Ngati mukufuna kupanga gulu la Kubernetes kwanuko, m'malo otalikirana, zodalira zofunika zitha kutsitsidwa pasadakhale pakompyuta yokhala ndi intaneti pogwiritsa ntchito nodeadm ndi etcdadm download command. Kenako zinthu zomwe zidatsitsidwa (mwachitsanzo, kubelet ndi kubelet unit file ya systemd, mafayilo a CNI otheka, fayilo ya kubeadm, zithunzi zonse zamkati kuphatikiza Kubernetes, chithunzi chosungidwa ndi fayilo ya systemd, chithunzi cha chidebe cha etcd ndi mafayilo ofananira) zitha kukopera mosavuta kwa omwe amadzipatula okha. ndi cctl, nodeadm ndi etcdadm. (Onani zambiri mu wiki).

4 - Zonse zikakhazikika, mutha kupanga gulu loyamba la Kubernetes ndi malamulo angapo:

- Choyamba pangani zidziwitso za masango.

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

- Kenako pangani chinthu chamagulu. -help imabweretsa mndandanda wazosankha zothandizira.

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

- Pomaliza, pangani makina oyamba pagulu.

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

Werengani zambiri zolembedwa pa GitHub.

Source: www.habr.com

Kuwonjezera ndemanga