He pai a Kafka i runga i nga Kubernetes?

Tena koe, Habr!

I tetahi wa, ko matou te tuatahi ki te whakauru i te kaupapa ki te maakete a Ruhia Kafka ka haere tonu ara mo tona whanaketanga. Ina koa, i kitea e matou te kaupapa o te taunekeneke i waenga i a Kafka me Kubernetes. Ka kitea (me te tino tupato) tuhinga I whakaputaina tenei kaupapa ki runga i te blog Confluent i Oketopa o tera tau i raro i te mana o Gwen Shapira. I tenei ra e hiahia ana matou ki te aro ki tetahi tuhinga hou mai i Aperira na Johann Gyger, ahakoa kaore he tohu patai i roto i te taitara, ka tirohia e ia te kaupapa i roto i nga tikanga tino nui, me te whai i nga tuhinga me nga hononga whakamere. Tena koa murua mai te whakamaoritanga kore utu o "makimaki chaos" mena ka taea e koe!

He pai a Kafka i runga i nga Kubernetes?

Whakataki

Kua hoahoatia a Kubernetes ki te hapai i nga kawenga mahi korekore. I te nuinga o te waa, ka whakaatuhia nga taumahatanga penei i roto i te ahua o te hoahoanga microservice, he mama, he pai te ine i te whakapae, whai i nga tikanga o nga tono 12-tauahanga, ka taea te mahi me nga kaiwawao ara iahiko me nga makimaki hepohepo.

Ko Kafka, i tetahi atu taha, he tino mahi hei putunga raraunga tohatoha. No reira, i te wa e mahi ana, me mahi koe ki te kawanatanga, a he nui ake te taumaha atu i te microservice. Kei te tautoko a Kubernetes i nga kawenga mahi, engari e ai ki ta Kelsey Hightower e tohu ana i roto i nga tweets e rua, me whakahaere marie:

Ko etahi e whakaaro ana mena ka hurihia e koe nga Kubernetes ki roto i te taumahatanga o nga mahi, ka noho hei putunga raraunga whakahaere katoa e rite ana ki te RDS. He he tenei. Akene, ki te whakapau kaha koe, taapiri etahi atu waahanga me te kukume i tetahi roopu miihini SRE, ka taea e koe te hanga RDS ki runga ake o Kubernetes.

I nga wa katoa ka tūtohu ahau kia tino tupato te katoa i te wa e whakahaere ana i nga kawenga mahi i runga i nga Kubernetes. Ko te nuinga o nga tangata e patai ana "Ka taea e au te whakahaere i nga kawenga mahi i runga i nga Kubernetes" kaore i te nui te mohio ki nga Kubernetes, me te maha o nga mahi e patai ana ratou.

Na, me whakahaere koe i te Kafka i runga i nga Kubernetes? Uiui kaitaunaki: ka pai ake te mahi a Kafka ki te kore he Kubernetes? No reira e hiahia ana ahau ki te whakanui i roto i tenei tuhinga me pehea a Kafka me Kubernetes ki te whakakii tetahi ki tetahi, me nga raru ka puta mai i te whakakotahitanga.

Te wa o te otinga

Me korero tatou mo te mea taketake - ko te taiao omaoma ake

tukanga

He hoa CPU nga kaihokohoko Kafka. Ka taea e TLS te whakauru mai i etahi o runga. Engari, ka kaha ake pea nga kaihoko Kafka ki te whakamahi i te whakamunatanga, engari kaore tenei e pa ki nga kaihokohoko.

Maharahara

Ka kai nga kaihokohoko Kafka i te mahara. Ko te rahi o te puranga JVM he iti noa ki te 4-5 GB, engari ka hiahia koe ki te maha o nga mahara o te punaha na te mea ka kaha te whakamahi a Kafka i te keteroki wharangi. I roto i nga Kubernetes, whakaritea he rauemi ipu me te tono tepe.

Toa raraunga

