Kafka on Kubernetes ma fiican yahay?

Salaan, Habr!

Mar, waxaan ahayn kuwii ugu horreeyay ee mawduuca u soo bandhiga suuqa Ruushka Kafka oo sii wad raadraac horumarkeeda. Gaar ahaan, waxaan helnay mawduuca isdhexgalka ee Kafka iyo Kubureteska. La arki karo (oo aad u taxaddar leh) maqaal Mawduucan waxa lagu daabacay blog-ka isku-dhafka ah bishii Oktoobar ee sannadkii hore iyada oo uu hoos imanayo qoraaga Gwen Shapira. Maanta waxaan jecelnahay inaan dareenkaaga ku soo jeedinno maqaal dhowaan ka soo baxay bishii Abriil ee Johann Gyger, kaas oo, inkasta oo uusan calaamad su'aal ku lahayn cinwaanka, haddana si qoto dheer u baadha mawduuca, la socda qoraalka oo leh xiriiro xiiso leh. Fadlan naga cafi turjumaada bilaashka ah ee "daayeer fowdo" haddii aad awooddo!

Kafka on Kubernetes ma fiican yahay?

Horudhac

Kubernetes waxaa loogu talagalay in lagu xakameeyo culeysyada shaqo la'aanta. Caadi ahaan, culeyska shaqada ee noocan oo kale ah waxaa lagu soo bandhigaa qaab qaabdhismeedka microservice, waa khafiif, miisaan si fiican u siman, raacaan mabaadi'da codsiyada 12-factor, waxayna la shaqeyn karaan wareegyada wareegga iyo daanyeerka fowdada.

Kafka, dhanka kale, asal ahaan waxay u shaqeysaa sidii xog la qaybiyay. Markaa, markaad shaqaynayso, waa inaad wax ka qabataa gobolka, wayna ka culus tahay adeeg-yaraha. Kubernetes waxa ay taageertaa culaysyo dawladeed, laakiin sida Kelsey Hightower ku tilmaantay laba tweets, waa in si taxadar leh loo maareeyaa:

Dadka qaarkiis waxay dareemeen in haddii aad Kubernetes geliso culays shaqo oo dawladeed, ay noqonayso xog-ururin si buuxda loo maareeyay oo la tartamaysa RDS. Tani waa khalad. Waxaa laga yaabaa, haddii aad si adag u shaqeyso, ku dar qaybo dheeri ah oo aad soo jiidato koox injineerada SRE, waxaad awoodi doontaa inaad ku dhisto RDS dusha sare ee Kubernetes.

Waxaan had iyo jeer ku talinayaa in qof kastaa uu sameeyo taxadar aad u daran marka uu ku socdo culeyska shaqada ee Kubernetes. Dadka intooda badan ee weydiiya "ma ku wadi karaa culeyska shaqada ee Kubernetes" ma laha waayo-aragnimo ku filan Kubernetes, iyo inta badan culeyska shaqada ee ay weydiinayaan.

Marka, ma tahay inaad Kafka ku maamusho Kubernetes? Su'aasha ka hortagga: Kafka ma u shaqeyn doontaa si ka wanaagsan Kubernetes la'aanteed? Taasi waa sababta aan rabo in aan maqaalkan ku iftiimiyo sida Kafka iyo Kubernetes ay isu dhammaystiraan, iyo waxa ay ku dhici karaan marka la isku daro.

Waqtiga dhamaystirka

Aynu ka hadalno waxyaabaha aasaasiga ah - jawiga runtime laftiisa

habka

Dillaaliinta Kafka waa saaxiibtimo CPU. TLS waxaa laga yaabaa inay soo bandhigto xoogaa dulsaar ah. Si kastaba ha ahaatee, macaamiisha Kafka ayaa laga yaabaa inay aad u xoogan yihiin CPU haddii ay isticmaalaan sirta, laakiin tani ma saameynayso dilaaliinta.

xusuusta

Dillaaliinta Kafka waxay cunaan xusuusta. Cabbirka tuubbada JVM wuxuu inta badan ku xaddidan yahay 4-5 GB, laakiin sidoo kale waxaad u baahan doontaa wax badan oo xusuusta nidaamka ah maadaama Kafka uu si aad ah u isticmaalo khasnadda bogga. Kubernetes gudaheeda, deji kheyraadka weelka oo codso xadka si waafaqsan.

Kaydka xogta

