I-KlusterKit: Ikhithi yamathuluzi yomthombo ovulekile yokwenza lula ukuthunyelwa kwe-Kubernetes futhi isebenze ezindaweni ezihlala zodwa ngokoqobo emagcekeni
Namuhla sijabule ukumemezela ukuthi i-Platform9 ivulekile ukuthola i-Klusterkit, uchungechunge lwamathuluzi amathathu, ngaphansi kwelayisensi ye-Apache v2.0 ku-GitHub.
Amakhasimende ethu akhipha isofthiwe ezikhungweni zedatha eziyimfihlo ngokuvamile ezingaxhunywanga ku-inthanethi (ngenxa yokuphepha noma ezinye izizathu). Lezi zinkampani ezinkulu zifuna ukusizakala nge-Kubernetes futhi zenze izinhlelo zabo zibe zesimanjemanje futhi ngesikhathi esifanayo zizikhiphe ezikhungweni zedatha ezihlukene, ezivame ukungaxhunywanga emhlabeni wangaphandle. Yilapho i-Klusterkit ingena khona, ikwenze kube lula ukuhlinzeka nokuphatha amaqoqo e-K8s ezindaweni ezingazodwa ngokomzimba.
I-Klusterkit ifaka amathuluzi amathathu azimele angasetshenziswa ndawonye noma ngokwehlukana ukuze alawule umjikelezo wempilo weqoqo lokukhiqiza le-Kubernetes:
njlldadm , i-CLI yokuphatha iqoqo le-etcd elenziwe lula.nodeadm , i-CLI yokuphathwa kwe-node enweba i-kubeadm futhi ikhiphe ukuncika okudingwa yi-kubeadm.cctl , ithuluzi lokuphatha umjikelezo wokuphila kweqoqo elamukela i-Cluster API kusukela kumphakathi wakwa-Kubernetes futhi lisebenzisa i-nodeadm kanye nokunye ukuletha ngaphandle komthungo nokugcina amaqoqo e-Kubernetes atholakala kakhulu endaweni kanye nasezindaweni ezingazodwa ngokomzimba.
Ehlangene, lawa mathuluzi amathathu enza imisebenzi elandelayo:
- Nikeza kalula futhi uphathe iqoqo le- etcd elitholakala kakhulu kanye nedeshibhodi ye-Kubernetes ezindaweni ezizimele zodwa ngokoqobo usebenzisa i-Cluster API.
- Ukubuyisela iphaneli yokulawula yeqoqo ngemva kokwehluleka ukusebenzisa isipele njlld.
- Ukupakisha wonke ama-artifact adingekayo ukuze kulethwe i-Kubernetes ezindaweni ezingazodwa ngokomzimba.
Izici ze-Klusterkit
- Usekelo lwe-Multi-master (i-HA cluster K8s).
- Ukulethwa nokuphathwa kwamaqoqo avikelekile e- etcd.
- Ukusebenza ezindaweni ezingazodwa ngokomzimba.
- Isekela ukuthuthukiswa nokuhlehliswa emuva.
- I-Flannel (vxlan) njenge-CNI ye-backend; Kunezinhlelo zokweseka amanye ama-CNI.
- Ukwenza ikhophi yasenqolobaneni nokubuyiselwa kwamaqoqo etcd ngemva kokulahlekelwa ikhoramu.
- Ivikela iphaneli yokulawula ekuphelelweni yinkumbulo nesikhathi se-CPU.
I-Klusterkit Solution Architecture
Ngokubekezelela amaphutha nokuba lula, i-Klusterkit isebenzisa ifayela elilodwa le-cctl-state.yaml ukuze igcine imethadatha yeqoqo le-Kubernetes. Nge-cctl CLI ungaphatha umjikelezo wempilo weqoqo le-Kubernetes kunoma yimuphi umshini onaleli fayela lesimo. Lokhu kungaba ikhompuyutha ephathekayo yesisebenzisi noma enye ikhompyutha eyingxenye yeqoqo le-Kubernetes.
I-Cctl isebenzisa futhi ibize isixhumi esibonakalayo se-cluster-api ukusuka phezulu njengomlabhulali wemisebenzi ye-CRUD kumaqoqo. Uyasebenzisa
Indlela yokusebenzisa i-Klusterkit nezingxenye zayo:
I-1 - Noma yimaphi amathuluzi amathathu angaqoqwa kalula ngokuya ngokuthola umyalo:
go get -u github.com/platform9/cctl
go get -u github.com/platform9/nodeadm
go get -u github.com/kubernetes-sigs/etcdadm
I-2 - Lokhu okusebenzisekayo kungapakishwa futhi kukopishwe emishinini eqondiwe lapho iqoqo le-Kubernetes elitholakala kakhulu kufanele lisebenze. Beka amafayela we-nodeadm kanye ne-ettdadm ohlwini lwemibhalo lwenguqulo:
cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//
cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//
3 β Uma udinga ukuhlela iqoqo le-Kubernetes endaweni yangakini, endaweni engayodwa, ukuncika okudingekayo kungalandwa kalula kusengaphambili kukhompuyutha enokufinyelela ku-inthanethi kusetshenziswa umyalo wokulanda we-nodeadm kanye nokunye. Bese izinto ezilandiwe (okungukuthi, kubelet kanye nefayela leyunithi ye-kubelet ye-systemd, amafayela asebenzisekayo e-CNI, ifayela le-kubeadm, zonke izithombe zeziqukathi ezihlanganisa i-Kubernetes, isithombe esigciniwe kanye nefayela le-systemd, isithombe sesitsha njll. nge-cctl, nodeadm kanye nokunye. (Bheka imininingwane ku
I-4 - Uma konke sekumi ngomumo, ungakha iqoqo lokuqala le-Kubernetes ngemiyalo embalwa:
- Okokuqala dala imininingwane yeqoqo.
$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa
β Bese udala into yeqoqo. -help iletha uhlu lwezinketho ezisekelwayo.
$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24
β Ekugcineni, dala umshini wokuqala kuqoqo.
$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role master
Funda imibhalo eyengeziwe ku
Source: www.habr.com