{"id":81173,"date":"2020-05-11T13:42:51","date_gmt":"2020-05-11T11:42:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/production-ready-images-for-k8s"},"modified":"2020-05-11T13:42:51","modified_gmt":"2020-05-11T11:42:51","slug":"production-ready-images-for-k8s","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/production-ready-images-for-k8s","title":{"rendered":"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kjo \u00ebsht\u00eb nj\u00eb histori se si ne p\u00ebrdorim kontejner\u00ebt n\u00eb ambientin produktiv, ve\u00e7an\u00ebrisht n\u00ebn Kubernetes. Artikulli \u00ebsht\u00eb dedikuar mbledhjes s\u00eb metrike dhe logeve nga kontejner\u00ebt, si dhe nd\u00ebrtimit t\u00eb imazheve.<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/c7e8df02d845138e489c09c55cd616e6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNe jemi nga kompania fintech Exness, e cila zhvillon sh\u00ebrbime p\u00ebr tregtimin online dhe produkte fintech p\u00ebr B2B dhe B2C. N\u00eb R&amp;D tonin ka shum\u00eb ekipe t\u00eb ndryshme, me mbi 100 punonj\u00ebs n\u00eb departamentin e zhvillimit.<\/p>\n<p>Ne paraqesim ekipin q\u00eb \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr platform\u00ebn p\u00ebr mbledhjen dhe ekzekutimin e kodit nga zhvilluesit tan\u00eb. Me konkretisht, ne jemi p\u00ebrgjegj\u00ebs p\u00ebr mbledhjen, ruajtjen dhe ofrimin e metrikeve, logeve dhe ngjarjeve nga aplikacionet. Aktualisht operojm\u00eb me p\u00ebraf\u00ebrsisht tri mij\u00eb kontejner\u00eb Docker n\u00eb ambientin produktiv, mb\u00ebshtesim depo big data me kapacitet prej 50 TB dhe ofrojm\u00eb zgjidhje arkitektonike q\u00eb nd\u00ebrtohen rreth infrastruktur\u00ebs ton\u00eb: Kubernetes, Rancher dhe ofrues t\u00eb ndrysh\u00ebm t\u00eb cloud-it publik.\u00a0<\/p>\n<h1>Motivimi yn\u00eb<\/h1>\n<p>\n\u00c7far\u00eb po digjet? Askush nuk mund ta p\u00ebrgjigjet. Ku \u00ebsht\u00eb qendra? E kuptojm\u00eb me v\u00ebshtir\u00ebsi. Kur ka filluar t\u00eb digjet? Mund t\u00eb zbulohet, por jo menj\u00ebher\u00eb.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/3ca2271caf1d02ba14937680cd89d65d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPse disa kontejner\u00eb ndalen, nd\u00ebrsa t\u00eb tjer\u00eb bien? Cili kontejner e shkaktoi at\u00eb? Sepse nga jasht\u00eb, kontejner\u00ebt duken t\u00eb nj\u00ebjt\u00eb, por brenda secili ka Neo-n e vet.<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/f971583f21e363244f9ea754da2a1f4c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZhvilluesit tan\u00eb jan\u00eb djem t\u00eb aft\u00eb. Ata b\u00ebjn\u00eb sh\u00ebrbime t\u00eb mira q\u00eb sjellin fitim p\u00ebr kompanin\u00eb. Por ndodhin gabime, kur kontejner\u00ebt me aplikacione shkojn\u00eb n\u00eb m\u00ebnyr\u00eb kaotike. Nj\u00eb kontejner konsumon shum\u00eb CPU, nj\u00eb tjet\u00ebr rrjetin, nj\u00eb i tret\u00eb operacionet e hyrjes dhe daljes, nd\u00ebrsa nj\u00eb i kat\u00ebrt gjithashtu nuk dihet se \u00e7far\u00eb b\u00ebn me soket\u00ebt. T\u00eb gjith\u00eb k\u00ebta e d\u00ebrgojn\u00eb bro\u00e7kull\u00ebn, dhe anija po fundoset.\u00a0<\/p>\n<h1>Agjent\u00ebt<\/h1>\n<p>\nP\u00ebr t\u00eb kuptuar \u00e7far\u00eb po ndodh brenda, ne vendos\u00ebm t\u00eb instalojm\u00eb agjent\u00ebt direkt n\u00eb kontejner\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/cc9eb47d1250bb866ec9452181479df4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00ebta agjent\u00eb jan\u00eb programe mbik\u00ebqyr\u00ebse, q\u00eb mbajn\u00eb kontejner\u00ebt n\u00eb gjendje t\u00eb till\u00eb q\u00eb t\u00eb mos shkat\u00ebrrojn\u00eb nj\u00ebri-tjettrin. Agjent\u00ebt jan\u00eb standardizuar, dhe kjo lejon standardizimin e qasjes p\u00ebr mir\u00ebmbajtjen e kontejner\u00ebve.\u00a0<\/p>\n<p>N\u00eb rastin ton\u00eb, agjent\u00ebt duhet t\u00eb ofrojn\u00eb loge n\u00eb nj\u00eb format standard, t\u00eb etiketuar dhe me throttling. Po ashtu, ata duhet t\u00eb na ofrojn\u00eb metrika standardizuar, t\u00eb zgjerueshme nga ana e aplikacioneve biznesore.<\/p>\n<p>N\u00ebn agjent\u00ebt gjithashtu n\u00ebnkuptohen utilitetet p\u00ebr operacion dhe mir\u00ebmbajtje, q\u00eb jan\u00eb t\u00eb afta t\u00eb funksionojn\u00eb n\u00eb sisteme t\u00eb ndryshme orkestrimi, duke mb\u00ebshtetur imazhe t\u00eb ndryshme (Debian, Alpine, Centos etj.).<\/p>\n<p>S\u00eb fundi, agjent\u00ebt duhet t\u00eb mb\u00ebshtesin nj\u00eb CI\/CD t\u00eb thjesht\u00eb, q\u00eb p\u00ebrfshin skedar\u00eb Docker. N\u00eb t\u00eb kund\u00ebrt, anija do t\u00eb shembet, sepse kontejner\u00ebt do t\u00eb fillojn\u00eb t\u00eb d\u00ebrgohen n\u00ebp\u00ebr \"binar\u00eb\" t\u00eb shtremb\u00ebr.<\/p>\n<h1>Procesi i nd\u00ebrtimit dhe struktura e imazhit t\u00eb synuar<\/h1>\n<p>\nP\u00ebr t\u00eb pasur gjith\u00e7ka t\u00eb standardizuar dhe menaxhueshme, \u00ebsht\u00eb e nevojshme t\u00eb ndiqet nj\u00eb proces standard nd\u00ebrtimi. Prandaj, ne vendos\u00ebm t\u00eb nd\u00ebrtojm\u00eb kontejner\u00eb me kontejner\u00eb \u2014 nj\u00eb recursivitet i till\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/708715af05bf79ce1eb9c2a8ce2aeca6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00ebtu kontejner\u00ebt paraqiten si kontura t\u00eb plota. Po ashtu vendos\u00ebm t\u00eb futim n\u00eb to distribucione, p\u00ebr t\u00eb mos e b\u00ebr\u00eb \"jet\u00ebn si nj\u00eb moll\u00eb\". Pse e b\u00ebm\u00eb k\u00ebt\u00eb, do ta tregojm\u00eb m\u00eb posht\u00eb.<br \/>\n\u00a0<br \/>\nSi rezultat, kemi krijuar nj\u00eb mjet nd\u00ebrtimi \u2014 nj\u00eb kontejner t\u00eb versionit t\u00eb caktuar, i cili lidhet me versione t\u00eb caktuara distribucionesh dhe me versione t\u00eb caktuara skenesh.<\/p>\n<p>Si e aplikojm\u00eb at\u00eb? Ne kemi Docker Hub, ku ndodhet kontejneri. Ne e pasqyrojm\u00eb at\u00eb brenda sistemit ton\u00eb, p\u00ebr t\u00eb eliminuar var\u00ebsit\u00eb e jashtme. Kemi krijuar nj\u00eb kontejner t\u00eb markuar me ngjyr\u00eb t\u00eb verdh\u00eb. Ne krijojm\u00eb nj\u00eb template p\u00ebr t\u00eb instaluar n\u00eb kontejner t\u00eb gjitha distribucionet dhe skenat e nevojshme p\u00ebr ne. Pas k\u00ebsaj, ne nd\u00ebrtojm\u00eb imazhin gati p\u00ebr t'u p\u00ebrdorur: zhvilluesit e vendosin brenda kodin dhe var\u00ebsit\u00eb e tyre specifike.\u00a0<\/p>\n<p>\u00c7far\u00eb \u00ebsht\u00eb e mir\u00eb n\u00eb k\u00ebt\u00eb qasje?\u00a0<\/p>\n<ul>\n<li>S\u00eb pari, kontrolli i plot\u00eb i versioneve t\u00eb mjeteve t\u00eb nd\u00ebrtimit \u2013 kontejneri i nd\u00ebrtimit, versionet e skripteve dhe distribucioneve.\u00a0<\/li>\n<li>S\u00eb dyti, ne arrit\u00ebm standardizimin: krijojm\u00eb modele n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb nj\u00ebjt\u00eb, imazhe nd\u00ebrmjet\u00ebse dhe gati p\u00ebr t'u p\u00ebrdorur.\u00a0<\/li>\n<li>S\u00eb treti, kontejner\u00ebt na ofrojn\u00eb portabilitet. Sot ne p\u00ebrdorim Gitlab, dhe nes\u00ebr do t\u00eb kalojm\u00eb n\u00eb TeamCity ose Jenkins dhe do t\u00eb jemi n\u00eb gjendje t\u00eb ekzekutojm\u00eb po ashtu kontejner\u00ebt tan\u00eb.\u00a0<\/li>\n<li>S\u00eb kat\u00ebrti, minimizimi i var\u00ebsive. Nuk e kemi vendosur rast\u00ebsisht distribucionet n\u00eb kontejner, sepse kjo lejon q\u00eb t\u00eb mos i shkarkojm\u00eb ato \u00e7do her\u00eb nga Interneti.\u00a0<\/li>\n<li>S\u00eb pesti, \u00ebsht\u00eb rritur shpejt\u00ebsia e nd\u00ebrtimit \u2013 pranimi i kopjeve lokale t\u00eb imazheve na lejon t\u00eb mos harxhojm\u00eb koh\u00eb n\u00eb shkarkim, pasi e kemi nj\u00eb imazh lokal.\u00a0<\/li>\n<\/ul>\n<p>\nMe fjal\u00eb t\u00eb tjera, ne arrit\u00ebm nj\u00eb proces nd\u00ebrtimi t\u00eb kontrolluesh\u00ebm dhe fleksib\u00ebl. Ne p\u00ebrdorim mjete t\u00eb nj\u00ebjta p\u00ebr t\u00eb nd\u00ebrtuar \u00e7do kontejner me versionim t\u00eb plot\u00eb.\u00a0<\/p>\n<h1>Si funksionon procedura jon\u00eb e nd\u00ebrtimit<\/h1>\n<p>\n<img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/22b9a8546005e289f79962188dbb0659.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGrumbullimi aktivizohet me nj\u00eb komand\u00eb, procesi kryhet n\u00eb imazh (i sh\u00ebnuar me t\u00eb kuqe). Zhvilluesi ka nj\u00eb sked\u00eb Docker (e sh\u00ebnuar me t\u00eb verdh\u00eb), ne e renditim at\u00eb duke z\u00ebvend\u00ebsuar variablat me vlera. Nd\u00ebrkoh\u00eb, shtojm\u00eb header dhe footer \u2014 k\u00ebto jan\u00eb agjent\u00ebt tan\u00eb.\u00a0<\/p>\n<p>Header-in e shton distribucionet nga imazhet p\u00ebrkat\u00ebse. Nd\u00ebrsa footer-i vendos brenda sh\u00ebrbimet tona, konfiguron nisjen e ngarkes\u00ebs punuese, regjistrimin dhe agjent\u00ebt e tjer\u00eb, z\u00ebvend\u00ebson entrypoint etj.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/4004e57dc45771479e535921a839716d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNe menduam p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb n\u00ebse duhet t\u00eb vendosim nj\u00eb supervizor. N\u00eb fund t\u00eb fundit, vendos\u00ebm se na nevojitet. Zgjodh\u00ebm S6. Supervizori ofron menaxhimin e kontejnerit: lejon lidhjen me t\u00eb n\u00eb rast t\u00eb r\u00ebnies s\u00eb procesit kryesor dhe ofron menaxhim manual t\u00eb kontejnerit pa e ri-krijuar at\u00eb. Loget dhe metrikat jan\u00eb procese q\u00eb ekzekutohen brenda kontejnerit. Edhe ato duhet t\u00eb kontrollohen n\u00eb nj\u00eb far\u00eb m\u00ebnyre, dhe ne e b\u00ebjm\u00eb k\u00ebt\u00eb p\u00ebrmes supervizorit. S\u00eb fundi, S6 merr p\u00ebrsip\u00ebr kryerjen e pun\u00ebve t\u00eb sht\u00ebpis\u00eb, p\u00ebrpunimin e sinjaleve dhe detyra t\u00eb tjera.<\/p>\n<p>Pasi aplikojm\u00eb sisteme t\u00eb ndryshme orkestrimi, pas grumbullimit dhe aktivizimit, kontejneri duhet t\u00eb kuptoj\u00eb se n\u00eb cilin mjedis ndodhet dhe t\u00eb veproj\u00eb sipas situat\u00ebs. P\u00ebr shembull:<br \/>\nKjo na lejon t\u00eb grumbullojm\u00eb nj\u00eb imazh dhe ta aktivizojm\u00eb at\u00eb n\u00eb sisteme t\u00eb ndryshme orkestrimi, dhe ai do t\u00eb aktivizohet duke marr\u00eb parasysh specifikat e k\u00ebtij sistemi orkestrimi.<\/p>\n<p>\u00a0<img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/6e76396afedbbf0e71d44a7fbb8521da.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb nj\u00ebjtin kontejner, ne marrim struktura t\u00eb ndryshme procesi n\u00eb Docker dhe Kubernetes:<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/83f9d23876192930ffebafcdd549915e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNgarkesa ekzekutohet n\u00ebn supervizorin S6. Vini re collector dhe events \u2014 k\u00ebto jan\u00eb agjent\u00ebt tan\u00eb q\u00eb p\u00ebrgjigjen p\u00ebr log\u00ebt dhe metrikat. N\u00eb Kubernetes ata nuk ekzistojn\u00eb, nd\u00ebrsa n\u00eb Docker po. Pse?\u00a0<\/p>\n<p>N\u00ebse shohim specifikimin e 'pod'-it (k\u00ebtu e tutje \u2013 Kubernetes pod), do t\u00eb shohim se kontejneri events ekzekutohet n\u00eb podin ku ndodhet nj\u00eb kontejner tjet\u00ebr collector, q\u00eb kryen funksionin e mbledhjes s\u00eb metrikave dhe log\u00ebve. Ne mund t\u00eb shfryt\u00ebzojm\u00eb mund\u00ebsit\u00eb e Kubernetes: aktivizimin e kontejner\u00ebve n\u00eb nj\u00eb pod, n\u00eb nj\u00eb hap\u00ebsir\u00eb procesi dhe\/ose rrjeti t\u00eb nj\u00ebjt\u00eb. N\u00eb thelb, t\u00eb implementojm\u00eb agjent\u00ebt tan\u00eb dhe t\u00eb realizojm\u00eb disa funksione. Dhe n\u00ebse ky kontejner aktivizohet n\u00eb Docker, ai do t\u00eb marr\u00eb t\u00eb nj\u00ebjtat mund\u00ebsi, dometh\u00ebn\u00eb do t\u00eb jet\u00eb n\u00eb gjendje t\u00eb d\u00ebrgoj\u00eb log\u00eb dhe metrika, pasi agjent\u00ebt do t\u00eb aktivizohen brenda.\u00a0<\/p>\n<h1>Metrikat dhe log\u00ebt<\/h1>\n<p>\nD\u00ebrgimi i metrikave dhe log\u00ebve \u00ebsht\u00eb nj\u00eb detyr\u00eb e komplikuar. Zgjidhja e saj lidhet me disa aspekte.<br \/>\nInfrastruktura krijohet p\u00ebr t\u00eb p\u00ebrmbushur ngarkes\u00ebn e dobishme, jo p\u00ebr shp\u00ebrndarjen masive t\u00eb log\u00ebve. Pra, ky proces duhet t\u00eb kryhet me k\u00ebrkesa minimale p\u00ebr burimet e kontejner\u00ebve. Ne p\u00ebrpiqemi t\u00eb ndihmojm\u00eb zhvilluesit tan\u00eb: \"Merrni nj\u00eb kontejner nga Docker Hub, hapeni, dhe ne do t\u00eb mund t\u00eb d\u00ebrgojm\u00eb log\u00ebt.\"\u00a0<\/p>\n<p>Aspekti i dyt\u00eb \u2014 kufizimi i v\u00ebllimit t\u00eb log\u00ebve. N\u00ebse disa kontejner\u00eb p\u00ebrjetojn\u00eb nj\u00eb shp\u00ebrthim t\u00eb v\u00ebllimit t\u00eb log\u00ebve (nj\u00eb aplikacion n\u00eb cik\u00ebl tregon stack-trace), rritet ngarkesa mbi CPU, lidhjet dhe sistemin e p\u00ebrpunimit t\u00eb log\u00ebve, dhe kjo ndikon n\u00eb funksionimin e hostit n\u00eb p\u00ebrgjith\u00ebsi dhe t\u00eb kontejner\u00ebve t\u00eb tjer\u00eb n\u00eb host, ndonj\u00ebher\u00eb duke \u00e7uar n\u00eb \"r\u00ebnien\" e hostit.\u00a0<\/p>\n<p>Aspekti i tret\u00eb \u2014 \u00ebsht\u00eb e nevojshme t\u00eb mb\u00ebshteten sa m\u00eb shum\u00eb metodika t\u00eb mbledhjes s\u00eb metrikave nga kutia. Nga leximi i skedar\u00ebve dhe pyetja e pik\u00ebs s\u00eb fundit Prometheus deri te p\u00ebrdorimi i protokolleve specifike t\u00eb aplikacioneve.<\/p>\n<p>Dhe aspekti i fundit \u2014 \u00ebsht\u00eb e nevojshme t\u00eb minimizohet konsumimi i burimeve.<\/p>\n<p>Ne zgjodh\u00ebm nj\u00eb zgjidhje open-source n\u00eb Go t\u00eb quajtur Telegraf. Ky \u00ebsht\u00eb nj\u00eb konktor universal q\u00eb mb\u00ebshtet m\u00eb shum\u00eb se 140 lloje t\u00eb kanalizimeve t\u00eb hyjsh\u00ebm (input plugins) dhe 30 lloje t\u00eb kanalizimeve t\u00eb dal\u00ebse (output plugins). Ne e kemi p\u00ebrmir\u00ebsuar dhe tani do t'ju tregojm\u00eb se si e p\u00ebrdorim at\u00eb n\u00eb shembullin e Kubernetes.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/9635d571c852e5f9358458874c58d7b0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSupozoni se zhvilluesi shp\u00ebrndan ngarkes\u00ebn dhe Kubernetes merr nj\u00eb k\u00ebrkes\u00eb p\u00ebr t\u00eb krijuar nj\u00eb pod. N\u00eb k\u00ebt\u00eb moment p\u00ebr \u00e7do pod krijohet automatikisht nj\u00eb kontejner i quajtur Collector (ne p\u00ebrdorim mutation webhook). Collector \u00ebsht\u00eb agjenti yn\u00eb. N\u00eb fillim, ky kontejner e konfiguroni veten p\u00ebr t\u00eb punuar me Prometheus dhe sistemin e mbledhjes s\u00eb log\u00ebve.<\/p>\n<ul>\n<li>P\u00ebr k\u00ebt\u00eb, ai p\u00ebrdor anotimet e pod-it, dhe n\u00eb var\u00ebsi t\u00eb p\u00ebrmbajtjes s\u00eb saj, krijon, le t\u00eb themi, nj\u00eb pik\u00eb fundit t\u00eb Prometheus;\u00a0\n<\/li>\n<li>N\u00eb baz\u00eb t\u00eb specifikacioneve t\u00eb pod-it dhe parametrave specifik\u00eb t\u00eb kontejner\u00ebve, vendos se si t\u00eb d\u00ebrgoj\u00eb log\u00ebt.\n<\/li>\n<\/ul>\n<p>\nNe mbledhim log\u00ebt p\u00ebrmes Docker API: zhvilluesit mjafton t'i vendosin ato n\u00eb stdout ose stderr, dhe pastaj Collector do t\u00eb merret me to. Log\u00ebt mblidhen n\u00eb grupe me disa vonesa, p\u00ebr t\u00eb parandaluar mbingarkes\u00ebn e mundshme t\u00eb hostit.\u00a0<\/p>\n<p>Metrikat mblidhen sipas instancave t\u00eb ngarkes\u00ebs s\u00eb pun\u00ebs (proceseve) n\u00eb kontejner\u00eb. Gjith\u00e7ka sh\u00ebnohet me etiketa: namespace, pod dhe k\u00ebshtu me radh\u00eb, dhe pastaj konvertohet n\u00eb formatin Prometheus \u2013 dhe b\u00ebhet e disponueshme p\u00ebr mbledhje (p\u00ebrve\u00e7 log\u00ebve). Po ashtu, log\u00ebt, metrikat dhe ngjarjet ne i d\u00ebrgojm\u00eb n\u00eb Kafka dhe m\u00eb pas:<\/p>\n<ul>\n<li>Log\u00ebt jan\u00eb t\u00eb disponueshme n\u00eb Graylog (p\u00ebr analiz\u00eb vizuale);\n<\/li>\n<li>Log\u00ebt, metrikat, dhe ngjarjet d\u00ebrgohen n\u00eb Clickhouse p\u00ebr ruajtje afatgjat\u00eb.\n<\/li>\n<\/ul>\n<p>\nPo ashtu punon gjith\u00e7ka n\u00eb AWS, vet\u00ebm se ne z\u00ebvend\u00ebsojm\u00eb Graylog me Kafka me Cloudwatch. D\u00ebrgojm\u00eb log\u00ebt atje, dhe gjith\u00e7ka b\u00ebhet shum\u00eb e convenient: menj\u00ebher\u00eb kuptohet, p\u00ebr cilin klaster dhe kontejner i takojn\u00eb. E nj\u00ebjta gj\u00eb vlen edhe p\u00ebr Google Stackdriver. Kjo do t\u00eb thot\u00eb se skema jon\u00eb punon si on-premise me Kafka, ashtu edhe n\u00eb cloud.\u00a0<\/p>\n<p>N\u00ebse nuk kemi Kubernetes me pod-e, skema b\u00ebhet pak m\u00eb e komplikuar, por punon sipas t\u00eb nj\u00ebjtave principe.<\/p>\n<p><img decoding=\"async\" alt=\"AOL publikoi sistemin e indeksimit t\u00eb trafikut n\u00eb rrjet Moloch 2.3\" src=\"\/wp-content\/uploads\/2020\/05\/dd8efb33c5c74433a2767cb00caeec2d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBrenda kontejnerit ekzekutohen procese t\u00eb nj\u00ebjta, t\u00eb orkestruara me S6. T\u00eb nj\u00ebjtat procese jan\u00eb t\u00eb ngarkuara brenda nj\u00eb kontejneri.<\/p>\n<h1>N\u00eb fund<\/h1>\n<p>\nKrijuam nj\u00eb zgjidhje t\u00eb plot\u00eb p\u00ebr nd\u00ebrtimin dhe ekzekutimin e imazheve n\u00eb prodhim, me mund\u00ebsi p\u00ebr mbledhjen dhe d\u00ebrgimin e log\u00ebve dhe metrikave:<\/p>\n<ul>\n<li>Kemi zhvilluar nj\u00eb qasje t\u00eb standardizuar p\u00ebr nd\u00ebrtimin e imazheve, mbi t\u00eb cil\u00ebn kemi zhvilluar CI-shabllonet;\n<\/li>\n<li>Agjent\u00ebt p\u00ebr mbledhjen e t\u00eb dh\u00ebnave jan\u00eb zgjerime tona Telegraf. I kemi testuar mir\u00eb n\u00eb prodhim;\n<\/li>\n<li>P\u00ebrdorim webhook t\u00eb mutation p\u00ebr implementimin e kontejner\u00ebve me agjent\u00eb n\u00eb pod-e;\u00a0\n<\/li>\n<li>Jemi integruar n\u00eb ekosistemin Kubernetes\/Rancher;\n<\/li>\n<li>Mund t\u00eb ekzekutojm\u00eb kontejner\u00eb t\u00eb nj\u00ebjt\u00eb n\u00eb sisteme t\u00eb ndryshme orkestrimi dhe t\u00eb marrim rezultatin q\u00eb presim;\n<\/li>\n<li>Krijuam nj\u00eb konfigurim t\u00eb plot\u00eb dinamik p\u00ebr menaxhimin e kontejner\u00ebve.\u00a0\n<\/li>\n<\/ul>\n<p>\nBashk\u00ebautor: <b>Ilya Prudnikov<\/b><br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/exness\/blog\/488392\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0432 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434 Kubernetes. \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0441\u0431\u043e\u0440\u0443 \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u043b\u043e\u0433\u043e\u0432 \u0441 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u043b\u0434\u0443 \u043e\u0431\u0440\u0430\u0437\u043e\u0432. \u041c\u044b \u0438\u0437 \u0444\u0438\u043d\u0442\u0435\u0445-\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u0440\u0435\u0439\u0434\u0438\u043d\u0433\u0430 \u0438 \u0444\u0438\u043d\u0442\u0435\u0445-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0434\u043b\u044f B2B \u0438 \u04122\u0421. \u0412 \u043d\u0430\u0448\u0435\u043c R&amp;D \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u0432 \u043e\u0442\u0434\u0435\u043b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 100 + \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81173","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0432 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434 Kubernetes.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/production-ready-images-for-k8s\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Production-ready images for k8s | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0432 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/production-ready-images-for-k8s\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-11T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-11T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Imazhe t\u00eb gatshme p\u00ebr prodhim p\u00ebr k8s | ProHoster","description":"Kjo \u00ebsht\u00eb historia se si p\u00ebrdorim kontejner\u00ebt n\u00eb ambientin e produktit, sidomos n\u00ebn Kubernetes.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/production-ready-images-for-k8s","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Production-ready images for k8s | ProHoster","og:description":"\u042d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0432 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434 Kubernetes.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/production-ready-images-for-k8s","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-11T11:42:51+00:00","article:modified_time":"2020-05-11T11:42:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81173","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:03:22","updated":"2022-09-28 06:12:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=81173"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81173\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/81174"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=81173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=81173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=81173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}