Kif tikkonnettja clusters Kubernetes f'ċentri tad-dejta differenti
Merħba fis-serje tagħna ta' Quick Start ta' Kubernetes. Din hija kolonna regolari bl-aktar mistoqsijiet interessanti li nirċievu online u fit-taħriġ tagħna. Tweġibiet esperti ta’ Kubernetes.
L-espert tal-lum huwa Daniel Polenchik (Daniele Polencic). Daniel jaħdem bħala għalliem u żviluppatur ta' softwer fuq Learnk8s.
Spiss, l-infrastruttura hija replikata u mqassma f'reġjuni differenti, speċjalment f'ambjenti kkontrollati.
Jekk reġjun wieħed ma jkunx disponibbli, it-traffiku jiġi ridirett lejn ieħor biex jiġu evitati interruzzjonijiet.
B'Kubernetes, tista' tuża strateġija simili u tqassam il-piżijiet tax-xogħol f'reġjuni differenti.
Jista' jkollok raggruppament wieħed jew aktar għal kull tim, reġjun, ambjent, jew taħlita ta' dawn l-elementi.
Il-clusters tiegħek jistgħu jiġu ospitati fi sħab differenti u fuq il-post.
Imma kif tippjana infrastruttura għal firxa ġeografika bħal din?
Għandek bżonn toħloq cluster wieħed kbir għal diversi ambjenti sħab fuq netwerk wieħed?
Jew għandek ħafna gruppi żgħar u ssib mod kif tikkontrollahom u tissinkronizzahom?
Raggruppament wieħed ta' tmexxija
Il-ħolqien ta' raggruppament wieħed fuq netwerk wieħed mhuwiex daqshekk faċli.
Immaġina li għandek inċident, il-konnettività bejn is-segmenti tal-cluster tintilef.
Jekk għandek server kaptan wieħed, nofs ir-riżorsi ma jkunux jistgħu jirċievu kmandi ġodda għax ma jkunux jistgħu jikkuntattjaw lill-kaptan.
U fl-istess ħin għandek tabelli qodma tar-routing (kube-proxy ma tistax tniżżel oħrajn ġodda) u l-ebda pods addizzjonali (kubelet ma jistax jitlob aġġornamenti).
Biex tgħaxxaq, jekk Kubernetes ma jarax node, jimmarkah bħala orfni u jqassam il-miżwed neqsin lin-nodi eżistenti.
Bħala riżultat, għandek id-doppju tal-imżiewed.
Jekk tagħmel server ewlieni wieħed għal kull reġjun, se jkun hemm problemi bl-algoritmu tal-kunsens fid-database etcd. (madwar. ed. — Fil-fatt, id-database etcd mhux bilfors trid tkun tinsab fuq is-servers prinċipali. Jista 'jitħaddem fuq grupp separat ta' servers fl-istess reġjun. Veru, fl-istess ħin jkollna punt ta 'falliment tal-cluster. Imma malajr.)
użi etcd algoritmu taċ-ċattrabiex tinnegozja l-valur qabel tikteb fuq disk.
Jiġifieri, il-maġġoranza tal-istanzi jridu jilħqu kunsens qabel ma l-istat ikun jista’ jinkiteb lil etcd.
Jekk il-latency bejn l-istanzi etcd tiżdied b'mod drammatiku, kif inhu l-każ bi tliet istanzi etcd f'reġjuni differenti, jieħu ħafna żmien biex jinnegozja valur u jiktbu fuq id-diska.
Dan huwa rifless fil-kontrolluri Kubernetes.
Il-maniġer tal-kontrollur jeħtieġ aktar ħin biex jitgħallem dwar il-bidla u jikteb ir-rispons għad-database.
U peress li m'hemmx kontrollur wieħed, iżda diversi, tirriżulta reazzjoni katina u l-cluster kollu jibda jaħdem bil-mod ħafna.
Bħalissa m'hemmx eżempji tajbin ta' netwerk kbir għal cluster wieħed.
Bażikament, il-komunità tal-iżviluppaturi u l-grupp SIG-cluster qed jippruvaw isibu kif orkestraw clusters bl-istess mod kif Kubernetes orkestra l-kontenituri.
Għall-ewwel darba, ippruvajna namministraw ġabra ta 'clusters bħala oġġett wieħed bl-użu tal-għodda tal-federazzjoni kube.
Il-bidu kien tajjeb, imma fl-aħħar mill-aħħar il-federazzjoni tal-kube qatt ma saret popolari għax ma appoġġjatx ir-riżorsi kollha.
Huwa appoġġja kunsinni u servizzi federati, iżda mhux StatefulSets, pereżempju.
Ukoll, il-konfigurazzjoni tal-federazzjoni ġiet trażmessa fil-forma ta 'annotazzjonijiet u ma kinitx flessibbli.
Immaġina kif tista' tiddeskrivi l-qsim tar-repliki għal kull cluster f'federazzjoni billi tuża biss annotazzjonijiet.
Kien mess sħiħ.
SIG-cluster għamel ħafna xogħol wara kubefed v1 u ddeċieda li javviċina l-problema minn angolu differenti.
Minflok annotazzjonijiet, iddeċidew li jirrilaxxaw kontrollur li huwa installat fuq clusters. Jista 'jiġi personalizzat bl-użu tad-Definizzjonijiet tar-Riżorsi Custom (CRDs).
Għal kull riżorsa li se tkun parti mill-federazzjoni, għandek definizzjoni CRD personalizzata bi tliet taqsimiet:
definizzjoni standard ta' riżorsa, pereżempju skjerament;
taqsima placement, fejn tiddefinixxi kif ir-riżorsa se titqassam fil-federazzjoni;
taqsima override, fejn għal riżors speċifiku tista' tegħleb il-piż u l-parametri mit-tqegħid.
Hawn hu eżempju ta’ kunsinna magħquda b’sezzjonijiet ta’ tqegħid u ta’ override.
Kif tistgħu taraw, il-provvista hija mqassma f'żewġ gruppi: cluster1 и cluster2.
L-ewwel cluster jipprovdi tliet repliki, u t-tieni huwa ssettjat għal 5.
Jekk għandek bżonn aktar kontroll fuq in-numru ta' repliki, kubefed2 jipprovdi oġġett ReplicaSchedulingPreference ġdid fejn ir-repliki jistgħu jiġu ppeżati:
L-iżviluppaturi ta' Booking.com ma ħadmux fuq kubefed v2, iżda ħarġu bi Shipper - operatur għall-kunsinna fuq diversi clusters, f'diversi reġjuni u f'diversi sħab.
Iż-żewġ għodod jippermettulek tippersonalizza l-istrateġija tal-iskjerament multi-cluster tiegħek (liema clusters jintużaw u kemm għandhom repliki).
Imma L-għan tal-shipper huwa li jitnaqqas ir-riskju ta 'żbalji waqt il-kunsinna.
F'Shipper, tista' tiddefinixxi serje ta' passi li jiddeskrivu d-diviżjoni tar-repliki bejn l-iskjerament preċedenti u attwali u l-volum tat-traffiku deħlin.
Meta timbotta riżors għal raggruppament, il-kontrollur tal-Baħħara jwettaq b'mod inkrementali dik il-bidla fil-clusters kollha magħquda.
Ukoll, Shipper huwa limitat ħafna.
Per eżempju, jaċċetta charts tat-tmun bħala input u ma jappoġġjax ir-riżorsi tal-vanilla.
F'termini ġenerali, Shipper jaħdem bħal dan.
Minflok kunsinna standard, trid toħloq riżors ta' applikazzjoni li jinkludi chart Helm:
Iżda minflok ma toħroġ b'mod ġdid biex jinteraġixxu mal-cluster u wrap riżorsi f'definizzjonijiet personalizzati, multi-cluster-scheduler huwa inkorporat fiċ-ċiklu tal-ħajja standard ta 'Kubernetes u jinterċetta s-sejħiet kollha li joħolqu l-imżiewed.
Kull pod maħluq huwa immedjatament sostitwit b'manikin.
Bħala riżultat, għandek pod żejjed li ma jagħmel xejn, biss jieħu spazju.
Il-vantaġġ huwa li ma kellekx għalfejn tikteb riżorsi ġodda biex tgħaqqad il-provvisti.
Kull riżorsa li toħloq pod hija awtomatikament lesta biex tiġi magħquda.
Dan huwa interessanti, għax f'daqqa waħda għandek provvisti mqassma f'diversi reġjuni, u lanqas biss ndunajt. Madankollu, dan huwa pjuttost riskjuż, għaliex kollox hawn jistrieħ fuq il-maġija.
Iżda filwaqt li Speditur qed jipprova l-aktar itaffu l-impatt tal-kunsinni, multi-cluster-scheduler jimmaniġġja kompiti aktar ġenerali u forsi huwa adattat aħjar għal impjiegi ta 'lott.
M'għandux mekkaniżmu avvanzat ta 'kunsinna gradwali.
Aktar dwar multi-cluster-scheduler tista 'tinstab fuq paġna tar-repożitorju uffiċjali.
Jekk trid taqra dwar multi-cluster-scheduler fl-azzjoni, Admiralty għandu każ ta 'użu interessanti ma' Argo — flussi tax-xogħol, avvenimenti, CI u CD Kubernetes.
Għodod u soluzzjonijiet oħra
Il-konnessjoni u l-ġestjoni ta' clusters multipli hija kompitu kumpless, u m'hemm l-ebda soluzzjoni universali.
Jekk tixtieq tesplora aktar dan is-suġġett, hawn xi riżorsi:
Submariner minn Rancher hija għodda li tgħaqqad netwerks overlay ta 'clusters differenti ta' Kubernetes.
Cilium, plugin tal-interface tan-netwerk tal-kontejners, joffri funzjoni tal-malji tal-cluster, li jippermettilek tgħaqqad diversi gruppi
Dak kollu għal-lum
Grazzi talli qrajt sal-aħħar!
Jekk taf kif tikkonnettja gruppi multipli b'mod aktar effiċjenti, Għidilna.
Aħna se nżidu l-metodu tiegħek mal-links.
Grazzi speċjali lil Chris Nesbitt-Smith (Chris Nesbitt-Smith) u Vincent de Sme (Vincent De Smet) (inġinier tal-affidabbiltà fi swatmobile.io) talli taqra l-artiklu u taqsam informazzjoni utli dwar kif taħdem il-federazzjoni.