Tsara ve ny Kafka ao amin'ny Kubernetes?

Miarahaba, Habr!

Nisy fotoana, izahay no voalohany nampiditra ny lohahevitra amin'ny tsena Rosiana Kafka ary mitohy manara-maso ho fampandrosoana azy. Indrindra indrindra, hitanay ny lohahevitra momba ny fifaneraserana eo amin'i Kafka sy Kubernetes. Azo jerena (ary tena mitandrina) lahatsoratra ity lohahevitra ity dia navoaka tao amin'ny bilaogy Confluent tamin'ny Oktobra tamin'ny taon-dasa teo ambany fitarihan'i Gwen Shapira. Androany dia tianay ny hisarihana ny sainao amin'ny lahatsoratra vao haingana avy amin'ny volana Aprily nosoratan'i Johann Gyger, izay, na dia tsy misy marika fanontaniana ao amin'ny lohateny aza, dia mandinika ny lohahevitra amin'ny fomba matotra kokoa, miaraka amin'ny lahatsoratra miaraka amin'ny rohy mahaliana. MamelΓ  anay ny dikanteny maimaim-poana amin'ny "chaos monkey" raha azonao atao!

Tsara ve ny Kafka ao amin'ny Kubernetes?

fampidirana

Kubernetes dia natao hikarakarana ireo enta-mavesatry ny fanjakana. Amin'ny ankapobeny, ny enta-mavesatra toy izany dia aseho amin'ny endrika maritrano microservice, maivana izy ireo, mizana tsara mitsivalana, manaraka ny fitsipiky ny fampiharana 12-factor, ary afaka miara-miasa amin'ny mpanapaka ny faritra sy ny gidro korontana.

Kafka, etsy ankilany, dia miasa toy ny angon-drakitra voazara. Noho izany, rehefa miasa ianao dia tsy maintsy miatrika fanjakana, ary mavesatra kokoa noho ny microservice izany. Ny Kubernetes dia manohana ny enta-mavesatry ny fanjakana, saingy araka ny nasehon'i Kelsey Hightower tamin'ny sioka roa, dia tokony hokarakaraina tsara izy ireo:

Ny olona sasany dia mahatsapa fa raha manodina an'i Kubernetes ho lasa enta-mavesatry ny fanjakana ianao, dia lasa angona voatanisa tanteraka izay mifanandrina amin'ny RDS. Diso izany. Angamba, raha miasa mafy ianao, ampio singa fanampiny ary mahasarika ekipa injeniera SRE, dia ho afaka hanangana RDS eo an-tampon'ny Kubernetes ianao.

Manoro hevitra foana aho mba hitandrina fatratra ny tsirairay rehefa manatanteraka enta-mavesatra amin'ny Kubernetes. Tsy ampy traikefa amin'ny Kubernetes ny ankamaroan'ny olona manontany hoe "afaka manao enta-mavesatra ve aho amin'ny Kubernetes", ary matetika amin'ny enta-mavesatry ny asa anontaniany.

Noho izany, tokony hitantana Kafka amin'ny Kubernetes ve ianao? Fanontaniana mifanohitra: hiasa tsara kokoa ve i Kafka raha tsy misy Kubernetes? Izany no antony tiako hasongadina ato amin'ity lahatsoratra ity ny fomba hifamenon'i Kafka sy Kubernetes, ary inona no mety hitranga amin'ny fampifangaroana azy ireo.

Fotoana vita

Andeha isika hiresaka momba ny zavatra fototra - ny runtime tontolo iainana

dingana

Kafka brokers dia CPU namana. Ny TLS dia mety hampiditra overhead. Na izany aza, ny mpanjifa Kafka dia mety ho mafimafy kokoa amin'ny CPU raha mampiasa encryption izy ireo, saingy tsy misy fiantraikany amin'ny broker izany.

fahatsiarovana

Ny mpivarotra Kafka dia mandany fahatsiarovana. Ny haben'ny tahiry JVM dia matetika voafetra amin'ny 4-5 GB, saingy mila fitadidiana rafitra be dia be koa ianao satria mampiasa mafy ny cache pejy ny Kafka. Ao amin'ny Kubernetes, mametraha loharanon-kaontenera ary mangataha fetra mifanaraka amin'izany.