He wa poto te rokiroki raraunga i roto i nga ipu - ka ngaro nga raraunga ina timata ano. Mo nga raraunga Kafka ka taea e koe te whakamahi i te rōrahi emptyDir, a ka rite te paanga: ka ngaro to raraunga kaihokohoko i muri i te otinga. Ka taea tonu te penapena i o karere ki etahi atu kaihokohoko hei tauira. Na reira, i muri i te whakaara ano, ko te kaihokohoko kua rahua me whakahoki i nga raraunga katoa, ka roa pea te waa.

Koinei te take me whakamahi koe i te rokiroki raraunga mo te wa roa. Me waiho hei rokiroki mo te wa-roa-a-rohe me te punaha konae XFS, he tika ake ranei, ext4. Kaua e whakamahi NFS. I whakatupato ahau ia koe. Ko nga putanga NFS v3, v4 ranei e kore e mahi. I te poto, ka pakaru te kaihokohoko Kafka ki te kore e taea e ia te whakakore i te whaiaronga raraunga na te raruraru "whakaingoatia poauau" i roto i te NFS. Mena kare ano ahau kia whakatenatena i a koe, me ata tupato panuitia tenei tuhinga. Ko te toa raraunga me noho kore-rohe kia ngawari ake ai te whiriwhiri a Kubernetes i tetahi pona hou i muri i te tiimatanga, te nukuhanga ranei.

Whatunga

Pērā i te nuinga o ngā pūnaha tohatoha, ko te mahi a Kafka e tino ti'aturi ana ki te pupuri i te torohū o te whatunga ki te iti me te bandwidth kia whakanuia ake. Kaua e ngana ki te manaaki i nga kaihokohoko katoa i runga i te node kotahi, na te mea ka iti ake te waatea. Ki te rahua te node Kubernetes, ka rahua katoa te kahui Kafka. Ano hoki, kaua e marara te roopu Kafka puta noa i nga pokapū raraunga katoa. He pera ano mo te roopu Kubernetes. Ko te whakararu pai i tenei keehi ko te whiriwhiri i nga waahi waatea rereke.

Hōutuutu

Nga whakaaturanga i nga wa katoa

Kei te paetukutuku Kubernetes tino pai te kaiarahi me pehea te whirihora i te ZooKeeper ma te whakamahi whakaaturanga. I te mea ko ZooKeeper tetahi waahanga o Kafka, he waahi pai tenei ki te timata ki te mohio ki nga kaupapa Kubernetes e pa ana ki konei. Kia mohio koe ki tenei, ka taea e koe te whakamahi i nga ariā ano me te roopu Kafka.

  • Na: Ko te pod te waahanga iti rawa atu ka taea te tuku ki Kubernetes. Kei roto i te pākākano te taumahatanga o to mahi, a ko te peera tonu e rite ana ki tetahi tukanga i roto i to huinga. He ipu kotahi, neke atu ranei nga ipu. Ko ia tūmau ZooKeeper i roto i te roopu me ia kaihokohoko i roto i te kahui Kafka ka rere i roto i te putea motuhake.
  • Tautuhi Tautuhi: Ko te StatefulSet he ahanoa Kubernetes e whakahaere ana i nga kawenga mahi maha, a me mahi tahi aua mahi. Ko nga StatefulSets he taurangi mo te ota o nga poro me o raatau ahurei.
  • Nga ratonga upoko kore: Ka taea e nga ratonga te wetewete i nga poti mai i nga kaihoko ma te whakamahi i te ingoa arorau. Ko nga Kubernetes i tenei keehi te kawenga mo te whakataurite kawenga. Heoi, i te wa e whakahaere ana i nga kawenga mahi, penei i a ZooKeeper me Kafka, me korero nga kaihoko ki tetahi tauira motuhake. Koinei te waahi ka puta mai nga ratonga upoko kore: i tenei keehi, ka mau tonu te ingoa arorau o te kaihoko, engari kaore koe e tika ki te whakapiri atu ki te pene.
  • Te rahinga rokiroki mo te wa roa: Ko enei pukapuka e hiahiatia ana hei whirihora i te paraka kore-rohe te rokiroki pumau kua whakahuahia i runga ake nei.

