Tliet VM tal-pjan ta' kontroll iħossuhom bħal tliet ċansijiet li tgħix minn lejl ħażin. Mhumiex, u d-distanza bejn dawn iż-żewġ twemmin hija dik li tbiddel disinn nadif ta' tliet nodi fi kluster li jieqaf jaċċetta kitbiet meta bini wieħed jitlef l-enerġija. Rabta VPN bejn is-siti tagħmel il-magni aċċessibbli għal xulxin u taħbi l-problema minflok ma ssewwiha. Il-voti jingħaddu għal kull membru etcd, u tnejn minn dawk il-membri xorta jistgħu joqogħdu wara swiċċ wieħed, UPS wieħed u linja waħda.

Tliet nodi tal-pjan ta' kontroll, dominju wieħed ta' falliment

Inti tmexxi kubectl get nodes, tara tliet entrati tal-pjan ta' kontroll u tirreġistra l-kluster bħala disponibbli ħafna. Dak in-numru jiddeskrivi kapaċità li tista' tiġi skedata, mhux sopravivenza. F'kubeadm mingħajr etcd estern, kull nod tal-pjan ta' kontroll jospita wkoll membru, għalhekk tliet nodi verament jagħtuk tliet votanti. Jekk dawk il-votanti jonqsux b'mod indipendenti hija domanda separata li l-lista tan-nodi ma tistax twieġeb.

Żewġ VM fuq hypervisor wieħed, żewġ racks fuq provvista waħda tal-enerġija, żewġ linji minn ISP wieħed: kull par huwa dominju wieħed li jilbes żewġ ismijiet ta' host. Ikteb it-tqegħid u mmarka x'jaqsam kull votant — hypervisor, PDU, swiċċ ta' fuq ir-rack, array tal-ħażna, apparat NAT, konċentratur VPN. Imbagħad neħħi kull oġġett maqsum fuq il-karta u għodd mill-ġdid il-voti li jibqgħu. Kluster li jitlef żewġ votanti minħabba host wieħed li falla ilu kluster b'votant wieħed il-ħin kollu; ħadd ma kien għadu staqsieh dik id-domanda.

X'jista' u x'ma jistax jiflaħ qsim f'żewġ siti

Meta tliet votanti jitqiegħdu tnejn u wieħed fuq żewġ siti, in-naħa l-kbira żżomm il-kworum meta s-sit l-ieħor jinżel u n-naħa b'votant wieħed qatt. Dik l-asimmetrija hija aritmetika, mhux irfinar. Kwalunkwe kluster etcd ibbażat fuq il-maġġoranza mifrux eżatt fuq żewġ siti indipendenti jonqos fit-test "itlef kwalunkwe sit u kompli tikkommetti", għax iż-żewġ naħat ikollhom iżommu aktar minn nofs il-voti fl-istess ħin.

It-tabella hawn taħt hija l-aktar mod mgħaġġel biex tara liema fallimenti verament xtrajt. Aqra kull ringiela hekk: jekk illejla din ir-ringiela kollha tinżel, jistgħu dawk li jibqgħu ħajjin xorta jikkommettu kitba?

What disappearsVoters leftWrites still commit
Site B, holding voter 32 of 3Yes
Site A, holding voters 1 and 21 of 3No
One hypervisor carrying any two voters1 of 3No
The inter-site VPN only2 of 3 on one sideOnly on the majority side

Għaliex il-mina qatt ma żżid vot

VPN hija trasport, mhux membru. Tista' tagħmel votant remot aċċessibbli u tista' tbiddel qsim f'xi ħaġa li tidher bħal timeout bil-mod, u dan huwa l-kontribut kollu tiegħu lill-kworum. Dak li żżid huwa spiża, għax kull kommissjoni trid taqsam ir-rabta u etcd iħallas dik il-vjaġġ 'il hemm u lura fil-kitbiet li jmissu l-log raft. Triq li ttirrex texref tbiddel ir-replikazzjoni fi provi mill-ġdid u elezzjonijiet.

