Ingabe iqembu le-Kubernetes ezindaweni ezimbili lidinga abavoti abathathu be-etcd?
Ama-node amathathu ebhodi lokulawula ezindaweni ezimbili ze-VPN asalahlekelwa i-quorum uma indawo enkulu icima. Bala abavoti bangempela be-etcd futhi ukhethe ukulahlekelwa okusindayo.
Ama-VM amathathu ebhodi lokulawula abonakala njengamathuba amathathu okusinda ubusuku obubi. Akunjalo, futhi ibanga phakathi kwalezi zinkolelo ezimbili yilona elishintsha umklamo ohlanzekile wama-node amathathu ube yiqembu eliyeka ukwamukela imibhalo lapho isakhiwo esisodwa silahlekelwa ugesi. Isixhumanisi se-VPN phakathi kwezindawo senza imishini ifinyeleleke komunye nomunye futhi sicasha inkinga esikhundleni sokusixazulula. Amavoti abalwa ngesisekelo selungu ngalinye le-etcd, futhi amabili alawo malungu asengahlala ngemuva kweswishi elilodwa, i-UPS eyodwa kanye nendlela eyodwa.
Ama-node amathathu ebhodi lokulawula, isizinda esisodwa sokwehluleka
Uqalisa kubectl get nodes, ubona amarekhodi amathathu ebhodi lokulawula futhi ubhalisa iqembu njengelitholakala kakhulu. Leyo nombolo ichaza umthamo ongahlelwa, hhayi ukusinda. Ku-kubeadm ngaphandle kwe-etcd yangaphandle, i-node ngayinye yebhodi lokulawula iphinda isingathe ilungu, ngakho ama-node amathathu akunikeza ngempela abavoti abathathu. Ukuthi labo bavoti behluleka ngokuzimela umbuzo ohlukile ongenakuphendulwa uhlu lwama-node.
Ama-VM amabili ku-hypervisor eyodwa, amarack amabili kugesi owodwa, izindlela ezimbili ezivela ku-ISP eyodwa: iqembu ngalinye liyisizinda esisodwa esigqoke amagama amabili okusingatha. Bhala ukubekwa futhi umake ukuthi umvoti ngamunye wabelana ngani — i-hypervisor, i-PDU, iswishi ephezulu yerack, uhlu lokugcina, idivayisi ye-NAT, isihlanganisi se-VPN. Bese ususa into ngayinye eyabiwe ephepheni futhi ubale kabusha amavoti asele. Iqembu elilahlekelwa abavoti ababili ngenxa yomsingathi oyedwa ohlulekile belilokhu liyiqembu lomvoti oyedwa; akekho owayekade libuza lowo mbuzo.
Yini ukwehlukaniswa kwezindawo ezimbili okungakwazi ukuyimela nokungeke
Lapho abavoti abathathu bebekwa ababili noyedwa ezindaweni ezimbili, uhlangothi olukhulu lugcina i-quorum lapho enye indawo inyamalala futhi uhlangothi lomvoti oyedwa alunqobi nakancane. Lokho kungalingani i-arithmetic, hhayi ukulungisa. Noma yiliphi iqembu le-etcd elisekelwe ebuningini elisatshalaliswe ngqo ezindaweni ezimbili ezizimele lihluleka esivivinyweni esithi "lahlekelwa indawo noma yiyiphi futhi uqhubeke nokuqinisekisa", ngoba izinhlangothi zombili kufanele zibambe ngaphezu kwengxenye yamavoti ngesikhathi esisodwa.
Ithebula elingezansi iyona ndlela eshesha kakhulu yokubona ukuthi yikuphi ukwehluleka oyithengile ngempela. Funda umugqa ngamunye kanje: uma kulobu busuku wonke lo mugqa unyamalala, ingabe abasindile basengaqinisekisa umbhalo?
| What disappears | Voters left | Writes still commit |
|---|---|---|
| Site B, holding voter 3 | 2 of 3 | Yes |
| Site A, holding voters 1 and 2 | 1 of 3 | No |
| One hypervisor carrying any two voters | 1 of 3 | No |
| The inter-site VPN only | 2 of 3 on one side | Only on the majority side |
Kungani ithaneli lingalokothi lengeze ivoti
I-VPN iwukuthutha, hhayi ilungu. Ingayenza ifinyeleleke umvoti okude futhi ingaguqula ukwehlukaniswa kube yinto ebukeka njengesikhathi sokulinda esiphuzi, futhi lokho kuwumthelela wayo wonke ku-quorum. Engelsa kubona yizindleko, ngoba ukuqinisekisa ngakunye kufanele kweqe isixhumanisi futhi i-etcd ikhokhela lokho kuhamba nokubuya emibhalweni ethinta irekhodi le-raft. Indlela edlikizayo iguqula ukuphindaphinda kube yimizamo yokuphinda nokukhetha.
Ukwehlukaniswa yindawo lapho abantu balindele umlingo, ngakho qondanisa ngakho. Uma isixhumanisi siwa ngesikhathi umholi omdala ehlezi ohlangothini lomvoti oyedwa, lolo hlangothi alunakho ukuqinisekisa futhi umholi wehla esikhundleni lapho isikhathi sokukhetha siphela, kuyilapho uhlangothi lwabavoti ababili lukhetha obambele. Incwadi ye-etcd emayelana nezimo zokwehluleka ichaza ukuziphatha ngokucacile: isevisi eqhubekayo ohlangothini lobuningi, alikho iqembu lesibili elibhalekayo ohlangothini oluhlukanisiwe.
Nquma ukuthi yikuphi ukuphazamiseka okuthengayo
Okubili kanye nokukodwa kuwumklamo osemthethweni lapho indawo A iyindawo eyinhloko futhi wamukela ukuthi ukuyilahla kusho ukulahlekelwa imibhalo yebhodi lokulawula kuze kube umuntu uthatha isinyathelo. Okukwenza kube ukushiyeka ukuyeka leso sinqumo singacaci. Kubhale ku-runbook: iyiphi indawo ibhodi lakho lokulawula elisinda kuyo, nokuthi umsebenzi wenzani lapho enye indawo icima ngo-03:00.
Uma imfuneko iwukuthi "noma iyiphi indawo ingahluleka", ukubekwa kufanele kubambe ubuningi endaweni ngayinye, futhi abavoti abathathu ezindaweni ezimbili abakwazi lokho. Ufaka isizinda sesithathu esizimele ngempela — isifunda esincane kumhlinzeki omunye siyasebenza uma indlela eya khona izinzile — noma uhlukanisa amaqembu amabili ane-etcd ehlukile futhi wamukele izindleko zokusebenza zalokho kwehlukaniswa. Awekho amaqembu amafushane ofakazi akugwemayo lokhu: i-etcd ayinalo ilungu elilamuli elilula, ngakho umvoti wesithathu uyilungu eliphelele elinezimfuno zalo zediski, imemori nenethiwekhi. Ukudweba ibhokisi elibhalwe "ufakazi" kumdwebo akukwenzi ufakazi.
I-quorum ayifani nesevisi
I-quorum ye-etcd igcina iseva ye-API ikwazi ukwamukela imibhalo, futhi yilokho kuphela eyikugcinayo. Ukuhlolwa kwezempilo kwesilinganisi somthwalo, i-ingress, ukufinyeleleka kwe-CNI ngethaneli, izindawo zokuxhuma ivolumu nokuphindaphinda kohlelo lokusebenza ngakunye kudinga impendulo yako. Iqembu lingaba nobuningi obuhlanzekile futhi linganikezi lutho olusizayo kubasebenzisi.
Bese uqinisekisa ubulungu ocabanga ukuthi unabo, ngoba imidwebo iyadlulela:
kubectl -n kube-system get pods -l component=etcd -o wide
kubectl get endpoints kube-apiserver -n default
etcdctl member list -w table
Qhathanisa uhlu lwamalungu nomdwebo wokubeka. Uma amalungu amabili axazulula kumsingathi oyedwa noma kuerack eyodwa, umdwebo uwona ongalungile hhayi iqembu, futhi ukushintsha usayizi eduze kwethopology engalungile kuthenga kuphela inguqulo ebiza kakhulu yalokho kuphazamiseka.
Ngaphambi kokugunyaza noma yimuphi umklamo wabavoti abathathu, phendula imibuzo emine: bangaki abavoti abalahlekelwa ugesi ndawonye, ukulahlekelwa yikuphi indawo kusashiya ubuningi, umholi uhlala kuphi lapho ithaneli liwa, futhi indawo esindile ingasenza ini. Ukuthi "angiqiniseki" kunoma yikuphi kwalokho kusho ukuthi iqembu alikabi nokutholakala okuphezulu. Yimishini emithathu eye yaba nenhlanhla.