KlusterKit: avatud lĂ€htekoodiga tööriistade komplekt, mis lihtsustab Kubernetes'i juurutamist ja töötamist fĂŒĂŒsiliselt isoleeritud kohalikus keskkonnas

TÀna on meil hea meel teatada, et Platform9 avaldab Klusterkit, kolme tööriista komplekti, lÀhtekoodid Apache v2.0 litsentsi alusel GitHubis.
Meie kliendid juurutavad tarkvara privaatsetes andmekeskustes, mis sageli ei ole ĂŒhendatud Internetiga (turvakaalutlustel vĂ”i muudel pĂ”hjustel). Need suured ettevĂ”tted soovivad kasutada Kubernetes'e eeliseid ja uuendada oma rakendusi, samal ajal juurutades neid erinevates andmekeskustes, mis sageli ei suhtle vĂ€lismaailmaga. Siin tuleb appi Klusterkit, mis lihtsustab K8s klastrite kohaletoimetamise ja haldamise fĂŒĂŒsiliselt isoleeritud keskkondades.
Klusterkit sisaldab kolme sĂ”ltumatut tööriista, mida saab kasutada koos vĂ”i eraldi Kubernetes'e tootmisklastri elutsĂŒkli haldamiseks:
- , CLI, et lihtsustada etcd klastrihalduse protsesse.
- , CLI, et hallata sÔlmi, mis tÀiendab kubeadm'i ja paigaldab sÔltuvusi, mida kubeadm vajab.
- , klastrihalduse elutsĂŒkli tööriist, mis toetab Kubernetes'e kogukonna Cluster API't ja kasutab nodeadm'i ning etcdadm'i, et probleemideta pakkuda ja toetada kĂ”rge kĂ€ttesaadavusega Kubernetes'e klastreid kohalikus ja fĂŒĂŒsiliselt isoleeritud keskkondades.
Koos tĂ€idavad need kolm tööriista jĂ€rgmisi ĂŒlesandeid:
- Lihtne kĂ”rge kĂ€ttesaadavuse etcd klastrite ja Kubernetes'e halduspaneeli juurutamine fĂŒĂŒsiliselt isoleeritud kohalikus keskkonnas Cluster API kaudu.
- Klastri halduspaneeli taastamine pÀrast rikkeid jne.
- Kogu Kubernetes'e juurutamiseks vajalikud artefaktid fĂŒĂŒsiliselt isoleeritud keskkondades kokku pakitud.
Klusterkiti vÔimalused
- Mitme meistri tugi (HA-klauster K8s).
- Turvaliste etcd klastrite juurutamine ja haldamine.
- Töötamine fĂŒĂŒsiliselt isoleeritud keskkondades.
- JÀrkjÀrgulise vÀrskendamise ja tagasivÔtmise tugi.
- Flannel (vxlan) CNI tagaks; plaanis on teiste CNI-de tugi.
- etcd klastrite varukoopia ja taastamine pÀrast kvoorumi kadumist.
- Halduspaneeli kaitsmine mÀlu ja CPU aja puuduse eest.
Klusterkiti lahenduse arhitektuur
Kliendi turvalisuse ja lihtsuse huvides kasutab Klusterkit ĂŒhte faili cctl-state.yaml Kubernetes klastrite metaandmete sĂ€ilitamiseks. Kliendi CLI abil saab hallata Kubernetes klastri elutsĂŒkli igas masinas, kus see olekufail on olemas. See vĂ”ib olla operaatori sĂŒlearvuti vĂ”i mĂ”ni muu arvuti, mis kuulub Kubernetes klastrisse.
Cctl rakendab ja kutsub ĂŒles upstream cluster-api liidest kui CRUD operatsioonide teostamise raamatukogu klastrite jaoks. See kasutab , avatud lĂ€htekoodiga cluster-api pakkujat 'paljas raua' jaoks Platform9-lt, mis omakorda kutsub jne aadm ja nodeadm ĂŒles klastrite operatsioonide teostamiseks.
Kuidas kasutada Klusterkit ja selle komponente:
1 â ĂkskĂ”ik millist kolmest tööriistast saab hĂ”lpsasti ĂŒles ehitada 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Ă€idisefailid pakendada ja kopeerida sihtmasinatele, kus peab töötama kĂ”rge kĂ€ttesaadavusega Kubernetes klaster. Asetage failid nodeadm ja etcdadm versioonikaustadessse:
cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//
cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//3 â Kui on vaja orbiidi Kubernetes klaster kohapeal fĂŒĂŒsiliselt isoleeritud keskkonnas, saab vajalikud sĂ”ltuvused hĂ”lpsasti eelnevalt alla laadida internetiĂŒhendusega arvutisse nodeadm ja etcdadm laadimisprotsessi kĂ€iguga. Siis saab allalaaditud elemendid (st kubelet ja kubeleti unit-fail systemd jaoks, tĂ€idisefailid CNI jaoks, kubeadm fail, kĂ”ik konteineripildid, sealhulgas Kubernetes, keepalived pilt ja systemd fail, etcd konteineripilt ja vastavad konfiguratsioonifailid) hĂ”lpsasti kopeerida fĂŒĂŒsiliselt isoleeritud hostidele koos cctl, nodeadm ja etcdadm-iga. (Detailid vt ).
4 â Kui kĂ”ik on paigas, saab esialgse Kubernetes klastrit luua paaris kĂ€sus:
â Esiteks looge klastrikohustused.
$GOPATH/bin/cctl create credential --user root --private-key ~/ .ssh/id_rsaâ SeejĂ€rel looge klastrite objekt. âhelp kutsub ĂŒles toetavaid parameetreid.
$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 leiate aadressilt .
Allikas: habr.com
