{"id":91199,"date":"2020-08-10T01:42:03","date_gmt":"2020-08-09T23:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kubernetes-v-domklik-kak-spat-spokojno-upravlyaya-klasterom-na-1000-mikroservisov"},"modified":"2020-08-10T01:42:03","modified_gmt":"2020-08-09T23:42:03","slug":"kubernetes-v-domklik-kak-spat-spokojno-upravlyaya-klasterom-na-1000-mikroservisov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-v-domklik-kak-spat-spokojno-upravlyaya-klasterom-na-1000-mikroservisov","title":{"rendered":"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Un\u00eb quhem Viktor Yagofarov dhe merrem me zhvillimin e platform\u00ebs Kubernetes n\u00eb kompanin\u00eb DomKlik si drejtori teknik i zhvillimit n\u00eb ekipin Ops (operacionet). Do doja t\u00eb flas p\u00ebr organizimin e proceseve tona Dev  Ops, p\u00ebr karakteristikat e operimit t\u00eb nj\u00eb prej klaster\u00ebve m\u00eb t\u00eb m\u00ebdhenj k8s n\u00eb Rusi, si dhe p\u00ebr praktikat DevOps\/SRE q\u00eb ekipi yn\u00eb aplikon.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/6c908104c734b36cc7a960fbe4d65e3f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Ekipi Ops<\/h4>\n<p>\nN\u00eb ekipin Ops aktualisht punojn\u00eb 15 persona. Tre nga ata jan\u00eb p\u00ebrgjegj\u00ebs p\u00ebr zyr\u00ebn, dy punojn\u00eb n\u00eb nj\u00eb tjet\u00ebr zon\u00eb kohore dhe jan\u00eb t\u00eb disponuesh\u00ebm, p\u00ebrfshir\u00eb nat\u00ebn. K\u00ebshtu, gjithmon\u00eb dikush nga Ops \u00ebsht\u00eb pran\u00eb monitorit dhe i gatsh\u00ebm t\u00eb reagoj\u00eb ndaj \u00e7do incidenti. Nuk kemi nd\u00ebrrime nate, \u00e7ka ruan sh\u00ebndetin ton\u00eb mendor dhe na jep mund\u00ebsin\u00eb t\u00eb flejm\u00eb dhe t\u2019i kalojm\u00eb momentet e lira jo vet\u00ebm para kompjuterit.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/47051db273f116df376e64bad67c6f37.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKompentencat e t\u00eb gjith\u00ebve jan\u00eb t\u00eb ndryshme: specialist\u00eb t\u00eb rrjetit, DBA, specialist\u00eb t\u00eb stackut ELK, administrues\/kodues Kubernetes, specialist\u00eb p\u00ebr monitorim, virtualizim, harduer etj. E vetmja gj\u00eb q\u00eb i bashkon \u00ebsht\u00eb se \u00e7do njeri mund t\u00eb z\u00ebvend\u00ebsoj\u00eb ndonj\u00eb nga ne: p\u00ebr shembull, t\u00eb fut\u00eb nodo t\u00eb reja n\u00eb klasterin k8s, t\u00eb p\u00ebrdit\u00ebsoj\u00eb PostgreSQL, t\u00eb shkruaj\u00eb pipeline CI\/CD + Ansible, t\u00eb automatizoj\u00eb di\u00e7ka n\u00eb Python\/Bash\/Go, t\u00eb lidhi ndonj\u00eb harduer n\u00eb Qendr\u00ebn e t\u00eb Dh\u00ebnave. Kompetencat e forta n\u00eb ndonj\u00eb fush\u00eb nuk pengojn\u00eb kalimin n\u00eb nj\u00eb drejtim tjet\u00ebr dhe fillimin e zhvillimit n\u00eb nj\u00eb fush\u00eb tjet\u00ebr. P\u00ebr shembull, un\u00eb u pun\u00ebsova n\u00eb kompani si ekspert p\u00ebr PostgreSQL, dhe tani zona ime kryesore e p\u00ebrgjegj\u00ebsis\u00eb jan\u00eb klaster\u00ebt Kubernetes. N\u00eb ekip, \u00e7do rritje \u00ebsht\u00eb e p\u00ebrsh\u00ebndetur, dhe ndjenja e mb\u00ebshtetjes \u00ebsht\u00eb shum\u00eb e zhvilluar.<\/p>\n<p>Megjithat\u00eb, ne jemi n\u00eb k\u00ebrkim t\u00eb talenteve. K\u00ebrkesat p\u00ebr kandidat\u00eb jan\u00eb mjaft standarde. Personalisht, p\u00ebr mua \u00ebsht\u00eb e r\u00ebnd\u00ebsishme q\u00eb nj\u00eb person t\u00eb integrohet n\u00eb kolektiv, t\u00eb jet\u00eb i pa konflikt dhe gjithashtu t\u00eb jet\u00eb n\u00eb gjendje t\u00eb mbroj\u00eb pik\u00ebpamjet e tij, t\u00eb d\u00ebshiroj\u00eb t\u00eb zhvillohet dhe t\u00eb mos ket\u00eb frik\u00eb t\u00eb b\u00ebj\u00eb di\u00e7ka t\u00eb re, duke propozuar idet\u00eb e veta. Gjithashtu, jan\u00eb t\u00eb nevojshme aft\u00ebsi n\u00eb programimin e gjuh\u00ebve t\u00eb script-it, njohuri t\u00eb bazave t\u00eb Linux dhe gjuh\u00ebs angleze. Anglishtja nevojitet thjesht p\u00ebr q\u00ebllim q\u00eb personi, n\u00eb rast problemi, t\u00eb mund t\u00eb k\u00ebrkoj\u00eb zgjidhje brenda 10 sekondave, e jo 10 minutave. Me specialist\u00ebt q\u00eb kan\u00eb njohuri t\u00eb thella n\u00eb Linux tani \u00ebsht\u00eb shum\u00eb e v\u00ebshtir\u00eb: \u00ebsht\u00eb qesharake, por dy kandidat\u00eb nga tre nuk mund t\u00eb p\u00ebrgjigjen n\u00eb pyetjen \u201c\u00c7far\u00eb \u00ebsht\u00eb Load Average? Nga \u00e7far\u00eb p\u00ebrballet?\u201d, nd\u00ebrsa pyetjen \u201cSi t\u00eb mbledhim core dump nga nj\u00eb program n\u00eb C\u201d e konsiderojn\u00eb di\u00e7ka nga bota e supernjer\u00ebzve\u2026 ose dinosaur\u00ebve. Kjo \u00ebsht\u00eb di\u00e7ka q\u00eb duhet pranuar, pasi zakonisht njer\u00ebzit kan\u00eb kompetenca t\u00eb tjera shum\u00eb t\u00eb zhvilluara, dhe ne do t'i m\u00ebsojm\u00eb \u2018linux\u2019-it. P\u00ebrgjigjen e pyetjes \u201cpse \u00ebsht\u00eb e nevojshme t\u00eb dihet kjo p\u00ebr nj\u00eb inxhinier DevOps n\u00eb bot\u00ebn moderne t\u00eb reve\u201d do ta l\u00ebm\u00eb jasht\u00eb k\u00ebtij artikulli, por n\u00ebse do t\u00eb thoshim n\u00eb tri fjal\u00eb: p\u00ebr \u00e7do gj\u00eb \u00ebsht\u00eb e nevojshme.<\/p>\n<h4>Ekipa e Tools<\/h4>\n<p>\nNj\u00eb rol t\u00eb konsideruesh\u00ebm n\u00eb automatizim luan ekipa e Tools. Detyra e tyre kryesore \u00ebsht\u00eb krijimi i mjeteve grafike dhe CLI t\u00eb p\u00ebrshtatshme p\u00ebr zhvilluesit. P\u00ebr shembull, zhvillimi yn\u00eb i brendsh\u00ebm Confer lejon q\u00eb p\u00ebrmes disa klikimeve t\u00eb nxirren aplikacionet n\u00eb Kubernetes, t\u00eb konfigurohen burimet e saj, \u00e7el\u00ebsat nga vault, etj. M\u00eb par\u00eb kishim Jenkins + Helm 2, por u desh t\u00eb zhvillonim nj\u00eb mjet t\u00eb ve\u00e7ant\u00eb p\u00ebr t\u00eb eliminuar kopjimin dhe ngjitjen dhe p\u00ebr t\u00eb sjell\u00eb nj\u00eb nj\u00ebsi n\u00eb ciklin e jet\u00ebs s\u00eb softuerit.<\/p>\n<p>Ekipa Ops nuk shkruan pipeline p\u00ebr zhvilluesit, por mund t\u00eb k\u00ebshilloj\u00eb p\u00ebr \u00e7do \u00e7\u00ebshtje n\u00eb lidhje me shkresat e tyre (disa akoma kan\u00eb Helm 3).<\/p>\n<h4>DevOps<\/h4>\n<p>\nP\u00ebr sa i p\u00ebrket DevOps, ne e shohim ashtu:<\/p>\n<p>Ekipa Dev shkruan kod, e nxjerr at\u00eb p\u00ebrmes Confer n\u00eb dev -&gt; qa\/stage -&gt; prod. P\u00ebrgjegj\u00ebsia p\u00ebr t\u00eb siguruar q\u00eb kodi t\u00eb mos ngadal\u00ebsohet dhe t\u00eb mos nxjerr\u00eb gabime, \u00ebsht\u00eb n\u00eb duar t\u00eb ekipeve Dev dhe Ops. Gjat\u00eb dit\u00ebs, reagimi ndaj incidentit me aplikacionin e tij duhet t\u00eb b\u00ebhet, n\u00eb radh\u00eb t\u00eb par\u00eb, nga turni i ekipit Ops, nd\u00ebrsa n\u00eb or\u00ebt e mbr\u00ebmjes dhe nat\u00ebs, administratori n\u00eb turn (Ops) duhet t\u00eb zgjoj\u00eb zhvilluesin n\u00eb turn, n\u00ebse e di me siguri q\u00eb problemi nuk ndodhet n\u00eb infrastruktur\u00eb. T\u00eb gjitha metrikat dhe alarmin n\u00eb monitorim shfaqen automatikisht ose gjysm\u00eb automatikisht.<\/p>\n<p>Zona e p\u00ebrgjegj\u00ebsis\u00eb Ops fillon n\u00eb momentin e lan\u00e7imit t\u00eb aplikacionit n\u00eb prodhim, por p\u00ebrgjegj\u00ebsia e Dev nuk mbaron k\u00ebtu \u2014 ne po b\u00ebjm\u00eb nj\u00eb pun\u00eb dhe jemi n\u00eb t\u00eb nj\u00ebjt\u00ebn kayak.<\/p>\n<p>Zhvilluesit konsultojn\u00eb administrator\u00ebt n\u00ebse kan\u00eb nevoj\u00eb p\u00ebr ndihm\u00eb n\u00eb shkruarjen e nj\u00eb mikrosh\u00ebrbimi administrativ (p.sh., Go backend + HTML5), nd\u00ebrsa administrator\u00ebt konsultojn\u00eb zhvilluesit p\u00ebr \u00e7do \u00e7\u00ebshtje infrastrukturore ose pyetje t\u00eb lidhura me k8s.<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, ne nuk kemi asnj\u00eb monolit, vet\u00ebm mikrosh\u00ebrbime. Numri i tyre aktualisht varion midis 900 dhe 1000 n\u00eb prodhimin e klasterit k8s, n\u00ebse matet sipas numrit t\u00eb <i>deployed<\/i>. Numri i pod-\u00ebve varion midis 1700 dhe 2000. Aktualisht ka rreth 2000 pod-e n\u00eb klasterin prodhues.<\/p>\n<p>Nuk mund t\u00eb jap numra t\u00eb sakt\u00eb, pasi ne ndjekim mikrosh\u00ebrbimet e panevojshme dhe i eliminojm\u00eb ato n\u00eb nj\u00eb mod t\u00eb gjysm\u00ebautomatizuar. Ndihma p\u00ebr t\u00eb monitoruar entitetet e panevojshme n\u00eb k8s na jep <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Nastradamus\/useless-operator\">useless-operator<\/a><\/noindex>, q\u00eb ndihmon n\u00eb ruajtjen e burimeve dhe parave.<\/p>\n<h2> Menaxhimi i burimeve <\/h2>\n<p><\/p>\n<h4> Monitorimi <\/h4>\n<p>\nThemel i r\u00ebnd\u00ebsish\u00ebm n\u00eb eksploatimin e nj\u00eb klasteri t\u00eb madh b\u00ebhet nj\u00eb monitorim i strukturuar dhe informues. Ne ende nuk kemi gjetur nj\u00eb zgjidhje universal q\u00eb t\u00eb mbuloj\u00eb 100% t\u00eb t\u00eb gjitha \"d\u00ebshirave\" p\u00ebr monitorim, prandaj her\u00eb pas here krijojm\u00eb zgjidhje t\u00eb ndryshme t\u00eb personalizuara n\u00eb k\u00ebt\u00eb fush\u00eb.<\/p>\n<ul>\n<li><b>Zabbix<\/b>. Monitorimi i vjet\u00ebr i mir\u00eb, i cili \u00ebsht\u00eb i destinuar, mbi t\u00eb gjitha, p\u00ebr t\u00eb ndjekur gjendjen e p\u00ebrgjithshme t\u00eb infrastruktur\u00ebs. Ai na tregon kur nj\u00eb nod\u00eb d\u00ebshton n\u00eb CPU, memorie, disqe, rrjet dhe k\u00ebshtu me radh\u00eb. Asgj\u00eb super natyrale, por gjithashtu kemi nj\u00eb DaemonSet t\u00eb ve\u00e7ant\u00eb nga agjent\u00ebt, me t\u00eb cil\u00ebt, p\u00ebr shembull, ne monitorojm\u00eb gjendjen e DNS n\u00eb klaster: gjejm\u00eb pod-et q\u00eb kan\u00eb ngadal\u00ebsuar coredns, kontrollojm\u00eb aksesin e hosteve t\u00eb jashtme. Mund t\u00eb duket se p\u00ebrse t\u00eb angazhohemi p\u00ebr k\u00ebt\u00eb, por n\u00eb volumin e madh t\u00eb trafikut, ky komponent \u00ebsht\u00eb nj\u00eb pik\u00eb e r\u00ebnd\u00ebsishme d\u00ebshtimi. M\u00eb par\u00eb kam folur <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/domclick\/blog\/495450\/\">e kam p\u00ebrshkruar.<\/a><\/noindex>, p\u00ebr m\u00ebnyr\u00ebn se si luftova me performanc\u00ebn e DNS n\u00eb klaster.<\/li>\n<li><b>Prometheus Operator<\/b>. Nj\u00eb grup i ndrysh\u00ebm eksportuesish ofron nj\u00eb p\u00ebrmbledhje t\u00eb gjer\u00eb t\u00eb t\u00eb gjith\u00eb komponent\u00ebve t\u00eb klasterit. M\u00eb pas e vizualizojm\u00eb t\u00eb gjith\u00eb k\u00ebt\u00eb n\u00eb tabela t\u00eb m\u00ebdha n\u00eb Grafana, dhe p\u00ebr njoftimet p\u00ebrdorim alertmanager.\n<\/li>\n<\/ul>\n<p>\nNj\u00eb tjet\u00ebr mjet i dobish\u00ebm p\u00ebr ne \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Nastradamus\/list-ingress\">list-ingress<\/a><\/noindex>. E shkruam k\u00ebt\u00eb pas disa her\u00ebsh q\u00eb u ndesh\u00ebm me situat\u00ebn kur nj\u00eb ekip mbulon rrug\u00ebt e Ingress-it t\u00eb ekipit tjet\u00ebr, duke shkaktuar gabime 50x. Tani para se t\u00eb vendoset n\u00eb prodhim, zhvilluesit kontrollojn\u00eb q\u00eb t\u00eb mos d\u00ebmtojn\u00eb ask\u00ebnd, dhe p\u00ebr ekipin tim ky \u00ebsht\u00eb nj\u00eb mjet i mir\u00eb p\u00ebr diagnoz\u00ebn fillestare t\u00eb problemeve me Ingress-at. \u00cbsht\u00eb interesante se fillimisht u shkrua p\u00ebr administrator\u00ebt dhe dukej mjaft \"e pap\u00ebrshtatshme\", por pasi q\u00eb mjeti u p\u00eblqeu ekipeve t\u00eb zhvillimit, ai u transformua shum\u00eb dhe nuk duket si \"administratori kreu nj\u00eb nd\u00ebrfaqe web p\u00ebr administrator\u00ebt\". Shpejt do ta heqim k\u00ebt\u00eb mjet dhe situatat e ngjashme do t\u00eb validohen edhe para se t\u00eb nxirret pipeline-i.<\/p>\n<h4>Burimet e ekipeve n\u00eb \u00abKube\u00bb<\/h4>\n<p>\nPara se t\u00eb fillojm\u00eb me shembujt, \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb shpjegojm\u00eb se si funksionon ndarja e burimeve p\u00ebr <i>mikrosh\u00ebrbimeve<\/i>.<\/p>\n<p>P\u00ebr t\u00eb kuptuar cilat ekipe dhe n\u00eb cilat sasi p\u00ebrdorin burimet e tyre <i>burimeve<\/i> (procesori, memoria, SSD lokal), ne i ndarim \u00e7do ekipi burimet e tij <i>namespace<\/i> n\u00eb \"Kube\" dhe kufizojm\u00eb mund\u00ebsit\u00eb maksimale t\u00eb tij p\u00ebr procesorin, kujtes\u00ebn dhe diskun, duke diskutuar m\u00eb par\u00eb nevojat e ekipeve. P\u00ebr m\u00eb tep\u00ebr, nj\u00eb ekip, n\u00eb p\u00ebrgjith\u00ebsi, nuk do t\u00eb bllokoj\u00eb t\u00ebr\u00eb klasterin p\u00ebr vendosje duke i rezervuar mij\u00ebra b\u00ebrthama dhe terabajt\u00eb kujtes\u00eb. Qasjet n\u00eb namespace jepen p\u00ebrmes AD (ne p\u00ebrdorim RBAC). Namespace-t dhe limitet e tyre shtohen p\u00ebrmes nj\u00eb pull-request n\u00eb depozitat GIT, dhe pastaj p\u00ebrmes pipeline-it Ansible gjith\u00e7ka shp\u00ebrndahet automatikisht.<\/p>\n<p>Shembull i ndarjes s\u00eb burimeve p\u00ebr ekipin:<\/p>\n<pre><code class=\"go\">namespaces:\n\n  chat-team:\n    pods: 23\n    limits:\n      cpu: 11\n      memory: 20Gi\n    requests:\n      cpu: 11\n      memory: 20Gi\n<\/code><\/pre>\n<p><\/p>\n<h4>K\u00ebrkesat dhe kufizimet<\/h4>\n<p>\nN\u00eb \u00abKube\u00bb <i>Request<\/i> \u2014 \u00ebsht\u00eb sasia e burimeve t\u00eb garantuara t\u00eb rezervuara p\u00ebr <i>pod<\/i> (nj\u00eb ose m\u00eb shum\u00eb konteiner\u00eb docker) n\u00eb klaster. Limit \u00ebsht\u00eb maksimumi i pa garantuar. Shpesh mund t\u00eb shihet n\u00eb grafik\u00eb si nj\u00eb ekip ka vendosur shum\u00eb k\u00ebrkesa p\u00ebr t\u00eb gjitha aplikacionet e tij dhe nuk mund ta vendos\u00eb aplikacionin n\u00eb \"Kube\", sepse t\u00eb gjitha k\u00ebrkesat e tyre n\u00eb namespace tashm\u00eb jan\u00eb \"shpenzuar\".<\/p>\n<p>Zgjidhja e duhur p\u00ebr nj\u00eb situat\u00eb t\u00eb till\u00eb: t\u00eb shikoni konsumimin real t\u00eb burimeve dhe ta krahasoni me sasin\u00eb e k\u00ebrkuar (Request).<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/417373d4421064f28d57a03b6bb5bf94.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/3168ad6dc8b159059b21e1177e145376.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb ekranet e m\u00ebsip\u00ebrme shihet se k\u00ebrkesat (Requested) e CPU-s\u00eb p\u00ebrshtaten me sasin\u00eb reale t\u00eb fijeve, nd\u00ebrsa kufijt\u00eb mund t\u00eb tejkalojn\u00eb sasin\u00eb reale t\u00eb fijeve t\u00eb procesor\u00ebve =)<\/p>\n<p>Tani do t\u00eb shqyrtojm\u00eb n\u00eb detaje ndonj\u00eb namespace (kam zgjedhur namespace kube-system \u2014 namespace sistemor p\u00ebr komponent\u00ebt e \"Kubit\") dhe do t\u00eb shohim marr\u00ebdh\u00ebnien midis koh\u00ebs s\u00eb v\u00ebrtet\u00eb t\u00eb p\u00ebrdorur t\u00eb procesorit dhe memories n\u00eb lidhje me at\u00eb q\u00eb \u00ebsht\u00eb k\u00ebrkuar:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/ed6160de5397b8cd39cbae172d4bb872.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cbsht\u00eb e qart\u00eb se p\u00ebr sh\u00ebrbimet sistemore \u00ebsht\u00eb rezervuar shum\u00eb m\u00eb tep\u00ebr memorie dhe CPU sesa p\u00ebrdoret realisht. N\u00eb rastin e kube-system, kjo \u00ebsht\u00eb e arsyeshme: ndodhi q\u00eb kontrolluesi i nginx ingress ose nodelocaldns n\u00eb pikat m\u00eb t\u00eb larta t\u00eb kapacitetit p\u00ebrdorin shum\u00eb CPU dhe marrin shum\u00eb RAM, prandaj kjo rezerva \u00ebsht\u00eb e arsyeshme. P\u00ebr m\u00eb tep\u00ebr, nuk mund t\u00eb mb\u00ebshtetemi n\u00eb grafikat e tre or\u00ebve t\u00eb fundit: \u00ebsht\u00eb e d\u00ebshirueshme t\u00eb shohim metrikat historike p\u00ebr nj\u00eb periudh\u00eb t\u00eb gjat\u00eb kohe.<\/p>\n<p>\u00cbsht\u00eb zhvilluar nj\u00eb sistem \"rekomandimesh\". P\u00ebr shembull, k\u00ebtu mund t\u00eb shihni se cil\u00ebt burime do t\u00eb ishte m\u00eb mir\u00eb t\u00eb rriteshin \"limitet\" (franca m\u00eb e lart\u00eb e lejuar), n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mos ndodhte \"trotlling\" (trotlling): momenti kur CPU ose memorie \u00ebsht\u00eb e shpenzuar p\u00ebr koh\u00ebn e caktuar dhe \u00ebsht\u00eb n\u00eb pritje, derisa t\u00eb \"rikthehet\":<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/f23aece10a585e6847bcacfe947031d1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDhe ja, pod-\u00ebt, t\u00eb cil\u00ebve do t\u00eb duhej t\u00eb kufizoheshin apetitet:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/1ec9996ce6355aeba603008d51aac209.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr <i>trotlling<\/i> + monitorimi i burimeve mund t\u00eb shkruaj\u00eb m\u00eb shum\u00eb se nj\u00eb artikull, prandaj b\u00ebni pyetje n\u00eb komentet. N\u00eb disa fjal\u00eb, mund t\u00eb them se detyra e automatizimit t\u00eb metrikave t\u00eb tilla \u00ebsht\u00eb mjaft e v\u00ebshtir\u00eb dhe k\u00ebrkon shum\u00eb koh\u00eb dhe ekvilibristik\u00eb me funksionet \"windowed\" dhe \"CTE\" t\u00eb Prometheus \/ VictoriaMetrics (k\u00ebto terma jan\u00eb t\u00eb kompletuar n\u00eb thonj\u00ebza, pasi n\u00eb PromQL pothuajse nuk ka asgj\u00eb t\u00eb till\u00eb, dhe duhet t\u00eb b\u00ebjm\u00eb k\u00ebrkesa t\u00eb tmerrshme q\u00eb z\u00ebn\u00eb disa ekrane teksti dhe t\u00eb merremi me optimizimin e tyre).<\/p>\n<p>Si rezultat, zhvilluesit kan\u00eb mjete p\u00ebr t\u00eb monitoruar namespace-t e tyre n\u00eb \"Kub\", dhe ata jan\u00eb n\u00eb gjendje t\u00eb zgjedhin vet\u00eb se ku dhe n\u00eb cil\u00ebn koh\u00eb t\u00eb cilat aplikacione mund t\u00eb \"privojn\u00eb\" burimet, dhe cil\u00ebt pod-e mund t\u00eb iu japin gjith\u00eb CPU-n\u00eb p\u00ebr gjith\u00eb nat\u00ebn.<\/p>\n<h4>Metodologjit\u00eb<\/h4>\n<p>\nN\u00eb kompani, si\u00e7 \u00ebsht\u00eb tani <i>n\u00eb mod\u00eb<\/i>, ne ndjekim praktikat e DevOps- dhe <i>SRE<\/i>-ja. Kur n\u00eb kompanin\u00eb ka 1000 mikrosherbime, rreth 350 zhvillues dhe 15 admin\u00eb p\u00ebr t\u00eb gjith\u00eb infrastruktur\u00ebn, duhet t\u00eb \"jemi modern\": pas gjith\u00eb k\u00ebtyre \"buzzword-eve\" fshihet nj\u00eb nevoj\u00eb e fort\u00eb p\u00ebr automatizimin e gjith\u00e7kaje, dhe admin\u00ebt nuk duhet t\u00eb jen\u00eb nj\u00eb ngushtic\u00eb n\u00eb proceset.<\/p>\n<p>Si Ops, ne ofrojm\u00eb metrika t\u00eb ndryshme dhe dashboard-e p\u00ebr zhvilluesit, t\u00eb lidhura me shpejt\u00ebsin\u00eb e p\u00ebrgjigjeve t\u00eb sh\u00ebrbimeve dhe gabimet e tyre.<\/p>\n<p>Ne p\u00ebrdorim metodologji t\u00eb tilla si: <noindex><a rel=\"nofollow\" href=\"https:\/\/thenewstack.io\/monitoring-microservices-red-method\/\">RED<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/www.brendangregg.com\/usemethod.html\">USE<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/forepaas\/distributed-monitoring-101-the-four-golden-signals-305bbbc33d35\">Sinjalet e Art\u00eb<\/a><\/noindex>, duke i kombinojm\u00eb ato s\u00eb bashku. Punohemi p\u00ebr t\u00eb minimizuar numrin e tabelave, n\u00eb m\u00ebnyr\u00eb q\u00eb me nj\u00eb shikim t\u00eb vet\u00ebm t\u00eb kuptohet se cilat sh\u00ebrbime tani jan\u00eb n\u00eb r\u00ebnie (p\u00ebr shembull, kodet e p\u00ebrgjigjeve n\u00eb sekond\u00eb, koha e p\u00ebrgjigjes n\u00eb percentilin 99), dhe k\u00ebshtu me radh\u00eb. Sa her\u00eb q\u00eb nevojiten ndonj\u00eb metrik\u00eb e re p\u00ebr tabelat e p\u00ebrbashk\u00ebta, ne menj\u00ebher\u00eb i vizatojm\u00eb dhe i shtojm\u00eb.<\/p>\n<p><i>Nuk kam vizatuar grafik\u00eb p\u00ebr nj\u00eb muaj. Ndoshta, ky \u00ebsht\u00eb nj\u00eb shenj\u00eb e mir\u00eb: do t\u00eb thot\u00eb se shumica e 'd\u00ebshirave' tashm\u00eb jan\u00eb realizuar. Ka pasur raste kur gjat\u00eb jav\u00ebs kam vizatuar ndonj\u00eb grafik t\u00eb ri t\u00eb pakt\u00ebn nj\u00eb her\u00eb n\u00eb dit\u00eb.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/574f1b4d2be78fb779f1771bffac51dd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/6ab2aa05f912839b14bdbcf84faaeb3a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRezultati i arritur \u00ebsht\u00eb i \u00e7muar sepse tani zhvilluesit rrall\u00eb shkojn\u00eb te administrator\u00ebt me pyetje 'ku mund t\u00eb shoh ndonj\u00eb metrik\u00eb'.<\/p>\n<p>Zbatimi <i>Service Mesh<\/i> nuk \u00ebsht\u00eb larg dhe do t\u00eb b\u00ebj\u00eb shum\u00eb m\u00eb t\u00eb leht\u00eb jet\u00ebn e t\u00eb gjith\u00ebve, koleg\u00ebt nga Tools jan\u00eb af\u00ebr zbatimit t\u00eb nj\u00eb 'Istio t\u00eb sh\u00ebndosh\u00eb': cikli i jet\u00ebs s\u00eb \u00e7do k\u00ebrkese HTTP(s) do t\u00eb jet\u00eb i duksh\u00ebm n\u00eb monitorim, dhe gjithmon\u00eb do t\u00eb jet\u00eb e mundur t\u00eb kuptohet 'n\u00eb cilin hap gjith\u00e7ka u prish' gjat\u00eb nd\u00ebrveprimit nd\u00ebr-sh\u00ebrbim (dhe jo vet\u00ebm). Regjistrohuni p\u00ebr njoftimet e qendr\u00ebs s\u00eb kompanis\u00eb DomKlik. =)<\/p>\n<h2>Mb\u00ebshtetje p\u00ebr infrastruktur\u00ebn Kubernetes<\/h2>\n<p>\nHistorikisht, ne kemi p\u00ebrdorur versionin e patch-uar <i>Kubespray<\/i> \u2014 Roli Ansible p\u00ebr vendosjen, zgjerimin dhe p\u00ebrdit\u00ebsimin e Kubernetes. N\u00eb nj\u00eb moment, mb\u00ebshtetja p\u00ebr instalimet non-kubeadm u hoq nga dega kryesore, dhe procesi i kalimit n\u00eb kubeadm nuk u propozua. Si rezultat, kompania Southbridge b\u00ebri fork-un e saj (me mb\u00ebshtetje p\u00ebr kubeadm dhe nj\u00eb zgjidhje t\u00eb shpejt\u00eb p\u00ebr problemet kritike). <\/p>\n<p>Procesi i p\u00ebrdit\u00ebsimit t\u00eb t\u00eb gjith\u00eb klaster\u00ebve k8s duket k\u00ebshtu:<\/p>\n<ul>\n<li>Marrim <i>Kubespray<\/i> nga Southbridge, e kontrollojm\u00eb me deg\u00ebn ton\u00eb, dhe e bashkojm\u00eb.<\/li>\n<li>Nxjerrim p\u00ebrdit\u00ebsimin n\u00eb <i>Stress<\/i>- 'Kub'.<\/li>\n<li>Nxjerrim p\u00ebrdit\u00ebsimin nj\u00eb nod\u00eb n\u00eb nj\u00eb koh\u00eb (n\u00eb Ansible, kjo \u00ebsht\u00eb 'serial: 1') n\u00eb <i>Dev<\/i>- 'Kub'.<\/li>\n<li>P\u00ebrdit\u00ebsojm\u00eb <i>Prod<\/i> n\u00eb mbr\u00ebmjen e s\u00eb shtun\u00ebs, nj\u00eb nod\u00eb n\u00eb nj\u00eb koh\u00eb.<\/li>\n<\/ul>\n<p>\nN\u00eb t\u00eb ardhmen, ka plane p\u00ebr t\u00eb z\u00ebvend\u00ebsuar <i>Kubespray<\/i> me di\u00e7ka m\u00eb t\u00eb shpejt\u00eb dhe p\u00ebr t\u00eb kaluar n\u00eb <i>kubeadm<\/i>.<\/p>\n<p>Kemi gjithsej tre 'Kuba': Stress, Dev dhe Prod. Planifikojm\u00eb t\u00eb lan\u00e7ojm\u00eb nj\u00eb tjet\u00ebr ('hot standby') Prod-'Kubin' n\u00eb Qendr\u00ebn e Dyt\u00eb t\u00eb t\u00eb Dh\u00ebnave.<i>jetojn\u00eb n\u00eb 'virtualka' (oVirt p\u00ebr Stress dhe VMWare cloud p\u00ebr Dev).<\/i>- 'Kubi' jeton n\u00eb 'metal t\u00eb zbraz\u00ebt' (bare metal): k\u00ebto jan\u00eb nod\u00eb t\u00eb nj\u00ebjta me 32 CPU threads, 64-128 GB RAM dhe 300 GB SSD RAID 10 \u2014 gjithsej 50 cop\u00eb. Tre nod\u00eb 't\u00eb holla' jan\u00eb ndar\u00eb p\u00ebr 'masterat' <i>Stress<\/i> dhe <i>Dev<\/i> - 'Kubit': 16 GB RAM, 12 CPU threads. <i>Prod<\/i>P\u00ebr prodhimin e preferuar, ne p\u00ebrdorim 'metal t\u00eb zbraz\u00ebt' dhe shmangim shtresa t\u00eb tep\u00ebrta si <i>Prod<\/i>OpenStack<\/p>\n<p>: nuk na duhen 'fqinj\u00eb t\u00eb zhurmsh\u00ebm' dhe koh\u00eb t\u00eb marr\u00eb nga CPU <i>steal time<\/i>: <i>vjedh koh\u00ebn<\/i>. Po ashtu, kompleksiteti i administrat\u00ebs rritet p\u00ebraf\u00ebrsisht dyfish n\u00eb rastin e OpenStack in-house.<\/p>\n<p>P\u00ebr CI\/CD t\u00eb 'Kube' dhe komponenteve t\u00eb tjera infrastrukturore p\u00ebrdorim nj\u00eb server t\u00eb ve\u00e7ant\u00eb GIT, Helm 3 (kaluam mjaft dhimbsh\u00ebm nga Helm 2, por jemi shum\u00eb t\u00eb lumtur me opsionin <i>atomic<\/i>), Jenkins, Ansible dhe Docker. Na p\u00eblqejn\u00eb feature-brancha dhe deploy n\u00eb ambientet e ndryshme nga nj\u00eb depo.<\/p>\n<h3>P\u00ebrfundim<\/h3>\n<p><img decoding=\"async\" alt=\"Kubernetes n\u00eb DomKlik: si t\u00eb flesh i qet\u00eb duke menaxhuar nj\u00eb klaster me 1000 mikrosherbime\" src=\"\/wp-content\/uploads\/2020\/08\/34ddcd1f275c63c1ad821218d16b5abb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nK\u00ebshtu, n\u00eb p\u00ebrmbledhje, procesi DevOps n\u00eb kompanin\u00eb DomKlik duket nga perspektiva e inxhinierit t\u00eb operacioneve. Artikulli doli m\u00eb pak teknik nga sa e prisja: ndaj, q\u00ebndroni t\u00eb informuar p\u00ebr lajmet e DomKlik n\u00eb Habr: do t\u00eb ket\u00eb artikuj m\u00eb 'hardcore' rreth Kubernetes dhe m\u00eb shum\u00eb.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/domclick\/blog\/501122\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0412\u0438\u043a\u0442\u043e\u0440 \u042f\u0433\u043e\u0444\u0430\u0440\u043e\u0432, \u0438 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c Kubernetes-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0414\u043e\u043c\u041a\u043b\u0438\u043a \u0432 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 Ops (\u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f). \u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 Dev &lt;-&gt; Ops, \u043e\u0431 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u0445 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 k8s-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e DevOps\/SRE-\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 Ops \u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 Ops [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":91200,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-91199","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=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0412\u0438\u043a\u0442\u043e\u0440 \u042f\u0433\u043e\u0444\u0430\u0440\u043e\u0432, \u0438 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c Kubernetes-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0414\u043e\u043c\u041a\u043b\u0438\u043a \u0432 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 Ops (\u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f).\" \/>\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\/kubernetes-v-domklik-kak-spat-spokojno-upravlyaya-klasterom-na-1000-mikroservisov\" \/>\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\udd47Kubernetes \u0432 \u0414\u043e\u043c\u041a\u043b\u0438\u043a: \u043a\u0430\u043a \u0441\u043f\u0430\u0442\u044c \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u043c \u043d\u0430 1000 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0412\u0438\u043a\u0442\u043e\u0440 \u042f\u0433\u043e\u0444\u0430\u0440\u043e\u0432, \u0438 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c Kubernetes-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0414\u043e\u043c\u041a\u043b\u0438\u043a \u0432 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 Ops (\u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-v-domklik-kak-spat-spokojno-upravlyaya-klasterom-na-1000-mikroservisov\" \/>\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-08-09T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-09T23:42:03+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\udd47Kubernetes n\u00eb DomKlik: si t\u00eb flini qet\u00eb duke menaxhuar nj\u00eb kluster me 1000 mikrosh\u00ebrbime | ProHoster","description":"Un\u00eb quhem Viktor Yagofarov, dhe merrem me zhvillimin e platform\u00ebs Kubernetes n\u00eb kompanin\u00eb DomKlik n\u00eb pozit\u00ebn e drejtuesit teknik t\u00eb zhvillimit n\u00eb ekipin Ops (operacione).","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-v-domklik-kak-spat-spokojno-upravlyaya-klasterom-na-1000-mikroservisov","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\udd47Kubernetes \u0432 \u0414\u043e\u043c\u041a\u043b\u0438\u043a: \u043a\u0430\u043a \u0441\u043f\u0430\u0442\u044c \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u043c \u043d\u0430 1000 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 | ProHoster","og:description":"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0412\u0438\u043a\u0442\u043e\u0440 \u042f\u0433\u043e\u0444\u0430\u0440\u043e\u0432, \u0438 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c Kubernetes-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0414\u043e\u043c\u041a\u043b\u0438\u043a \u0432 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 Ops (\u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f).","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-v-domklik-kak-spat-spokojno-upravlyaya-klasterom-na-1000-mikroservisov","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-08-09T23:42:03+00:00","article:modified_time":"2020-08-09T23:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"91199","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 12:32:23","updated":"2022-09-28 06:43:59","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\/91199","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=91199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/91199\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/91200"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=91199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=91199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=91199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}