I roto i te Yolean Ka whakaratohia he huinga whakaaturanga matawhānui hei awhina i a koe ki te timata me Kafka i runga i nga Kubernetes.

Tutohi helm

He kaiwhakahaere kete a Helm mo te Kubernetes ka taea te whakarite ki nga kaiwhakahaere kete OS penei i te yum, apt, Homebrew, Chocolatey ranei. He mea ngawari ki te whakauru i nga kohinga rorohiko kua tautuhia i mua i whakaahuahia ki nga tūtohi Helm. Ko te tūtohi Helm kua tohua pai he ngawari te mahi me pehea te whirihora tika i nga tawhā katoa hei whakamahi i te Kafka i runga i nga Kubernetes. He maha nga hoahoa Kafka: kei reira te mea whai mana i roto i te huru incubator, he kotahi mai Whanui, kotahi ano - mai Bitnami.

Kaiwhakahaere

Na te mea kei a Helm etahi ngoikoretanga, kei te tino rongonui tetahi atu taputapu: ko nga kaiwhakahaere Kubernetes. Ko te kaiwhakahaere ehara i te mea ko te kohi rorohiko anake mo nga Kubernetes, engari ka taea ano e koe te tuku i aua rorohiko me te whakahaere.

I roto i te raarangi nga kaiwhakahaere whakamiharo E rua nga kaiwhakahaere mo Kafka e whakahuahia ana. Ko tetahi o ratou - Strimzi. Ki a Strimzi, he ngawari ki te whakaara i to kahui Kafka me te whakahaere i roto i nga meneti. Karekau he whirihoranga e hiahiatia ana, hei taapiri, ko te kaiwhakahaere tonu e whakarato etahi ahuatanga pai, hei tauira, te whakamunatanga TLS tohu-ki-ira i roto i te tautau. Ka whakaratohia hoki e Confluent ake kaiwhakahaere.

Te whai hua

He mea nui ki te whakamatautau i nga mahi ma te tohu tohu i to tauira Kafka. Ko enei whakamatautau ka awhina i a koe ki te kimi i nga kohanga pounamu i mua i te puta ake o nga raruraru. Waimarie, kua whakaratohia e Kafka nga taputapu whakamatautau mahi e rua: kafka-producer-perf-test.sh и kafka-consumer-perf-test.sh. Whakamahia kia kaha. Hei tohutoro, ka taea e koe te titiro ki nga hua kua whakaahuatia i roto tenei pou Jay Kreps, arotahi ranei ki runga tenei arotake Amazon MSK na Stéphane Maarek.

Ngā Whakahaere

Aroturuki

He mea nui te maarama ki roto i te punaha - mena kaore koe e mohio ki nga mea kei roto. I tenei ra he kete taputapu totoka e whakarato ana i te aro turuki i runga i nga inenga i roto i te ahua taketake kapua. E rua nga taputapu rongonui mo tenei kaupapa ko Prometheus me Grafana. Ka taea e Prometheus te kohi inenga mai i nga tikanga Java katoa (Kafka, Zookeeper, Kafka Connect) ma te whakamahi i te kaihoko JMX - ma te ngawari. Mena ka taapirihia e koe nga inenga cAdvisor, ka tino marama koe ki te whakamahi rauemi i Kubernetes.

He tauira tino watea a Strimzi mo te papatohu Grafana mo Kafka. Ka whakaatahia nga inenga matua, hei tauira, mo nga waahanga kaore i te taapirihia, kei te tuimotu ranei. He tino marama nga mea katoa ki reira. Ko enei inenga ka whakakiia e te whakamahinga rauemi me nga korero mahi, me nga tohu pumau. Na ka whiwhi koe i te aro turuki kahui Kafka mo te kore noa!

