KlusterKit: avatud lähtekoodiga tööriistade komplekt Kubernetes'e juurutamise lihtsustamiseks ja füüsiliselt isoleeritud kohalikesse keskkondadesse töötamiseks.

Täna meil on hea meel teada anda, et Platform9 avaldab KlusterKit'i lähtekoodi, kolmest tööriistast koosnevat komplekti, Apache v2.0 litsentsiga GitHub'is.
Meie kliendid käitavad tarkvara erandlikes andmekeskustes, mis sageli ei ole internetiühenduses (julgeolekuküsimuste või muudel põhjustel). Need suurettevõtted soovivad kasutada Kubernetes'e eeliseid ja täiustada oma rakendusi, samal ajal viies need ellu erinevates andmekeskustes, mis tihti ei ole seotud välismaailmaga. Siin tuleb appi KlusterKit, mis lihtsustab K8s klastrite tarnimist ja haldamist füüsiliselt isoleeritud keskkondades.
KlusterKit sisaldab kolme iseseisvat tööriista, mida saab kasutada koos või eraldi Kubernetes'i tootmisklastri elutsükli haldamiseks:
- , CLI klasteri etcd haldamise lihtsustamiseks.
- , CLI nodede haldamiseks, mis täiendavad kubeadm'i ja paigaldavad kubeadm'ile vajalikud sõltuvused.
- , klastrite elutsükli haldamise tööriist, mis kasutab Kubernetes Community Cluster API-d ning rakendab nodeadm ja etcdadm, et pakkuda ja toetada kõrge kättesaadavusega Kubernetes klastreid kohalikes ja füüsiliselt isoleeritud keskkondades ilma liialdava vaevata.
Koos täidavad need kolm tööriista järgmisi ülesandeid:
- Lihtne kõrge kättesaadavusega etcd klastrite ja Kubernetes juhtpaneeli kohaletoimetamine ja haldamine füüsiliselt isoleeritud kohalikes keskkondades Cluster API kaudu.
- Klusteri juhtpaneeli taastamine tõrke korral etcd varukoopiate abil.
- Kõik Kubernetes’ile vajalikud artefaktid pakitakse füüsiliselt isoleeritud keskkondadesse.
Klusterkiti võimalused
- Mitme peahalduri tugi (HA-klaaster K8s).
- Kaitstud etcd klastrite kohaletoimetamine ja haldamine.
- Töö füüsiliselt isoleeritud keskkondades.
- Samm-sammult täiendamise ja tagasiviimise tugi.
- Flannel (vxlan) CNI backendina; plaanis on toetada muid CNI-sid.
- etcd klastrite varundamine ja taastamine pärast kvoorumi kadumist.
- Juhtpaneeli kaitse mälu- ja CPU-aja puudujäägi eest.
Klusterkiti lahenduse arhitektuur
Klusterkit tagab töökindlust ja lihtsust kasutades üht faili cctl-state.yaml Kubernetes klustari metainformatsiooni hoidmiseks. cctl CLI kaudu saab hallata Kubernetes klustari elutsüklit igas masinas, kus see olekufail on olemas. See võib olla operaatori sülearvuti või mõni muu arvuti, mis on Kubernetes klustaris.
Cctl implementeerib ja kutsub üles ülemise poolte cluster-api liidest, toimides kui CRUD operatsioonide teek klustarite jaoks. See kasutab , avatud lähtekoodiga cluster-api pakkujat „puhtal riistvaral” Platform9-lt, mis omakorda kutsub esile etchadm ja nodeadm klustari toimingute teostamiseks.
Kuidas kasutada Klusterkit ja selle komponente:
1 – Ühte kolme tööriista on lihtne koguda käsuga go get:
go get -u github.com/platform9/cctl
go get -u github.com/platform9/nodeadm
go get -u github.com/kubernetes-sigs/etcdadm2 – Seejärel saab need täitmisfailid pakendada ja kopeerida sihtmasinatele, kus kõrge kättesaadavusega Kubernetes kluster peab töötama. Asetage failid nodeadm ja etcdadm versioonikataloogidesse:
cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//
cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//3 – Kui on vajalik korraldada Kubernetes klaster kohapeal füüsiliselt eraldatud keskkonnas, saab vajalikke sõltuvusi hõlpsasti eelnevalt alla laadida arvutisse, mis on ühendatud internetiga, kasutades nodeadm ja etcdadm laadimis käsku. Seejärel saab alla laaditud elemendid (st kubelet ja kubeleti unit-fail systemd jaoks, CNI täitefailid, kubeadm fail, kõik konteineripildid, sealhulgas Kubernetes, keepalived pilt ja systemd fail, etcd konteineripilt ning vastavad konfiguratsioonifailid) hõlpsasti kopeerida füüsiliselt eraldatud hostidele koos cctl, nodeadm ja etcdadm-ga. (Üksikasjade saamiseks vaadake) ).
4 – Kui kõik on kohal, saab esimest Kubernetes klastrit luua paari käsuga:
– Esiteks looge klastrikonto.
$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa– Seejärel looge klastrikontseptsioon. –help kutsub esile toetatud valikute loendi.
$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24– Lõpuks looge klastris esimene masin.
$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role masterRohkem dokumentatsiooni lugege .
Allikas: habr.com
