KlusterKit: Ohun elo irinṣẹ orisun ṣiṣi lati ṣe irọrun awọn imuṣiṣẹ Kubernetes ati ṣiṣe ni awọn agbegbe ti o ya sọtọ ti ara
Loni a ni inudidun lati kede pe Platform9 ṣii Klusterkit orisun, suite ti awọn irinṣẹ mẹta, labẹ iwe-aṣẹ Apache v2.0 lori GitHub.
Awọn alabara wa yi sọfitiwia jade ni awọn ile-iṣẹ data ikọkọ ti a ko sopọ nigbagbogbo si Intanẹẹti (fun aabo tabi awọn idi miiran). Awọn ile-iṣẹ nla wọnyi fẹ lati lo anfani Kubernetes ati ṣe imudojuiwọn awọn ohun elo wọn ati ni akoko kanna yi wọn jade ni awọn ile-iṣẹ data oriṣiriṣi, eyiti ko ni asopọ nigbagbogbo si agbaye ita. Eyi ni ibiti Klusterkit wa, ti o jẹ ki o rọrun lati pese ati ṣakoso awọn iṣupọ K8 ni awọn agbegbe ti o ya sọtọ ti ara.
Klusterkit pẹlu awọn irinṣẹ ominira mẹta ti o le ṣee lo papọ tabi lọtọ lati ṣakoso ọna igbesi aye ti iṣupọ iṣelọpọ Kubernetes kan:
nodeadm, CLI kan fun iṣakoso ipade ti o gbooro kubeadm ati gbe awọn igbẹkẹle ti o nilo nipasẹ kubeadm.
cctl, Ohun elo iṣakoso igbesi aye iṣupọ kan ti o gba Cluster API lati agbegbe Kubernetes ati lilo nodeadm ati etcdadm lati ṣe ifijiṣẹ lainidi ati ṣetọju awọn iṣupọ Kubernetes ti o ga julọ ni awọn agbegbe ile ati paapaa awọn agbegbe ti o ya sọtọ ti ara.
Papọ, awọn irinṣẹ mẹta wọnyi ṣe awọn iṣẹ ṣiṣe wọnyi:
Ni irọrun pese ati ṣakoso iṣupọ etcd ti o wa pupọ ati dasibodu Kubernetes ni awọn agbegbe ti o ya sọtọ ti ara nipasẹ Cluster API.
mimu-pada sipo ẹgbẹ iṣakoso iṣupọ lẹhin ikuna nipa lilo afẹyinti etcd.
Iṣakojọpọ gbogbo awọn ohun-ọṣọ ti a nilo lati fi Kubernetes ranṣẹ si awọn agbegbe ti o ya sọtọ ti ara.
Klusterkit awọn ẹya ara ẹrọ
Olona-titun support (HA iṣupọ K8s).
Ifijiṣẹ ati iṣakoso ti awọn iṣupọ ati bẹbẹ lọ ti o ni aabo.
Ṣiṣẹ ni awọn agbegbe ti o ya sọtọ ti ara.
Ṣe atilẹyin awọn iṣagbega sẹsẹ ati awọn iyipo.
Flannel (vxlan) bi CNI fun ẹhin; Awọn ero wa lati ṣe atilẹyin awọn CNI miiran.
Afẹyinti ati imupadabọ ti awọn iṣupọ etcd lẹhin isonu ti iyewo.
Ṣe aabo nronu iṣakoso lati ṣiṣe kuro ni iranti ati akoko Sipiyu.
Klusterkit Solusan Architecture
Fun ifarada aṣiṣe ati ayedero, Klusterkit nlo faili cctl-state.yaml ẹyọkan lati ṣafipamọ awọn metadata iṣupọ Kubernetes. Nipasẹ cctl CLI o le ṣakoso igbesi aye ti iṣupọ Kubernetes lori eyikeyi ẹrọ ti o ni faili ipinlẹ yii. Eyi le jẹ kọǹpútà alágbèéká oniṣẹ tabi kọmputa eyikeyi miiran ti o jẹ apakan ti iṣupọ Kubernetes.
Cctl ṣe ati pe wiwo iṣupọ-api lati oke bi ile-ikawe fun awọn iṣẹ CRUD lori awọn iṣupọ. O nlo ssh-olupese, Olupese irin iṣupọ-api ti o ṣii-orisun lati Platform9, eyiti o n pe etcdadm ati nodeadm lati ṣe awọn iṣẹ lori iṣupọ naa.
Bii o ṣe le lo Klusterkit ati awọn paati rẹ:
1 - Eyikeyi awọn irinṣẹ mẹta le ni irọrun gba pẹlu aṣẹ go gba:
go get -u github.com/platform9/cctl
go get -u github.com/platform9/nodeadm
go get -u github.com/kubernetes-sigs/etcdadm
2 - Awọn ipaniyan wọnyi le lẹhinna ṣe akopọ ati daakọ si awọn ẹrọ ibi-afẹde nibiti iṣupọ Kubernetes ti o wa ga julọ yẹ ki o ṣiṣẹ. Fi nodeadm ati etcdadm awọn faili sinu awọn ilana ti ikede:
3 - Ti o ba nilo lati ṣe akojọpọ iṣupọ Kubernetes ni agbegbe, ni agbegbe ti o ya sọtọ ti ara, awọn igbẹkẹle pataki le ṣe igbasilẹ ni irọrun ni ilosiwaju lori kọnputa pẹlu iwọle Intanẹẹti nipa lilo aṣẹ igbasilẹ nodeadm ati etcdadm. Lẹhinna awọn nkan ti o gbasilẹ (ie kubelet ati kubelet kuro faili fun systemd, awọn faili ṣiṣe CNI, faili kubeadm, gbogbo awọn aworan eiyan pẹlu Kubernetes, aworan ti o wa laaye ati faili eto, aworan eiyan ati bẹbẹ lọ ati awọn faili iṣeto ni ibamu) le ni irọrun dakọ si awọn ọmọ ogun ti o ya sọtọ ti ara pẹlu pẹlu cctl, nodeadm ati etcdadm. (Wo awọn alaye ni wiki).
4 - Ni kete ti ohun gbogbo ba wa ni aye, o le ṣẹda iṣupọ Kubernetes akọkọ pẹlu awọn aṣẹ meji: