Talofa, Habr!
I se tasi taimi, o matou na muamua faʻalauiloa le autu i le maketi a Rusia
Faatomuaga
Kubernetes ua mamanuina e taulimaina galuega e leai ni setete. E masani lava, o ia galuega o loʻo tuʻuina atu i le tulaga o le microservice architecture, e mama, fua lelei i luga ole laiga, mulimuli i mataupu faavae o le 12-factor applications, ma e mafai ona galulue faʻatasi ma motumotu ma manuki vevesi.
Kafka, i le isi itu, o loʻo galue o se faʻamaumauga tuʻufaʻatasia. O le mea lea, pe a galue, e tatau ona e feagai ma le setete, ma e sili atu le mamafa nai lo se microservice. E lagolagoina e Kubernetes le tele o avega, ae pei ona taʻua e Kelsey Hightower i tweets e lua, e tatau ona taulimaina ma le faʻaeteete:
O nisi tagata e manatu afai e te faʻasolo Kubernetes i se faʻatonuga o galuega, o le a avea ma faʻamaumauga faʻatautaia atoatoa e faʻatusalia RDS. E sese lenei mea. Masalo, afai e te galue malosi, faʻaopoopo vaega faaopoopo ma tosina mai se 'au a SRE inisinia, o le a mafai ona e fausia RDS i luga o Kubernetes.
Ou te fautuaina i taimi uma ia faʻaeteete tagata uma pe a faʻatautaia galuega faʻatulafonoina ile Kubernetes. O le tele o tagata e fesili "pe mafai ona ou faʻatinoina galuega faʻatulafonoina i Kubernetes" e le lava le poto masani i Kubernetes, ma e masani lava i le mamafa o galuega latou te fesili ai.
O lea la, e tatau ona e taʻavale Kafka i Kubernetes? Fesili fa'afeagai: mata o le a sili atu le galuega a Kafka e aunoa ma Kubernetes? O le mea lea ou te manaʻo e faʻamamafa i lenei tusiga pe faʻafefea ona faʻafeiloaʻi e Kafka ma Kubernetes le tasi ma le isi, ma o a faʻalavelave e mafai ona oʻo mai i le tuʻufaʻatasia.
Taimi e mae'a ai
Sei o tatou talanoa e uiga i le mea autu - o le siosiomaga taimi taʻavale lava ia
Le faagasologa
Kafka brokers e faauo CPU. E mafai e le TLS ona fa'ailoa mai nisi o luga. Ae ui i lea, e mafai e tagata Kafka ona sili atu le malosi o le CPU pe a latou faʻaogaina faʻamatalaga, ae e le afaina ai le au fai pisinisi.
manatua
Kafka brokers 'ai le manatua. Ole tele ole fa'aputuga o le JVM e masani lava ona fa'atapula'aina ile 4-5 GB, ae e te mana'omia fo'i le tele o le fa'amanatuina o le polokalama talu ai e fa'aoga malosi e Kafka le fa'aoga itulau. I totonu o Kubernetes, seti alagaoa pusa ma talosaga tapulaa e tusa ai.
Teuga fa'amaumauga
O le teuina o fa'amaumauga i totonu o pusa e le tumau - e leiloa fa'amaumauga pe a toe amata. Mo faʻamatalaga Kafka e mafai ona e faʻaogaina se voluma emptyDir
, ma o le a tutusa le aʻafiaga: o au faʻamatalaga fai pisinisi o le a leiloa pe a maeʻa. O au fe'au e mafai lava ona teuina i luga o isi tagata fai pisinisi e fai ma fa'atusa. O le mea lea, a maeʻa le toe amataina, e tatau i le tagata fai pisinisi ua le manuia ona toe faʻaaogaina uma faʻamaumauga, ma o lenei faagasologa e mafai ona tele se taimi.
O le mea lea e tatau ai ona e faʻaogaina faʻamaumauga umi umi. Fa'ataga e le fa'alotoifale mo se taimi umi e teu ai ma le faila faila XFS po'o, sili atu, ext4. Aua le fa'aogaina le NFS. Na ou lapataia oe. NFS versions v3 po'o v4 o le a le aoga. I se faapuupuuga, o le Kafka broker o le a paʻu pe a le mafai ona tapeina le lisi o faʻamaumauga ona o le faʻafitauli "valea toe igoa" i le NFS. Afai ou te lei faatalitonuina oe, ia matua faaeteete lava
Fesootaiga
E pei o le tele o faiga fa'asoa, o le fa'atinoga a Kafka e fa'alagolago tele i le taofiofia o feso'ota'iga i le la'ititi ma le bandwidth i le maualuga. Aua le taumafai e faʻafeiloaʻi tagata faʻatau uma i luga o le node e tasi, aua o le a faʻaitiitia ai le avanoa. Afai e faaletonu le node Kubernetes, o le a le manuia le fuifui Kafka atoa. E le gata i lea, aua le fa'asalalauina le vaega o Kafka i totonu o nofoaga autu o fa'amaumauga. E tutusa lava mo le vaega Kubernetes. O se fetuunaiga lelei i lenei tulaga o le filifilia o sone avanoa eseese.
Fetuunaiga
Fa'aaliga masani
O loʻo iai le upega tafaʻilagi a Kubernetes
- Lalo: O le pod o le iunite laʻititi e mafai ona faʻaaogaina i Kubernetes. O le pod o lo'o i ai lau galuega mamafa, ma o le pod lava ia e fetaui ma se fa'agasologa o lau fuifui. O se pusa e iai se tasi pe sili atu pusa. O server ZooKeeper ta'itasi i totonu o le fa'apotopotoga ma tagata fai pisinisi ta'itasi i le fuifui o Kafka o le a tamomoe i se isi pod.
- StatefulSet: O le StatefulSet o se mea Kubernetes e faʻatautaia le tele o galuega faʻatulagaina, ma o ia galuega e manaʻomia le faʻamaopoopoina. StatefulSets e tuʻuina atu faʻamaoniga e uiga i le okaina o pods ma lo latou tulaga ese.
- Auaunaga e leai ni ulu: Au'aunaga e fa'atagaina oe e fa'ate'a ese pods mai tagata fa'atau e fa'aaoga ai se igoa talafeagai. Kubernetes i lenei tulaga e nafa ma le paleni o uta. Ae peita'i, pe a fa'agaoioia galuega fa'atino, pei ole ZooKeeper ma Kafka, e mana'omia e tagata fa'atau ona feso'ota'i ma se fa'ata'ita'iga fa'apitoa. O le mea lea e maua ai auaunaga e leai ni ulu: i lenei tulaga, o le a iai pea le igoa o le kalani, ae e te le tau faʻafesoʻotaʻi saʻo le pod.
- Tele taimi e teu ai: O nei voluma e manaʻomia e faʻapipiʻi ai le teu faʻapipiʻi poloka poloka e pei ona taʻua i luga.
i
Siata foeuli
O le Helm o se pule o pusa mo Kubernetes e mafai ona faʻatusatusa i pule o pusa OS e pei ole yum, apt, Homebrew poʻo Chocolatey. E fa'afaigofie ai ona fa'apipi'i pusa fa'akomepiuta ua uma ona fa'amatalaina i siata Helm. O se siata Helm filifilia lelei e faia ai le galuega faigata i le auala e faʻapipiʻi lelei ai faʻamaufaʻailoga uma e faʻaoga ai Kafka i Kubernetes faigofie. E tele fa'atusa Kafka: o lo'o i ai le mea aloa'ia
Faʻatonu
Ona o Helm e iai ni faaletonu, o le isi meafaigaluega o loʻo maua le lauiloa tele: Kubernetes operators. E le gata ina fa'apipi'i e le fa'alapotopotoga polokalame mo Kubernetes, ae fa'ataga fo'i oe e fa'atūina ia polokalame ma pulea.
I le lisi
Gaioiga
E taua le fa'ata'ita'iina o fa'atinoga e ala i le fa'avasegaina o lau fa'ata'ita'iga Kafka. O ia su'ega o le a fesoasoani ia te oe e su'e ni fa'alavelave fa'aletonu a'o le'i tutupu fa'afitauli. O le mea e laki ai, ua uma ona tuʻuina atu e Kafka meafaigaluega faʻataʻitaʻiga e lua: kafka-producer-perf-test.sh
и kafka-consumer-perf-test.sh
. Fa'aaoga malosi. Mo faʻamatalaga, e mafai ona e vaʻai i faʻaiʻuga o loʻo faʻamatalaina i totonu
Faʻatonu
Mataitu
O le manino i totonu o le faiga e taua tele - a leai o le ae le malamalama i le mea o loʻo tupu i totonu. I aso nei o loʻo i ai se mea faigaluega malosi e tuʻuina atu ai le mataʻituina o fua faʻatatau ile sitaili masani ole ao. E lua meafaigaluega lauiloa mo lenei faʻamoemoe o Prometheus ma Grafana. E mafai e le Prometheus ona aoina metrics mai faiga Java uma (Kafka, Zookeeper, Kafka Connect) e faʻaaoga ai le JMX faʻatau atu - i le auala sili ona faigofie. Afai e te faʻaopoopoina le cAdvisor metrics, e mafai ona e malamalama atoatoa i le faʻaogaina o punaoa i Kubernetes.
Strimzi o loʻo i ai se faʻataʻitaʻiga sili ona faigofie o le Grafana dashboard mo Kafka. O lo'o va'aia fua fa'atatau, mo se fa'ata'ita'iga, e uiga i vaega e le o toe fa'atusaina po'o i latou e leai se initaneti. E matua manino lava mea uma iina. O nei fua fa'atatau e fa'apipi'iina e le fa'aogaina o puna'oa ma fa'amatalaga fa'atinoga, fa'apea fo'i fa'ailoga mautu. O lea e te maua ai le mata'ituina o fuifui Kafka mo se mea!
puna:
E manaia le faʻaopoopoina o nei mea uma i le mataʻituina o tagata faʻatau (fuainumera i luga o tagata faʻatau ma tagata gaosi oloa), faʻapea foʻi ma le mataʻituina o le latency (mo lenei mea e iai
Fa'amauina
O le taina o se isi galuega taua. Ia mautinoa o koneteina uma o loʻo i totonu o lau faʻapipiʻi Kafka o loʻo saini i ai stdout
и stderr
, ma fa'amautinoaina fo'i e fa'aputuina e lau fa'aputuga Kubernetes ia ogalaau uma i totonu o se atina'e fa'atotonugalemu, eg.
Siaki siaki
E fa'aaoga e Kubernetes ni su'esu'ega fa'aolaola ma sauni e siaki pe o fa'agasolo masani au po'o. Afai e le manuia le siakiina o le ola, e taofi e Kubernetes lena atigipusa ona toe otometi lea pe a faʻatulagaina le tulafono toe amata. Afai e le manuia le siakiina o le saunia, e fa'aesea e Kubernetes le pod mai le tautuaina o talosaga. O le mea lea, i ia tulaga, e le toe manaʻomia le faʻaogaina o le lima, o se faʻaopoopoga tele.
Fa'asalalau fa'afouga
E lagolagoina e StatefulSets fa'afouga otometi: afai e te filifilia le ta'iala RollingUpdate, o le a fa'afouina ta'itasi i lalo ole Kafka. I lenei auala, e mafai ona faʻaititia le taimi faʻaletonu i le zero.
Fuaina
Ole fuaina ole fuifui Kafka e le ose galuega faigofie. Ae ui i lea, o Kubernetes e faigofie tele ona faʻasolo le pods i se numera o faʻataʻitaʻiga, o lona uiga e mafai ona e faʻamalamalamaina le tele o Kafka brokers e te manaʻo ai. O le mea pito sili ona faigata i lenei tulaga o le toe faʻatulagaina o vaega pe a uma ona faʻateleina pe aʻo leʻi faʻaititia i lalo. Toe, Kubernetes o le a fesoasoani ia te oe i lenei galuega.
Pulega
O galuega e feso'ota'i ma le fa'afoeina o lau fuifui Kafka, e pei o le fatuina o autu ma le toe fa'avasegaina o vaega, e mafai ona fa'aogaina i le fa'aogaina o fa'amaumauga atigi o lo'o iai e ala i le tatalaina o le laina fa'atonuga i totonu o au pods. Ae ui i lea, o lenei fofo e le matagofie tele. E lagolagoina e Strimzi le puleaina o autu e faʻaaoga ai se isi faʻalapotopotoga. O loʻo i ai se avanoa e faʻaleleia atili ai iinei.
Fa'asaoina ma toe fa'afo'isia
Ole taimi nei ole avanoa ole Kafka ole a faʻalagolago foi ile maua ole Kubernetes. Afai e le manuia lau fuifui Kubernetes, i le tulaga sili ona leaga, o le a toilalo foi lau fuifui Kafka. E tusa ai ma le tulafono a Murphy, e mautinoa lava e tupu lenei mea, ma o le ae leiloa faʻamatalaga. Ina ia faʻaitiitia lenei ituaiga o tulaga lamatia, ia i ai se manatu faaleoleo lelei. E mafai ona e faʻaogaina MirrorMaker, o le isi filifiliga o le faʻaoga S3 mo lenei, e pei ona faʻamatalaina i lenei
iʻuga
Pe a galue i fuifui Kafka laʻititi ma feololo, e matua aoga lava le faʻaaogaina o Kubernetes aua e maua ai le fetuutuunai faaopoopo ma faʻafaigofie le poto masani o le tagata faʻaoga. Afai e iai sau fa'aletonu e le o fa'aogaina ma/po'o mea e mana'omia, atonu e sili atu le mafaufau i se isi filifiliga fa'apipi'i.
puna: www.habr.com