Fitahirizana data

Ny fitahirizana angon-drakitra ao anaty fitoeran-javatra dia tsy maharitra - very ny angona rehefa averina. Ho an'ny angona Kafka dia azonao atao ny mampiasa volume emptyDir, ary ny vokatr'izany dia hitovy: ho very ny angon-drakitra broker anao rehefa vita. Mbola azo tehirizina ao amin'ny broker hafa ho toy ny kopia ny hafatrao. Noho izany, aorian'ny famerenana indray, ny broker tsy nahomby dia tsy maintsy mamerina ny angon-drakitra rehetra aloha, ary mety haka fotoana be io dingana io.

Izany no antony tokony hampiasanao fitehirizana data maharitra. Avelao ho fitehirizana maharitra tsy eo an-toerana miaraka amin'ny rafitra rakitra XFS na, ny marimarina kokoa, ext4. Aza mampiasa NFS. Nampitandrina anao aho. NFS versions v3 na v4 dia tsy mandeha. Raha fintinina dia hianjera ny broker Kafka raha tsy afaka mamafa ny lahatahiry angon-drakitra noho ny olana "fanovana anarana adala" ao amin'ny NFS. Raha mbola tsy naharesy lahatra anao aho dia tandremo tsara vakio ity lahatsoratra ity. Ny fitehirizana angona dia tokony ho tsy eo an-toerana mba hahafahan'ny Kubernetes misafidy node vaovao amin'ny fomba mora kokoa aorian'ny fanombohana na famindran-toerana.

Network

Tahaka ny amin'ny ankamaroan'ny rafitra zaraina, ny zava-bitan'i Kafka dia miankina betsaka amin'ny fitazonana ny fahatarana amin'ny tambazotra ho faran'izay kely indrindra sy ny bandwidth amin'ny fara-tampony. Aza manandrana mampiantrano ny broker rehetra amin'ny node iray ihany, satria hampihena ny fahafaha-manao izany. Raha tsy nahomby ny node Kubernetes dia tsy nahomby ny cluster Kafka manontolo. Aza manaparitaka ny cluster Kafka amin'ny foibe angona manontolo. Toy izany koa ny kluster Kubernetes. Ny marimaritra iraisana tsara amin'ity tranga ity dia ny fisafidianana faritra azo ampiasaina.

fanahafana

Manifesto tsy tapaka

Ny tranokala Kubernetes dia manana mpitari-dalana tena tsara momba ny fomba fanamboarana ny ZooKeeper mampiasa manifests. Koa satria anisan'ny Kafka ny ZooKeeper, toerana tsara hanombohana hahalalana ny foto-kevitra Kubernetes ampiharina eto. Rehefa azonao izany dia azonao ampiasaina ireo hevitra mitovy amin'ny cluster Kafka.

  • ambany: Ny pod no singa kely indrindra azo ampiasaina ao amin'ny Kubernetes. Ny pod iray dia misy ny enta-mavesatry ny asanao, ary ny pod mihitsy dia mifanaraka amin'ny dingana iray ao amin'ny cluster anao. Misy kaontenera iray na maromaro ny pod iray. Ny mpizara ZooKeeper tsirairay ao amin'ny ensemble sy ny broker tsirairay ao amin'ny cluster Kafka dia hihazakazaka amin'ny pod misaraka.
  • StatefulSet: Ny StatefulSet dia zavatra Kubernetes izay mitantana ny enta-mavesatry ny fanjakana maro, ary mila fandrindrana ny asa toy izany. Ny StatefulSets dia manome antoka momba ny filaharana ny pods sy ny maha-tokana azy.
  • Serivisy tsy misy loha: Ny serivisy dia ahafahanao manaisotra pods amin'ny mpanjifa amin'ny fampiasana anarana lojika. Kubernetes amin'ity tranga ity dia tompon'andraikitra amin'ny fampifandanjana entana. Na izany aza, rehefa miasa ny enta-mavesatry ny fanjakana, toy ny ZooKeeper sy Kafka, ny mpanjifa dia mila mifandray amin'ny ohatra manokana. Eto no misy ny serivisy tsy misy loha: amin'ity tranga ity, ny mpanjifa dia mbola hanana anarana lojika, saingy tsy mila mifandray mivantana amin'ny pod ianao.
  • Vola fitahirizana maharitra: Ilaina ireto boky ireto mba hanamboarana ny fitehirizana maharitra tsy an-toerana voalaza etsy ambony.