He pai a Kafka i runga i nga Kubernetes?

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

He pai ki te taapiri i enei mea katoa me te aro turuki i nga kaihoko (nga inenga mo nga kaihoko me nga kaihanga), tae atu ki te aro turuki i te waatea (mo tenei he rua) me te aroturuki mutunga-ki-mutunga - mo tenei whakamahinga Kafka Aroturuki.

Te takiuru

Ko te raakau he mahi tino nui. Me mohio kua takiuru nga ipu katoa o to whakaurunga Kafka stdout и stderr, me te whakarite hoki kia whakahiatohia e to huinga Kubernetes nga raarangi katoa ki roto i te hanganga raakau matua, hei tauira. Te rangahau elastic.

Whakamātau Mahi

Ka whakamahi a Kubernetes i nga tirotiro mo te ora me te reri ki te tirotiro mena kei te rere noa o peera. Ki te rahua te tirotiro ora, ka aukatia e Kubernetes taua ipu ka whakaara ano i te waa mena ka whakatauhia te kaupapa here whakaara ano. Mena ka rahua te tirotiro, ka wehea e Kubernetes te pona mai i nga tono ratonga. No reira, i roto i nga keehi penei, kaore e hiahiatia te wawaotanga a-ringa, he mea taapiri nui.

Te whakaputa whakahōutanga

Ka tautokohia e StatefulSets nga whakahou aunoa: ki te kowhiria e koe te rautaki RollingUpdate, ka whakahouhia ia i raro i a Kafka. Ma tenei ara, ka taea te whakaheke i te wa heke ki te kore.

Tauine

Ehara i te mea ngawari te whakatikatika i te roopu Kafka. Heoi, he mea tino ngawari ki a Kubernetes te tauine i nga pene ki te maha o nga tauira, ko te tikanga ka taea e koe te tautuhi i te maha o nga kaihokohoko Kafka e pai ana koe. Ko te mea tino uaua i roto i tenei keehi ko te whakahoki i nga waahanga i muri i te pikinga ake, i mua ranei i te whakahekenga. Ano, ma Kubernetes koe e awhina i tenei mahi.

Whakahaerenga

Ko nga mahi e pa ana ki te whakahaere i to kahui Kafka, penei i te hanga kaupapa me te tautapa ano i nga waahanga, ka taea te mahi ma te whakamahi i nga tuhinga anga o naianei ma te whakatuwhera i te atanga raina whakahau i roto i o poro. Engari, ehara tenei otinga i te tino ataahua. Ka tautoko a Strimzi i te whakahaere kaupapa ma te whakamahi i tetahi atu kaiwhakahaere. He waahi hei whakapai ake i konei.

Pūrua me te whakaora

Inaianei ko te waatea o Kafka ka whakawhirinaki ano ki te waatea o Kubernetes. Ki te rahua to kahui Kubernetes, i roto i te ahua kino rawa atu, ka rahua ano to kahui Kafka. E ai ki te ture a Murphy, ka tino tupu tenei, ka ngaro nga raraunga. Hei whakaiti i tenei momo morearea, me whai whakaaro pai. Ka taea e koe te whakamahi i te MirrorMaker, ko tetahi atu whiringa ko te whakamahi i te S3 mo tenei, pera me te korero i roto i tenei pou mai i Zalando.

mutunga

I te wa e mahi ana me nga tautau Kafka iti ki te reo-rahi, he mea tika ki te whakamahi i nga Kubernetes na te mea he ngawari ake, he ngawari hoki te wheako o te kaiwhakahaere. Mēnā he tino nui tō torohūtanga kore-mahi me/rānei ngā whakaritenga urunga, katahi ka pai ake te whakaaro ki etahi atu whiringa tuku.

Source: will.com

Tāpiri i te kōrero