Kaydinta xogta ee weelasha waa mid lama filaan ah - xogtu way lunta marka dib loo bilaabo. Xogta Kafka waxaad isticmaali kartaa mug emptyDir, saameyntuna waxay noqon doontaa mid la mid ah: xogtaada dallaalka ayaa lumin doonta ka dib marka la dhammeeyo. Farimahaaga wali waxa lagu kaydin karaa dallaaliyeyaasha kale sidii nuqullo kale. Sidaa darteed, ka dib dib-u-bilawga, dallaaliyaha ku guuldareystay waa inuu marka hore ku celceliyaa dhammaan xogta, habkani wuxuu qaadan karaa waqti badan.

Tani waa sababta ay tahay inaad isticmaasho kaydinta xogta muddada-dheer. Ha ahaato kaydinta muddada dheer ee aan deegaanka ahayn ee nidaamka faylka XFS ama, si ka sii saxsan, ext4. Ha isticmaalin NFS. waan kuu digay. Noocyada NFS v3 ama v4 ma shaqeyn doonaan. Marka la soo koobo, dallaaliyaha Kafka wuu burburi doonaa haddii uusan tirtiri karin buugga macluumaadka sababtoo ah "dhibaatada dib u magacaabista" ee NFS. Haddaanan weli ku qancin, aad u taxaddar leh akhri maqaalkan. Bakhaarka xogtu waa inuu ahaadaa mid aan deegaanka ahayn si ay Kubernetes si dabacsanaan leh u doorato nood cusub ka dib dib-u-bilaabista ama dib u dejinta.

Shabakad

Sida nidaamyada la qaybiyo intooda badan, waxqabadka Kafka wuxuu aad ugu tiirsan yahay ilaalinta daahitaanka shabakada ugu yaraan iyo baaxadda ugu badnaan. Ha isku dayin inaad ku marti geliso dhammaan dullaaliinta isku meel, sababtoo ah tani waxay yaraynaysaa helitaanka. Haddii noodhka Kubernetes uu guuldareysto, dhammaan kooxda Kafka way fashilmi doontaa. Sidoo kale, ha ku kala firdhin kooxda Kafka dhammaan xarumaha xogta. Si la mid ah kooxda Kubernetes. Tanaasulka wanaagsan ee kiiskan waa in la doorto aagag kala duwan oo la heli karo.

Qaabeynta

manifestos joogto ah

Websaydhka Kubernetes ayaa leh hage aad u wanaagsan ku saabsan sida loo habeeyo ZooKeeper iyadoo la adeegsanayo muujinta. Maadaama ZooKeeper ay qayb ka tahay Kafka, tani waa meel wanaagsan oo aad ka bilaabi karto inaad barato fikradaha Kubernetes ee halkan lagu dabaqo. Markaad tan fahanto, waxaad isticmaali kartaa fikrado isku mid ah kooxda Kafka.

  • Under: Boodhku waa unugga la diri karo ee ugu yar Kubernetes. Boodhku waxa uu ka kooban yahay culayska shaqadaada, boodhka laftiisana waxa uu la mid yahay nidaamka kutladaada. Midabku wuxuu ka kooban yahay hal weel ama ka badan. Seerfar kasta oo ZooKeeper ah oo ku jira isku dhafka iyo dallaal kasta oo ka tirsan kooxda Kafka ayaa ku shaqayn doona meel gooni ah.
  • StatefulSet: StatefulSet waa shay Kubernetes ah kaas oo qabta culaysyo shaqo oo dhawr ah, iyo culaysyada shaqo ee noocan ahi waxay u baahan yihiin iskudubarid. StatefulSets waxay bixiyaan dammaanad laxiriirta dalbashada tubooyinka iyo kala duwanaanshahooda.
  • Adeegyada madax la'aantaAdeegyadu waxay kuu oggolaanayaan inaad ka gooyso sanduuqyada macaamiisha adoo isticmaalaya magac macquul ah. Kubernetes kiiskan ayaa mas'uul ka ah isku dheelitirka culeyska. Si kastaba ha noqotee, marka la shaqeynayo culeysyo shaqo oo heer sare ah, sida ZooKeeper iyo Kafka, macaamiishu waxay u baahan yihiin inay la xiriiraan tusaale gaar ah. Tani waa meesha adeegyada madax la'aanta ay ku anfacaan: kiiskan, macmiilku wali wuxuu yeelan doonaa magac macquul ah, laakiin uma baahnid inaad si toos ah ula xiriirto boodhka.
  • Mugga kaydinta muddada-dheer: Mugayadan ayaa loo baahan yahay si loo habeeyo kaydinta joogtada ah ee aan deegaanka ahayn ee kor ku xusan.