amin'ny Yolean Manome andiana fanehoana feno hanampiana anao hanomboka amin'ny Kafka amin'ny Kubernetes.

Sarimihetsika helm

Helm dia mpitantana fonosana ho an'ny Kubernetes izay azo ampitahaina amin'ny mpitantana fonosana OS toy ny yum, apt, Homebrew na Chocolatey. Manamora ny fametrahana fonosana rindrambaiko efa voafaritra mialoha ao amin'ny tabilao Helm izany. Ny tabilao Helm voafantina tsara dia manamora ny asa sarotra amin'ny fomba fanamboarana tsara ny masontsivana rehetra hampiasana ny Kafka amin'ny Kubernetes. Misy kisary Kafka maromaro: misy ny ofisialy amin'ny toe-javatra incubator, misy iray avy Confluent, iray hafa - avy Bitnami.

mpandraharaha

Satria manana lesoka sasany i Helm, fitaovana iray hafa no lasa malaza be: mpandraharaha Kubernetes. Tsy vitan'ny hoe mametaka rindrambaiko ho an'ny Kubernetes fotsiny ny operatera, fa mamela anao hametraka rindrambaiko toy izany sy hitantana azy koa.

Ao amin'ny lisitra mpandraharaha mahagaga OpΓ©rateur roa ho an'ny Kafka no voalaza. Ny iray tamin'izy ireo - Strimzi. Miaraka amin'i Strimzi, mora ny mampiakatra ny cluster Kafka anao ary mandeha ao anatin'ny minitra. Saika tsy ilaina ny fanamafisam-peo, ho fanampin'izany, ny opΓ©rateur mihitsy dia manome endri-javatra mahafinaritra sasany, ohatra, encryption TLS point-to-point ao anatin'ny cluster. Confluent koa dia manome mpandraharaha manokana.

vokatra

Zava-dehibe ny hizaha toetra ny zava-bita amin'ny alΓ lan'ny fanombanana ny ohatra Kafka anao. Ny fitsapana toy izany dia hanampy anao hahita ny mety ho bottleneck alohan'ny hisehoan'ny olana. Soa ihany fa efa manome fitaovana fitiliana fampisehoana roa ny Kafka: kafka-producer-perf-test.sh ΠΈ kafka-consumer-perf-test.sh. Ampiasao mavitrika izy ireo. Ho an'ny fanondroana dia azonao atao ny manondro ireo valiny voalaza ao ity lahatsoratra ity Jay Kreps, na mifantoka amin'ny ity famerenana ity Amazon MSK nataon'i StΓ©phane Maarek.

asa

fanaraha-maso

Tena zava-dehibe ny mangarahara amin'ny rafitra - raha tsy izany dia tsy ho azonao ny zava-mitranga ao anatiny. Ankehitriny dia misy kitapom-pitaovana matanjaka izay manome fanaraha-maso mifototra amin'ny metrika amin'ny fomba rahona teratany. Fitaovana roa malaza amin'izany tanjona izany dia Prometheus sy Grafana. Ny Prometheus dia afaka manangona metrika avy amin'ny fizotran'ny Java rehetra (Kafka, Zookeeper, Kafka Connect) mampiasa mpanondrana JMX - amin'ny fomba tsotra indrindra. Raha manampy metrika cAdvisor ianao dia azonao tsara kokoa ny fomba ampiasana ny loharano ao amin'ny Kubernetes.

Strimzi dia manana ohatra tena mety amin'ny dashboard Grafana ho an'ny Kafka. Izy io dia mampiseho ireo metrika fototra, ohatra, momba ireo sehatra tsy azo replika na ireo izay ivelan'ny aterineto. Mazava be ny zava-drehetra ao. Ireo metrika ireo dia mifameno amin'ny fampiasana ny loharanon-karena sy ny fampahafantarana momba ny zava-bita, ary koa ny famantarana ny fahamarinan-toerana. Noho izany dia mahazo fanaraha-maso fototra Kafka cluster tsy misy dikany ianao!