Il-qsim huwa l-post fejn in-nies jistennew il-maġija, għalhekk kun preċiż dwarhom. Jekk ir-rabta taqa' waqt li l-mexxej il-qadim qiegħed fuq in-naħa b'votant wieħed, dik in-naħa ma tistax tikkommetti u l-mexxej jitlaq malli jiskadi t-timeout tal-elezzjoni, filwaqt li n-naħa b'żewġ votanti tagħżel sostitut. Il-gwida tal-etcd dwar il-modi ta' falliment tiddeskrivi l-imġiba b'mod ċar: servizz kontinwu fuq in-naħa tal-maġġoranza, l-ebda tieni kluster li jista' jinkiteb fuq in-naħa iżolata.

Iddeċiedi liema waqfa qed tixtri

Tnejn flimkien ma' wieħed huwa disinn leġittimu meta s-Sit A huwa l-prinċipali u taċċetta li t-telf tiegħu jfisser telf ta' kitbiet tal-pjan ta' kontroll sakemm xi ħadd jaġixxi. Dak li jagħmilha difett huwa li tħalli dik id-deċiżjoni impliċita. Iktebha fir-runbook: minn liema sit il-pjan ta' kontroll tiegħek jgħix, u x'jagħmel operatur meta s-sit l-ieħor jintefa fis-03:00.

Jekk il-ħtieġa hija minflok "kwalunkwe sit jista' jonqos", it-tqegħid irid iżomm maġġoranza f'kull sit, u tliet votanti fuq żewġ siti ma jistgħux jagħmlu dan. Inti jew iżżid tielet dominju verament indipendenti — reġjun żgħir f'fornitur ieħor jaħdem jekk it-triq lejh hija stabbli — jew tinqasam f'żewġ klusters b'etcd separat u taċċetta l-ispiża operattiva ta' dak il-qsim. L-ebda shortcut tax-xhud ma jevita dan: etcd m'għandux membru arbitru ħafif, għalhekk it-tielet votant huwa membru sħiħ bid-domandi tiegħu stess għad-diska, il-memorja u n-netwerk. Li tpinġi kaxxa bl-etikett xhud fuq id-dijagramma ma toħloqx wieħed.

Il-kworum mhuwiex l-istess bħas-servizz

Il-kworum tal-etcd iżomm lis-server API kapaċi jaċċetta kitbiet, u dan huwa kollu li jżomm. Il-verifiki tas-saħħa tal-load balancer, l-ingress, l-aċċessibbiltà tas-CNI minn ġol-mina, iż-żoni tat-twaħħil tal-volumi u r-replikazzjoni tal-applikazzjonijiet kollha jeħtieġu t-tweġiba tagħhom stess. Kluster jista' jżomm maġġoranza nadifa u xorta ma joffri xejn utli lill-utenti.

Imbagħad ikkonferma l-membru li taħseb li għandek, għax id-dijagrammi jidderivaw:

kubectl -n kube-system get pods -l component=etcd -o wide
kubectl get endpoints kube-apiserver -n default
etcdctl member list -w table

Qabbel il-lista tal-membri mat-tpinġija tat-tqegħid. Jekk żewġ membri jsolvu għall-istess host jew għall-istess rack, it-tpinġija hija ħażina u mhux il-kluster, u li tbiddel id-daqs madwar topoloġija żbaljata jixtri biss verżjoni aktar għalja tal-istess waqfa.

Qabel ma tapprova kwalunkwe disinn ta' tliet votanti, wieġeb erba' domandi: kemm votanti jitilfu l-enerġija flimkien, liema telf ta' sit xorta jħalli maġġoranza, fejn joqgħod il-mexxej meta l-mina taqa', u x'jista' għadu jagħmel is-sit li jibqa' ħaj. "Mhux ċert" fuq waħda minnhom tfisser li l-kluster għadu mhux disponibbli ħafna. Huma tliet magni li kellhom ix-xorti.

Artikli relatati