In Yolean Waxay ku siinaysaa bandhigyo dhammaystiran oo kaa caawinaya inaad Kafka ku bilowdo Kubernetes.

Jaantusyada Helm

Helm waa maareeyaha xirmada ee Kubernetes kaas oo lala barbar dhigi karo maamulayaasha xirmooyinka OS sida yum, apt, Homebrew ama Chocolatey. Waxa ay fududaynaysaa in la rakibo xidhmooyin software hore loo qeexay oo lagu sharaxay jaantusyada Helm. Shaxda Helm ee si fiican loo doortay ayaa ka dhigaysa hawsha adag ee sida saxda ah loo habayn karo dhammaan xuduudaha si loo isticmaalo Kafka ee Kubernetes mid fudud. Waxaa jira dhowr jaantusyo Kafka: kan rasmiga ah ayaa ku yaal ku jira xaalad qallafsan, waxaa jira mid ka mid ah Qosol, mid kale - ka Bitnami.

Hawlwadeennada

Sababtoo ah Helm waxay leedahay cillado gaar ah, qalab kale ayaa helaya caan weyn: Hawl-wadeennada Kubernetes. Hawlwadeenku kaliya kuma xirna software-ka Kubernetes, laakiin sidoo kale wuxuu kuu ogolaanayaa inaad geyso software noocaas ah oo aad maamusho.

Liiska hawlwadeeno yaab leh Laba hawl wadeen oo Kafka ah ayaa la sheegay. Mid ka mid ah - Strimzi. Strimzi, way sahlan tahay in aad kooxdaada Kafka ku soo baxdo oo ay ku socoto daqiiqado gudahood. Dhab ahaantii wax qaabayn ah looma baahna, marka lagu daro, hawlwadeenka laftiisa ayaa bixiya sifooyin fiican, tusaale ahaan, barta-ilaa-dhibcaha sirta TLS ee kutlada dhexdeeda. Confluent sidoo kale waxay bixisaa hawlwadeen u gaar ah.

Wax-soo-saarka

Waa muhiim in la tijaabiyo waxqabadka adiga oo cabbiraya tusaalahaaga Kafka. Tijaabooyin noocan oo kale ah ayaa kaa caawin doona inaad hesho carqalado iman kara ka hor intaanay dhibaatadu dhicin. Nasiib wanaag, Kafka waxay horey u bixisay laba qalab oo tijaabo ah: kafka-producer-perf-test.sh ΠΈ kafka-consumer-perf-test.sh. Si firfircoon uga faa'iidayso. Tixraac ahaan, waxaad tixraaci kartaa natiijooyinka lagu qeexay qoraalkan Jay Kreps, ama diiradda saar dib u eegistan Amazon MSK waxaa qoray StΓ©phane Maarek.

Hawlgallada

Kormeerka

Hufnaanta nidaamka waa mid aad muhiim u ah - haddii kale ma fahmi doontid waxa ka dhacaya. Maanta waxa jira qalab adag oo bixiya la socodka mitirka ku salaysan ee qaabka asalka ah ee daruuraha. Laba qalab oo caan ah ujeedadan waa Prometheus iyo Grafana. Prometheus wuxuu ka soo ururin karaa mitirka dhammaan hababka Java (Kafka, Zookeeper, Kafka Connect) iyadoo la adeegsanayo dhoofiyaha JMX - habka ugu fudud. Haddii aad ku darto cabbirada cAdvisor, waxaad si buuxda u fahmi kartaa sida agabka loogu isticmaalo Kubernetes.

Strimzi wuxuu leeyahay tusaale aad ku habboon oo ah dashboardka Grafana ee Kafka. Waxay sawirtaa halbeegyada muhiimka ah, tusaale ahaan, qaybaha aan la soo koobin ama kuwa khadka tooska ah. Wax walba aad bay halkaas ugu cad yihiin. Halbeegyadan waxaa lagu kabaa isticmaalka kheyraadka iyo macluumaadka waxqabadka, iyo sidoo kale tilmaamayaasha xasilloonida. Markaa waxaad helaysaa la socodka kooxda Kafka aasaasiga ah oo aan waxba ahayn!