Tsara ve ny Kafka ao amin'ny Kubernetes?

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

Tsara ny manampy izany rehetra izany amin'ny fanaraha-maso ny mpanjifa (mety ho an'ny mpanjifa sy ny mpamokatra), ary koa ny fanaraha-maso ny fahatarana (izany dia misy lavaka) ary ny fanaraha-maso hatramin'ny farany - ho an'ity fampiasana ity Kafka Monitor.

logging

Asa lehibe iray hafa ny fanoratana. Ataovy azo antoka fa tafiditra ao daholo ny kaontenera ao amin'ny fametrahana Kafka anao stdout ΠΈ stderr, ary miantoka ihany koa fa ny kluster Kubernetes-nao dia manambatra ny log rehetra ho fotodrafitrasa ivon'ny logging, oh. Elasticsearch.

Fizahana mandeha

Ny Kubernetes dia mampiasa probe fahavitrihana sy fahavononana hijerena raha mandeha ara-dalΓ na ny pods-nao. Raha toa ka tsy mahomby ny fanaraha-maso ny fiainana, dia hajanony Kubernetes io kaontenera io ary hamerenana ho azy avy eo raha toa ka napetraka mifanaraka amin'izany ny politikan'ny famerenana. Raha tsy mahomby ny fisavana fahavononana dia atokana amin'ny fangatahana serivisy ny Kubernetes. Noho izany, amin'ny tranga toy izany dia tsy ilaina intsony ny fidirana an-tsehatry ny tanana, izay tombony lehibe.

Mamoaka fanavaozana

Manohana fanavaozana mandeha ho azy ny StatefulSets: raha misafidy ny paikadin'ny RollingUpdate ianao, dia havaozina indray ny tsirairay eo ambanin'ny Kafka. Amin'izany fomba izany dia azo ahena ho aotra ny fotoana fitsaharana.

Scaling

Tsy asa mora ny fametahana cluster Kafka. Na izany aza, ny Kubernetes dia manamora ny fametahana pods amin'ny kopia maromaro, izay midika fa azonao atao ny mamaritra amin'ny fomba mazava ny mpivarotra Kafka araka izay tianao. Ny sarotra indrindra amin'ity tranga ity dia ny famerenana ny sehatra aorian'ny fampitomboana na alohan'ny hidina. Averina indray, hanampy anao amin'ity asa ity i Kubernetes.

fitantanan-draharaha

Ny asa mifandraika amin'ny fitantanana ny kluster Kafka anao, toy ny famoronana lohahevitra sy ny famerenan'ny sehatra, dia azo atao amin'ny alΓ lan'ny script shell efa misy amin'ny fanokafana ny seha-pifandraisana baiko ao amin'ny pods. Na izany aza, ity vahaolana ity dia tsy dia tsara loatra. Strimzi dia manohana ny fitantanana lohahevitra amin'ny fampiasana mpandraharaha hafa. Misy toerana azo hatsaraina eto.

Π Π΅

Ankehitriny ny fisian'ny Kafka dia miankina amin'ny fisian'ny Kubernetes ihany koa. Raha tsy nahomby ny kluster Kubernetes anao, dia tsy hahomby ihany koa ny kluster Kafka anao amin'ny tranga ratsy indrindra. Araka ny lalΓ n'i Murphy dia tena hitranga tokoa izany, ary ho very data ianao. Mba hampihenana ity karazana risika ity dia manana foto-kevitra backup tsara. Azonao atao ny mampiasa MirrorMaker, safidy iray hafa ny mampiasa S3 ho an'izany, araka ny voalaza eto lahatsoratra avy any Zalando.

famaranana

Rehefa miasa miaraka amin'ny clusters Kafka kely ka hatramin'ny antonony dia tena mendrika ny mampiasa Kubernetes satria manome fahafaha-manao fanampiny sy manatsotra ny traikefan'ny mpandraharaha. Raha manana fahatarana tsy miasa sy/na fepetra takiana amin'ny fidirana ianao, dia mety tsara kokoa ny mandinika safidy fametrahana hafa.

Source: www.habr.com

Add a comment