Salve, Habr!
Uno tempore fuimus primum thema ad mercatum Russicum introducendum
introduction
Kubernetes destinatur in laboribus publicis tractandis. Typice, huiusmodi laboribus in forma architecturae microserviae exhibentur, leves sunt, bene scandunt, principia applicationum 12 factoris sequuntur, et cum praevaricatoribus et chaos simiarum ambitu laborare possunt.
Kafka autem essentialiter agit ut datorum distributorum. Sic cum opus est, debes agere rem publicam, et multo gravior est quam microservio. Kubernetes onera publica sustinet, sed ut Kelsey Hightower in duabus tweets designat, diligenter tractari debent;
Nonnulli sentiunt quod, si Kubernetes in oneris statuti volvent, fieri database plene tractatum, quod aemuli RDS. Hoc nefas est. Fortasse, si satis difficile laboras, additamenta adicies et machinarum SRE turmas attrahe, RDS super Kubernetes aedificare poteris.
Semper suadeo ut omnes extremam cautelam exerceant in occupationibus publicis in Kubernetes currentibus. Plerique qui "in Kubernetes statua opera currere possum" non satis experientiam apud Kubernetes habent, et saepe cum inposuit quod quaerunt.
Ergone fugis Kafka in Kubernetes? Contra quaestionem: nunquid Kafka melius sine Kubernetes laborabit? Quam ob rem in hoc articulo illustrare volo quomodo Kafka et Kubernetes se inter se complent, et quae foveae cum illis coniungendis venire possunt.
Tempus complementum
Fama de re fundamentali - ipsum runtime environment
processus
Kafka sectores sunt CPU amica. TLS aliquod caput inducere potest. Nihilominus, Kafka clientes magis CPU intensive esse possunt si encryption utantur, sed hoc sectoribus non afficit.
memoriae
Kafka praesidium sectorum devorant memoria. JVM acervus amplitudo plerumque ad 4-5 GB circumscribi solet, sed multum quoque opus est memoriae ratio cum Kafka paginae cache gravissime utitur. In Kubernetes, fines continens subsidia et postulationem constitue.
Data copia
Data reposita in vasis evanescentibus - notitia deperdita est si restarted. Nam Kafka data volumine uti potes emptyDir
et similis effectus erit: peracta peribit notitia sectoris. Epistulae tuae adhuc in aliis sectoribus sicut replicas condi possunt. Ergo, post sileo, sector incassum prius omnia data replicare debet, et hic processus multum temporis capere potest.
Inde est, quod uti debes diu-terminus notitia repono. Sit repositio non-longi temporis cum systemate fasciculi XFS vel pressius ext4. Ne uti NFS. Monui te. NFS versiones v3 vel v4 non operantur. Denique Kafka sectorem fragorem faciet si non potest delere notitias directorium ob "stupidum rename" problema in NFS. Si nondum tibi persuasum est, diligentissime
network
Ut cum plurimis systematibus distributis, Kafka effectus est valde pendens ab retis latency custodiendis ad minimum et sed ad maximum. Noli tentare omnes sectores hospitari in eadem node, ut hoc promptuarium reducet. Si node Kubernetes deficiat, tota Kafka botrus deficiet. Item, Kafka botrus per integras centra data non dispergite. Eadem ratio est de botro Kubernetes. Bonum compromissum in hac causa est zonas disponibilitates diversas eligere.
configuratione
Ordinarius manifestos
Kubernetes website has
- sub: Vasculum minus explicabile unitas in Kubernetes est. Vasculum tuum quod inposuit continet, et ipsum vasculum processui in botro tuo respondet. Vasculum unum vel plura vasa continet. Quisque ZooKeeper cultor in synagoga et quilibet sector in Kafka botrus in vasculo separato current.
- StatefulSet: StatefulSet obiectum est Kubernetes quod multa negotia statuaria tractat, et huiusmodi laboribus coordinationem requirunt. Praesidia de leguminibus ordinandis eorumque singularitatem praebent StatefulSets.
- Temere officia: Officia sinunt te siliquas ab clientibus seiungi utente nomine logico. Kubernetes in hac causa onus librationis author est. Tamen, cum in laboribus statutis operandis, ut ZooKeeper et Kafka, clientes opus habent cum instantia specifica communicare. Hoc est ubi servitia sine capite veniunt in promptu: in hoc casu, client adhuc nomen logicum habebit, sed vasculum directe contingere non debebis.
- Diu terminus repono volumen: Haec volumina requiruntur ad configurandum impedimentum non-loci constans repositionis de qua supra.
In
Galea charts
Gubernaculum sarcina pro Kubernetes est, quod actoribus sarcina OS comparari potest ut yum, aptum, Homebrew vel Chocolatey. Facilis facit ut installare praedefinitos fasciculos programmatum in chartis Helm descriptis. Charta bene electa Helm arduum facit negotium quomodo omnes parametros apte configuret facile Kafka in Kubernetes utendi. Kafka schemata varia sunt: officialis unus locus est
operators
Quia Helm quasdam defectus habet, aliud instrumentum populare magnum obtinet: operariorum Kubernetes. Auctor non solum programmatio sarcinarum Kubernetes, sed etiam permittit ut talem programmatum explicandi et administrandi habeat.
In album
productivity
Gravis est probare effectum per benchmarking tuum Kafka exempli gratia. Tales probationes adiuvabunt ut potentiale bottlenecks invenias antequam difficultates fiant. Feliciter Kafka iam duo instrumenta perficiendi probat: kafka-producer-perf-test.sh
и kafka-consumer-perf-test.sh
. Utantur ea activa. Pro reference, referre potes ad proventus in descriptos
res
Cras
Perspicuus in systemate magni momenti est - aliter non intelliges quid in eo agatur. Hodie solidum toolkit est quod in stylo indigena nubem magnae metri substructio praebet. Duo instrumenta popularia ad hanc rem sunt Prometheus et Grafana. Prometheus metrice colligere potest ex omnibus processibus Javae (Kafka, Zookeeper, Kafka Connect) utens JMX exportatorii simplicissimo. Si metricam cAdvisorem addideris, plenius intellegere potes quomodo facultates in Kubernetes adhibeantur.
Strimzi commodissimum exemplum Grafana ashboardday pro Kafka habet. Clavem metricam insensit, exempli gratia, circa partes sub-replicatas vel eas quae in offline sunt. Omnia ibi clarissima sunt. Haec metrica utendo ac perficiendo notitias subsidiis complent, necnon indicibus stabilitatis. Ita ut adipiscing basic Kafka botrum pro nihilo!
Source:
Nice quod haec omnia cum cliente vigilantia (metrica in usuris et effectoribus metricis) supplere, nec non magna latency magna (nam hoc est
Logging
Logging est aliud opus criticum. Fac omnia vasa in Kafka institutionem tuam initium sint stdout
и stderr
atque etiam ut tui Kubernetes glomerati omnia ligna aggregantur in infrastructuram centralem, v.g.
eget reprehendo
Kubernetes vita et alacritate utitur ad reprimendam siliquae tuae normaliter currunt. Si vita perscriptio deficiat, Kubernetes illud continente cessabit et tunc statim illud sileo si consilium sileo constituetur. Si promptitudo perscriptio deficiat, Kubernetes vasculum recedit a petitionibus operandis. Talibus in casibus, interventus manualis omnino non requiritur, quod magnum est plus.
Volubilem ex updates
StatefulSets subsidia latae sententiae: si belli RollingUpdate deligis, singula sub Kafka in vicem renovabuntur. Hoc modo downtime ad nihilum redigi potest.
Scaling
Scandere Kafka botrum non facile est. Nihilominus, Kubernetes facillime facit siliquas ad certum numerum replicationum escendere, quae per tot Kafka sectores declarare potes quot voles. Difficillimum in hoc casu est reponenda sectores post scalas vel ante scalas descendentes. Iterum, Kubernetes hoc munere te adiuvabunt.
administratio
Negotia ad botrum tuum Kafka administrandum pertinentia, ut thema creandi et sectores reponendi, fieri potest utendo scripta testudine existentes aperiendo lineam interfaciei in legumine tuo. Sed haec solutio non est valde pulchra. Strimzi adiuvat argumenta administrandi diversos operatoria utentes. Est hic emendandi locus aliquis.
езервное копирование и восстановление
Nunc promptitudo Kafka etiam a promptitudine Kubernetes dependet. Si botrus tuus Kubernetes deficit, tunc in pessimo casu missionis, etiam botrus tuus Kafka deficiet. Secundum legem Murphy, hoc certum erit, et notitia perdet. Ad hoc genus periculi reducere, bene conceptum tergum habere. MirrorMaker uti potes, alia optione uti S3 pro hoc, de quo in hoc
conclusio,
Cum parvis ad mediocritatem Kafka racemis laborat, certum est Kubernetes uti, dum flexibilitatem additional praebet et experientiam operantis simpliciorem praebet. Si latentiam significantes non-muneris et/vel throughput requisita habes, melius erit considerare aliam optionem instruere.
Source: www.habr.com