Kafka on Kubernetes ma fiican yahay?

Source: streamzi.io/docs/master/#kafka_dashboard

Way fiicnaan lahayd in waxaas oo dhan lagu kabo la socodka macmiilka (qiyaasta macaamiisha iyo soo saarayaasha), iyo sidoo kale la socodka daahitaanka (tan waxaa jira masc) iyo la socodka dhamaadka-ilaa-dhamaadka - isticmaalkan Kafka Monitor.

Goynta

Goynta waa hawl kale oo muhiim ah. Hubi in dhammaan weelasha ku jira rakibaada Kafka la galiyay stdout ΠΈ stderr, iyo sidoo kale hubi in kutladaada Kubernetes ay isu geyso dhammaan diiwaannada kaabeyaasha jaridda dhexe, tusaale. Elasticsearch.

Baaritaanka Caafimaadka

Kubernetes waxay isticmaashaa nolol-maalmeed iyo baadhitaano u diyaar-garowga si loo hubiyo in galalkaagu si caadi ah u socdaan. Haddii hubinta noloshu fashilanto, Kubernetes waxay joojin doontaa weelkaas ka dibna si toos ah ayay dib u bilaabi doontaa haddii siyaasadda dib u bilaabashadu si habboon loo dejiyay. Haddii hubinta u-diyaargarowga ay guul-darreysato, Kubernetes waxay ka soocdaa sanduuqa adeegga codsiyada. Markaa, xaaladahan oo kale, wax-ka-qabashada gacanta looma baahna haba yaraatee, taas oo ah mid aad u weyn.

Soo gudbinta wararka

StatefulSets waxay taageertaa cusboonaysiinta tooska ah: haddii aad doorato istaraatiijiyadda RollingUpdate, mid kasta oo hoos yimaada Kafka waa la cusboonaysiin doonaa markeeda. Sidan, wakhtiga dhimista waxaa lagu dhimi karaa eber.

Isku-dheellitirnaan

Isku-buufinta kooxda Kafka hawl fudud maaha. Si kastaba ha ahaatee, Kubernetes ayaa aad u fududaysa in lagu cabbiro galalka tiro go'an oo nuqul ah, taas oo macnaheedu yahay inaad si cad u qeexi karto inta badan dilaaliinta Kafka inta aad rabto. Waxa ugu adag ee kiiskan waa dib u habeynta qaybaha ka dib kor u kaca ama ka hor inta aan hoos loo dhigin. Mar labaad, Kubernetes ayaa kaa caawin doona hawshan.

Maamulka

Hawlaha la xidhiidha maamulka kooxdaada Kafka, sida abuurista mawduucyo iyo dib-u-dejinta qaybaha, waxa lagu samayn karaa iyada oo la adeegsanayo qoraallada qolofka ee jira iyada oo la furayo khadka taliska ee sanduuqyadaada. Si kastaba ha ahaatee, xalkani maaha mid aad u qurux badan. Strimzi waxay taageertaa maaraynta mawduucyada iyadoo la adeegsanayo hawl wadeen kale. Halkan waxaa ku yaal meel lagu horumariyo.

Soo celi oo soo celi

Hadda helitaanka Kafka waxay sidoo kale ku xirnaan doontaa helitaanka Kubernetes. Haddii kooxdaada Kubernetes ay guul darreysato, markaas xaaladda ugu xun, kooxdaada Kafka sidoo kale way guuldareysan doontaa. Sida uu qabo sharciga Murphy, tani xaqiiqdii way dhici doontaa, oo waxaad waayi doontaa xogta. Si loo yareeyo khatarta noocan ah, hay fikrad kayd ah oo wanaagsan. Waxaad isticmaali kartaa MirrorMaker, doorasho kale ayaa ah inaad u isticmaasho S3 tan, sida lagu qeexay tan dhejin reer Zalando.

gunaanad

Markaad la shaqaynayso koox yar iyo mid dhexdhexaad ah oo Kafka ah, waxaa hubaal ah inay mudan tahay isticmaalka Kubernetes maadaama ay bixiso dabacsanaan dheeraad ah oo ay fududayso khibradda hawlwadeenka. Haddii aad leedahay daahitaanno aan shaqaynayn oo aad muhiim u ah iyo/ama shuruudaha soo-saarka, markaa waxa laga yaabaa inay fiicnaato inaad tixgeliso door kale oo diris ah.

Source: www.habr.com

Add a comment