{"id":56259,"date":"2020-02-08T00:00:00","date_gmt":"2020-02-07T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/rabochie-uzly-kubernetes-mnogo-malenkih-ili-neskolko-bolshih"},"modified":"2020-02-18T14:04:30","modified_gmt":"2020-02-18T11:04:30","slug":"rabochie-uzly-kubernetes-mnogo-malenkih-ili-neskolko-bolshih","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/rabochie-uzly-kubernetes-mnogo-malenkih-ili-neskolko-bolshih","title":{"rendered":"Nodet punuese t\u00eb Kubernetes: shum\u00eb t\u00eb vogla apo disa t\u00eb m\u00ebdha?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Nodet punuese t\u00eb Kubernetes: shum\u00eb t\u00eb vogla apo disa t\u00eb m\u00ebdha?\" src=\"\/wp-content\/uploads\/2020\/02\/f3b0d071dc6f09002c1d6165317e7998.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKur krijoni nj\u00eb klaster Kubernetes, mund t\u00eb lindin pyetje: sa node pune t\u00eb konfiguroni dhe \u00e7far\u00eb lloji? Cila \u00ebsht\u00eb m\u00eb e mira p\u00ebr nj\u00eb klaster on-premise: t\u00eb blini disa server\u00eb t\u00eb fuqish\u00ebm ose t\u00eb angazhoni nj\u00eb duzin\u00eb makinerish t\u00eb vjetra n\u00eb qendr\u00ebn tuaj t\u00eb t\u00eb dh\u00ebnave? Dhe n\u00eb cloud, \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb merrni tet\u00eb instance me nj\u00eb b\u00ebrtham\u00eb ose dy me kat\u00ebr b\u00ebrthama? <\/p>\n<p>P\u00ebrgjigjet p\u00ebr k\u00ebto pyetje jan\u00eb n\u00eb artikullin <noindex><a rel=\"nofollow\" href=\"https:\/\/learnk8s.io\/kubernetes-node-size\">t\u00eb Daniel Weibels, inxhinier programues dhe m\u00ebsues n\u00eb projektin m\u00ebsues Learningk8s<\/a><\/noindex> n\u00eb p\u00ebrkthimin e ekipit <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/containers\/\">Kubernetes aaS nga Mail.ru<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kapaciteti i klasterit<\/h2>\n<p>\nN\u00eb p\u00ebrgjith\u00ebsi, nj\u00eb klaster Kubernetes mund t\u00eb konsiderohet si nj\u00eb \"super-node\" i madh. Kapaciteti i tij i p\u00ebrgjithsh\u00ebm t\u00eb llogaritur \u00ebsht\u00eb shuma e kapacitetit t\u00eb t\u00eb gjith\u00eb node-ve p\u00ebrb\u00ebr\u00ebse. <\/p>\n<p>Ekzistojn\u00eb disa m\u00ebnyra p\u00ebr t\u00eb arritur kapacitetin e d\u00ebshiruar t\u00eb klasterit. P\u00ebr shembull, na nevojitet nj\u00eb klaster me nj\u00eb kapacitet total prej 8 b\u00ebrthamash procesorike dhe 32 GB memorie RAM, sepse grupi i aplikacioneve k\u00ebrkon nj\u00eb sasi t\u00eb till\u00eb burimesh. At\u00ebher\u00eb mund t\u00eb instaloni dy node me 16 GB memorie ose kat\u00ebr node me 8 GB memorie, dy procesor\u00eb kat\u00ebr b\u00ebrthamor\u00eb ose kat\u00ebr procesor\u00eb me dy b\u00ebrthama.<\/p>\n<p>Ja vet\u00ebm dy m\u00ebnyra t\u00eb mundshme p\u00ebr t\u00eb krijuar nj\u00eb klaster:<\/p>\n<p><img decoding=\"async\" alt=\"Nodet punuese t\u00eb Kubernetes: shum\u00eb t\u00eb vogla apo disa t\u00eb m\u00ebdha?\" src=\"\/wp-content\/uploads\/2020\/02\/bf616be424b2b25204490f8f09eea436.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nT\u00eb dy opsionet ofrojn\u00eb nj\u00eb klaster me t\u00eb nj\u00ebjtin kapacitet, por n\u00eb konfigurimin m\u00eb posht\u00eb jan\u00eb vendosur kat\u00ebr node m\u00eb t\u00eb vogla, ndryshe nga konfigurimi m\u00eb sip\u00ebr me dy node m\u00eb t\u00eb m\u00ebdhenj. <\/p>\n<h3>Cila \u00ebsht\u00eb alternativa m\u00eb e mir\u00eb?<\/h3>\n<p>\nP\u00ebr t'iu p\u00ebrgjigjur k\u00ebtij pyetje, le t\u00eb shqyrtojm\u00eb avantazhet e t\u00eb dy opsioneve. I kemi paraqitur ato n\u00eb nj\u00eb tabel\u00eb.<\/p>\n<p>Disa node t\u00eb m\u00ebdhenj<\/p>\n<p>Shum\u00eb node t\u00eb vogla<\/p>\n<p>Menaxhimi i klasterit \u00ebsht\u00eb m\u00eb i thjesht\u00eb (n\u00ebse \u00ebsht\u00eb on-premise)<\/p>\n<p>Autoskalarimi funksionon m\u00eb mir\u00eb<\/p>\n<p>M\u00eb lir\u00eb (n\u00ebse \u00ebsht\u00eb on-premise) <\/p>\n<p>\u00c7mimi ndonj\u00ebher\u00eb \u00ebsht\u00eb i ngjash\u00ebm (n\u00eb cloud) <\/p>\n<p>Mund t\u00eb ekzekutoni aplikacione me burime t\u00eb r\u00ebnda <\/p>\n<p>Replikimi i plot\u00eb<\/p>\n<p>Burimet p\u00ebrdoren m\u00eb efikasish\u00ebm (me m\u00eb pak overhead p\u00ebr demon\u00ebt e sistemit)<br \/>\nQ\u00ebndrueshm\u00ebria e klasterit \u00ebsht\u00eb m\u00eb e lart\u00eb<\/p>\n<p>Vini re se po flasim vet\u00ebm p\u00ebr node punuese. Zgjedhja e numrit dhe madh\u00ebsis\u00eb s\u00eb node-ve kryesor \u00ebsht\u00eb nj\u00eb tem\u00eb krejt\u00ebsisht tjet\u00ebr.<\/p>\n<p>Pra, le t\u00eb diskutojm\u00eb m\u00eb n\u00eb detaje p\u00ebr secil\u00ebn pik\u00eb nga tabela.<\/p>\n<h2>Opsioni i par\u00eb: disa node t\u00eb m\u00ebdhenj<\/h2>\n<p>\nOpsioni m\u00eb ekstrem \u00ebsht\u00eb nj\u00eb node pune p\u00ebr t\u00eb gjith\u00eb kapacitetin e klasterit. N\u00eb shembullin lart, kjo do t\u00eb ishte nj\u00eb node pune me 16 b\u00ebrthama CPU dhe 16 GB memorie RAM.<\/p>\n<h3>Pikat pozitive <\/h3>\n<p>\n<b>Avantazhi # 1. Menaxhimi \u00ebsht\u00eb m\u00eb i thjesht\u00eb<\/b><br \/>\n\u00cbsht\u00eb m\u00eb e leht\u00eb t\u00eb menaxhosh disa makina sesa t\u00eb menaxhosh nj\u00eb park t\u00eb t\u00ebr\u00eb. Aktualizimet dhe rregullimet realizohen m\u00eb shpejt, dhe sinkronizimi \u00ebsht\u00eb m\u00eb i thjesht\u00eb. Numri i nd\u00ebrprerjeve n\u00eb shifra absolute \u00ebsht\u00eb gjithashtu m\u00eb i vog\u00ebl.<\/p>\n<blockquote><p>Kujdes, gjith\u00eb kjo e th\u00ebn\u00eb \u00ebsht\u00eb p\u00ebr harduerin tuaj, p\u00ebr server\u00ebt tuaj, dhe jo p\u00ebr instancat cloud.<\/p><\/blockquote>\n<p>\nSituata n\u00eb cloud \u00ebsht\u00eb ndryshe. Atje menaxhimi b\u00ebhet nga ofruesi i sh\u00ebrbimeve cloud. Pra, menaxhimi i dhjet\u00eb nyjave n\u00eb cloud nuk ndryshon shum\u00eb nga menaxhimi i nj\u00eb nyje.<\/p>\n<p>Routimi i trafikut dhe shp\u00ebrndarja e ngarkes\u00ebs midis pod-\u00ebve n\u00eb cloud <noindex><a rel=\"nofollow\" href=\"https:\/\/learnk8s.io\/blog\/kubernetes-chaos-engineering-lessons-learned\">kryhet automatikisht<\/a><\/noindex>: trafiku q\u00eb vjen nga interneti drejtohet n\u00eb balancuesin kryesor t\u00eb ngarkes\u00ebs, i cili e drejton trafikun n\u00eb portin e nj\u00eb nga nyjave (sh\u00ebrbimi NodePort vendos nj\u00eb port n\u00eb intervalin 30000-32767 n\u00eb \u00e7do nyje t\u00eb klasterit). Rregullat e themeluara nga kube-proxy e ridrejtojn\u00eb trafikun nga nyja n\u00eb pod. K\u00ebshtu duket p\u00ebr dhjet\u00eb pod n\u00eb dy nyje:<\/p>\n<p><img decoding=\"async\" alt=\"Nodet punuese t\u00eb Kubernetes: shum\u00eb t\u00eb vogla apo disa t\u00eb m\u00ebdha?\" src=\"\/wp-content\/uploads\/2020\/02\/bdcd025d1315997df52017d68e38447f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Pika e dyt\u00eb. M\u00eb pak shpenzime p\u00ebr nyje<\/b><br \/>\nNj\u00eb makin\u00eb e fuqishme \u00ebsht\u00eb m\u00eb e shtrenjt\u00eb, por rritja e \u00e7mimit nuk \u00ebsht\u00eb domosdoshm\u00ebrisht lineare. N\u00eb fjal\u00eb t\u00eb tjera, nj\u00eb server me dhjet\u00eb t\u00eb b\u00ebrthamave me 10 GB RAM zakonisht \u00ebsht\u00eb m\u00eb i lir\u00eb se dhjet\u00eb nj\u00eb-b\u00ebrthamash me t\u00eb nj\u00ebjtin sasi RAM.<\/p>\n<blockquote><p>Por kujdes, kjo rregull \u00ebsht\u00eb zakonisht e pavlefshme n\u00eb sh\u00ebrbimet cloud. N\u00eb skemat aktuale t\u00eb \u00e7mimit, te t\u00eb gjith\u00eb ofruesit kryesor\u00eb t\u00eb sh\u00ebrbimeve cloud, \u00e7mimet rriten linearisht me rritjen e kapacitetit.<\/p><\/blockquote>\n<p>\nPra, n\u00eb cloud zakonisht nuk mund t\u00eb kursesh p\u00ebr server\u00eb m\u00eb t\u00eb fuqish\u00ebm.<\/p>\n<p><b>Pika e tret\u00eb. Mund t\u00eb nisni aplikacione k\u00ebrkuese t\u00eb resurseve<\/b><br \/>\nDisa aplikacione k\u00ebrkojn\u00eb server\u00eb t\u00eb fuqish\u00ebm n\u00eb klaster. P\u00ebr shembull, n\u00ebse nj\u00eb sistem m\u00ebsimi t\u00eb makineris\u00eb k\u00ebrkon 8 GB RAM, nuk mund ta nisin at\u00eb n\u00eb nyja me 1 GB, por vet\u00ebm n\u00ebse ka t\u00eb pakt\u00ebn nj\u00eb nyje t\u00eb madhe pune.<\/p>\n<h3>Disavantazhet <\/h3>\n<p>\n<b>Mang\u00ebsi \u2116 1. Shum\u00eb pod'\u00eb n\u00eb nyje<\/b><br \/>\nN\u00ebse t\u00eb nj\u00ebjt\u00ebn detyr\u00eb e realizon me nj\u00eb num\u00ebr m\u00eb t\u00eb vog\u00ebl nyjesh, at\u00ebher\u00eb natyrisht \u00e7do nyje do t\u00eb ket\u00eb m\u00eb shum\u00eb pod'\u00eb.<\/p>\n<p>Kjo mund t\u00eb b\u00ebhet nj\u00eb problem.<\/p>\n<p>Arsyeja \u00ebsht\u00eb se \u00e7do modul sjell disa t\u00eb dh\u00ebna mbi overhead-in n\u00eb ambientin e ekzekutimit t\u00eb kontejner\u00ebve (p.sh., Docker), si dhe n\u00eb kubelet dhe cAdvisor.<\/p>\n<p>P\u00ebr shembull, kubelet rregullisht v\u00ebrteton q\u00ebndrueshm\u00ebrin\u00eb e t\u00eb gjith\u00eb kontejner\u00ebve n\u00eb nyj\u00eb - sa m\u00eb shum\u00eb kontejner\u00eb, aq m\u00eb shum\u00eb pun\u00eb p\u00ebr kubelet.<\/p>\n<p>CAdvisor mbledh statistika p\u00ebr p\u00ebrdorimin e resurseve t\u00eb t\u00eb gjitha kontejner\u00ebve n\u00eb nod, nd\u00ebrsa kubelet k\u00ebrkon rregullisht k\u00ebt\u00eb informacion dhe e ofron at\u00eb p\u00ebrmes API. S\u00ebrish, sa m\u00eb shum\u00eb kontejner\u00eb, aq m\u00eb shum\u00eb pun\u00eb p\u00ebr cAdvisor dhe kubelet.<\/p>\n<p>N\u00ebse numri i moduleve rritet, kjo mund t\u00eb ngadal\u00ebsoj\u00eb sistemin dhe madje ta d\u00ebmtoj\u00eb besueshm\u00ebrin\u00eb e tij.<\/p>\n<p><img decoding=\"async\" alt=\"Nodet punuese t\u00eb Kubernetes: shum\u00eb t\u00eb vogla apo disa t\u00eb m\u00ebdha?\" src=\"\/wp-content\/uploads\/2020\/02\/8acef8172ad22eb5b9668df8ce4139f8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00eb depoja Kubernetes disa <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/issues\/45419\">kan\u00eb ankuar<\/a><\/noindex>, q\u00eb nodet l\u00ebvizin nd\u00ebrmjet statusit Ready\/NotReady, pasi kontrollet e rregullta t\u00eb kubelet p\u00ebr t\u00eb gjith\u00eb kontejner\u00ebt n\u00eb nod k\u00ebrkojn\u00eb shum\u00eb koh\u00eb. <br \/>\nP\u00ebr k\u00ebt\u00eb arsye, Kubernetes <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/setup\/best-practices\/cluster-large\/\">k\u00ebshillon q\u00eb t\u00eb vendosen jo m\u00eb shum\u00eb se 110 pod'\u00eb n\u00eb nyje<\/a><\/noindex>. N\u00eb var\u00ebsi t\u00eb performanc\u00ebs s\u00eb nodit, mund t\u00eb ekzekutoni m\u00eb shum\u00eb pod-e n\u00eb nod, por \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb parashikohet n\u00ebse do t\u00eb ket\u00eb probleme apo do t\u00eb funksionoj\u00eb mir\u00eb. \u00cbsht\u00eb mir\u00eb ta testoni paraprakisht. <\/p>\n<p><b>Minus Nr. 2. Kufizimi i replikimit<\/b><br \/>\nNumri shum\u00eb i vog\u00ebl i nodve kufizon shkall\u00ebn efektive t\u00eb replikimit t\u00eb aplikacioneve. P\u00ebr shembull, n\u00ebse keni nj\u00eb aplikacion me disponueshm\u00ebri t\u00eb lart\u00eb me pes\u00eb replika, por vet\u00ebm dy nod, at\u00ebher\u00eb shkalla efektive e replikimit t\u00eb aplikacionit zvog\u00eblohet n\u00eb dy.<\/p>\n<p>Pes\u00eb replika mund t\u00eb shp\u00ebrndahen vet\u00ebm n\u00eb dy nod, dhe n\u00ebse nj\u00eb nga ato d\u00ebshton, menj\u00ebher\u00eb d\u00ebmton disa replika.<\/p>\n<p>N\u00ebse keni pes\u00eb nod ose m\u00eb shum\u00eb, \u00e7do replik\u00eb do t\u00eb ekzekutohet n\u00eb nj\u00eb nod t\u00eb ve\u00e7ant\u00eb, dhe d\u00ebshtimi i nj\u00eb nodi do t\u00eb eliminoj\u00eb maksimum nj\u00eb replik\u00eb.<\/p>\n<p>K\u00ebshtu, k\u00ebrkesat p\u00ebr disponueshm\u00ebri t\u00eb lart\u00eb mund t\u00eb k\u00ebrkojn\u00eb nj\u00eb num\u00ebr minimal nodesh n\u00eb klaster.<\/p>\n<p><b>Minus Nr. 3. Pasojat m\u00eb t\u00eb k\u00ebqija t\u00eb d\u00ebshtimit<\/b><br \/>\nMe nj\u00eb num\u00ebr t\u00eb vog\u00ebl nodesh, \u00e7do d\u00ebshtim sjell pasoja m\u00eb t\u00eb r\u00ebnda. P\u00ebr shembull, n\u00ebse keni vet\u00ebm dy nod, dhe nj\u00eb prej tyre d\u00ebshton, menj\u00ebher\u00eb humbet gjysm\u00ebn e moduleve tuaja.<\/p>\n<p>Natyrisht, Kubernetes do ta transferoj\u00eb ngarkes\u00ebn e pun\u00ebs nga nodi i d\u00ebshtuar n\u00eb t\u00eb tjer\u00ebt. Por n\u00ebse ato jan\u00eb t\u00eb pakta, mund t\u00eb mos ket\u00eb kapacitet t\u00eb mjaftuesh\u00ebm t\u00eb lir\u00eb. Si rezultat, disa nga aplikacionet tuaja do t\u00eb jen\u00eb t\u00eb paqasshme derisa t\u00eb ngrihet nodi i d\u00ebshtuar.<\/p>\n<p>Pra, aq m\u00eb shum\u00eb nodet, aq m\u00eb pak ndikimi i d\u00ebshtimeve harduese.<\/p>\n<p><b>Minus Nr. 4. M\u00eb shum\u00eb hapa t\u00eb automatik\u00ebs<\/b><br \/>\nN\u00eb Kubernetes funksionon nj\u00eb sistem i automatik\u00ebs p\u00ebr shkall\u00ebzimin e klastereve p\u00ebr infrastruktur\u00ebn cloud, i cili lejon shtimin ose heqjen automatikisht t\u00eb nyjave n\u00eb var\u00ebsi t\u00eb nevojave aktuale. Me nyje t\u00eb m\u00ebdha, shkall\u00ebzimi b\u00ebhet m\u00eb abrupt dhe i ngath\u00ebt. P\u00ebr shembull, n\u00ebse keni dy nyje, shtimi i nj\u00eb nyje t\u00eb re do t\u00eb rris\u00eb kapacitetin e klasterit menj\u00ebher\u00eb me 50%. Dhe do t'ju duhet t\u00eb paguani p\u00ebr k\u00ebto burime, edhe n\u00ebse nuk i nevojiten.<\/p>\n<p>Prandaj, n\u00ebse planifikoni t\u00eb p\u00ebrdorni automatik\u00ebn p\u00ebr shkall\u00ebzimin e klasterit, aq m\u00eb t\u00eb vogla t\u00eb jen\u00eb nyjat \u2014 aq m\u00eb fleksib\u00ebl dhe ekonomik do t\u00eb jet\u00eb shkall\u00ebzimi.<\/p>\n<p>Tani le t\u00eb shqyrtojm\u00eb avantazhet dhe disavantazhet e nj\u00eb numri t\u00eb madh nyjash t\u00eb vogla.<\/p>\n<h2>Varianti i dyt\u00eb: shum\u00eb nyje t\u00eb vogla<\/h2>\n<p>\nP\u00ebrfitimet e k\u00ebtij qasjeje, n\u00eb thelb, rrjedhin nga disavantazhet e variantit t\u00eb kund\u00ebrt me disa nyje t\u00eb m\u00ebdha.<\/p>\n<h3>Pikat pozitive<\/h3>\n<p>\n<b>P\u00ebrfitimi \u2116 1. M\u00eb pak pasojat e d\u00ebshtimit<\/b><br \/>\nSa m\u00eb shum\u00eb nyje t\u00eb keni, aq m\u00eb pak pod'\u00eb do t\u00eb ket\u00eb n\u00eb \u00e7do nyje. P\u00ebr shembull, n\u00ebse keni nj\u00ebqind module mbi dhjet\u00eb nyje, at\u00ebher\u00eb n\u00eb secil\u00ebn nyje do t\u00eb ket\u00eb n\u00eb mesatare dhjet\u00eb module.<\/p>\n<p>Prandaj, n\u00ebse nj\u00eb nga nyjat d\u00ebshton, humbni vet\u00ebm 10% t\u00eb ngarkes\u00ebs s\u00eb pun\u00ebs. Ekziston mund\u00ebsia q\u00eb t\u00eb ndikohen vet\u00ebm disa kopje, nd\u00ebrsa aplikacionet si nj\u00eb e t\u00ebr\u00eb t\u00eb mbeten n\u00eb gjendje funksionimi.<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, n\u00eb nyjet e mbetura, me siguri do t\u00eb ket\u00eb mjaft burime t\u00eb lira p\u00ebr ngarkes\u00ebn e pun\u00ebs s\u00eb nyjes q\u00eb ka d\u00ebshtuar, k\u00ebshtu q\u00eb Kubernetes mund t\u00eb riplanifikoj\u00eb lirsh\u00ebm pod'\u00eb dhe aplikacionet tuaja do t\u00eb rikthehen relativisht shpejt n\u00eb gjendje funksionale.<\/p>\n<p><b>P\u00ebrfitimi \u2116 2. Replikim i mir\u00eb<\/b><br \/>\nN\u00ebse ka mjaft nyje, planifikuesi i Kubernetes-it mund t\u00eb caktoj\u00eb t\u00eb gjitha kopjet n\u00eb nyje t\u00eb ndryshme. K\u00ebshtu, n\u00eb rastin e d\u00ebshtimit t\u00eb nyj\u00ebs, do t\u00eb preket vet\u00ebm nj\u00eb kopje, nd\u00ebrsa aplikacioni do t\u00eb mbetet i aksesuesh\u00ebm.<\/p>\n<h3>Disavantazhet <\/h3>\n<p>\n<b>Disavantazhi \u2116 1. M\u00eb e v\u00ebshtir\u00eb p\u00ebr menaxhim<\/b><br \/>\nMe nj\u00eb num\u00ebr t\u00eb madh nyjash \u00ebsht\u00eb m\u00eb e v\u00ebshtir\u00eb t\u00eb menaxhosh. P\u00ebr shembull, \u00e7do nyje e Kubernetes-it duhet t\u00eb nd\u00ebrveproj\u00eb me t\u00eb gjitha nyjat e tjera, dmth numri i lidhjeve rritet katror dhe t\u00eb gjitha k\u00ebto lidhje duhet t\u00eb monitorohen.<\/p>\n<p>Kontrolluesi i nyjave n\u00eb menaxherin e kontrolluesve t\u00eb Kubernetes-it inspekton rregullisht t\u00eb gjitha nyjat n\u00eb klaster p\u00ebr t\u00eb kontrolluar sh\u00ebndetin \u2014 sa m\u00eb shum\u00eb nyje, aq m\u00eb e madhe ngarkesa mbi kontrolluesin.<\/p>\n<p>Ngarkohet gjithashtu edhe database etctd \u2014 \u00e7do kubelet dhe kube-proxy th\u00ebrret <noindex><a rel=\"nofollow\" href=\"https:\/\/etcd.io\/docs\/v3.3.12\/dev-guide\/interacting_v3\/#watch-key-changes\">watcher<\/a><\/noindex> p\u00ebr etcd (n\u00ebp\u00ebrmjet API), t\u00eb cilit etcd duhet t\u00eb transmetoj\u00eb azhurnimet e objektit.<\/p>\n<p>N\u00eb p\u00ebrgjith\u00ebsi, \u00e7do nyje punuese ngarkon m\u00eb shum\u00eb komponent\u00ebt sistemor\u00eb t\u00eb nyjave kryesore.<\/p>\n<p><img decoding=\"async\" alt=\"Nodet punuese t\u00eb Kubernetes: shum\u00eb t\u00eb vogla apo disa t\u00eb m\u00ebdha?\" src=\"\/wp-content\/uploads\/2020\/02\/4613483255747856e5d04fab429565cd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nZyrtarisht, Kubernetes mb\u00ebshtet klastere me <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/setup\/best-practices\/cluster-large\/\">numrin e nyjeve deri n\u00eb 5000<\/a><\/noindex>. Megjithat\u00eb, n\u00eb praktik\u00eb, tashm\u00eb 500 nyje <noindex><a rel=\"nofollow\" href=\"https:\/\/events19.linuxfoundation.cn\/wp-content\/uploads\/2017\/11\/BoF_-Not-One-Size-Fits-All-How-to-Size-Kubernetes-Clusters_Guang-Ya-Liu-_-Sahdev-Zala.pdf\">mund t\u00eb shkaktojn\u00eb probleme jo triviale<\/a><\/noindex>.<\/p>\n<p>P\u00ebr t\u00eb menaxhuar nj\u00eb num\u00ebr t\u00eb madh nyjesh punuese, duhet t\u00eb zgjidhni nyje kryesore m\u00eb t\u00eb fuqishme. P\u00ebr shembull, kube-up <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/setup\/best-practices\/cluster-large\/#size-of-master-and-master-components\">instalon automatikisht<\/a><\/noindex> madh\u00ebsin\u00eb e duhur t\u00eb VM p\u00ebr nyj\u00ebn kryesore n\u00eb var\u00ebsi t\u00eb numrit t\u00eb nyjeve punuese. K\u00ebshtu, sa m\u00eb shum\u00eb nyje punuese, aq m\u00eb t\u00eb fuqishme duhet t\u00eb jen\u00eb nyjet kryesore. <\/p>\n<p>P\u00ebr t\u00eb zgjidhur k\u00ebto probleme specifike, ekzistojn\u00eb zhvillime speciale, si <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=v9cwYvuzROs\">Virtual Kubelet<\/a><\/noindex>. Ky sistem lejon shmangien e kufizimeve dhe nd\u00ebrtimin e klastereve me nj\u00eb num\u00ebr t\u00eb madh nyjesh punuese.<\/p>\n<p><b>Disavantazhi Nr. 2. M\u00eb shum\u00eb overhead<\/b><br \/>\nN\u00eb \u00e7do nyje punuese, Kubernetes ekzekuton nj\u00eb grup demon\u00ebsh sistemor\u00eb \u2014 k\u00ebtu p\u00ebrfshihet mjedisi i ekzekutimit t\u00eb kontejner\u00ebve (p.sh., Docker), kube-proxy dhe kubelet, duke p\u00ebrfshir\u00eb cAdvisor. T\u00eb gjitha s\u00eb bashku konsumojn\u00eb nj\u00eb sasi t\u00eb caktuar t\u00eb burimeve.<\/p>\n<p>N\u00ebse keni shum\u00eb nyje t\u00eb vogla, p\u00ebrqindja e k\u00ebtij overheadi n\u00eb \u00e7do nyje \u00ebsht\u00eb m\u00eb e madhe. P\u00ebr shembull, imagjinoni se t\u00eb gjith\u00eb demon\u00ebt sistemor\u00eb t\u00eb nj\u00eb nyje s\u00eb bashku p\u00ebrdorin 0,1 b\u00ebrtham\u00eb CPU dhe 0,1 GB memorie. N\u00ebse keni nj\u00eb nyje me dhjet\u00eb b\u00ebrthama dhe 10 GB memorie, demons do t\u00eb konsumojn\u00eb 1% t\u00eb kapacitetit t\u00eb klasterit. Nga ana tjet\u00ebr, n\u00eb dhjet\u00eb nyje me nj\u00eb b\u00ebrtham\u00eb dhe 1 GB memorie, demons do t\u00eb marrin 10% t\u00eb kapacitetit t\u00eb klasterit.<\/p>\n<p>Prandaj, sa m\u00eb pak nyje t\u00eb keni, aq m\u00eb efikasisht shfryt\u00ebzohet infrastruktura.<\/p>\n<p><b>Disavantazhi Nr. 3. Shfryt\u00ebzim joefikas i burimeve<\/b><br \/>\nN\u00eb nyje t\u00eb vogla mund t\u00eb ndodh\u00eb q\u00eb fragmente t\u00eb mbetura t\u00eb burimeve t\u00eb jen\u00eb shum\u00eb t\u00eb vogla p\u00ebr t'u caktuar nj\u00eb ngarkes\u00eb pune, k\u00ebshtu q\u00eb ato mbeten t\u00eb paqartuara.<\/p>\n<p>P\u00ebr shembull, \u00e7do pod k\u00ebrkon 0,75 GB memorie. N\u00ebse keni dhjet\u00eb nyje, dhe n\u00eb secil\u00ebn 1 GB memorie, mund t\u00eb ekzekutoni dhjet\u00eb pod'\u00eb \u2014 k\u00ebshtu, n\u00eb fund do t\u00eb mbeten 0,25 GB memorie e pa p\u00ebrdorur n\u00eb \u00e7do nyje.<\/p>\n<p>Kjo do t\u00eb thot\u00eb se 25% e memories s\u00eb gjith\u00eb klasterit shkon kot.<\/p>\n<p>N\u00eb nj\u00eb nyje t\u00eb madhe me 10 GB memorie, mund t\u00eb ekzekutoni 13 t\u00eb tilla module \u2014 dhe do t\u00eb mbetet vet\u00ebm nj\u00eb fragment i pashfryt\u00ebzuar 0,25 GB.<\/p>\n<p>N\u00eb k\u00ebt\u00eb rast, vet\u00ebm 2,5% e memories po shpenzohet kot.<\/p>\n<p>Prandaj, n\u00eb nyjat e m\u00ebdha shfryt\u00ebzohen m\u00eb optimalisht burimet.<\/p>\n<h2>Disa nyje t\u00eb m\u00ebdha apo shum\u00eb t\u00eb vogla?<\/h2>\n<p>\nPra, \u00e7far\u00eb \u00ebsht\u00eb m\u00eb mir\u00eb: disa nyje t\u00eb m\u00ebdha n\u00eb klaster apo shum\u00eb t\u00eb vogla? Si gjithmon\u00eb, nuk ka nj\u00eb p\u00ebrgjigje t\u00eb qart\u00eb. Shum\u00eb varet nga lloji i aplikacionit.<\/p>\n<p>P\u00ebr shembull, n\u00ebse aplikacioni k\u00ebrkon 10 GB memorie, zgjedhja \u00ebsht\u00eb e qart\u00eb n\u00eb favor t\u00eb nyjeve t\u00eb m\u00ebdha. Por n\u00ebse aplikacioni k\u00ebrkon nj\u00eb riprodhim dhjet\u00ebfish p\u00ebr disponueshm\u00ebri t\u00eb lart\u00eb, ndoshta nuk ia vlen t\u00eb rrezikoni duke vendosur replikat n\u00eb vet\u00ebm dy nyje \u2014 n\u00eb klaster duhet t\u00eb ket\u00eb t\u00eb pakt\u00ebn dhjet\u00eb nyje.<\/p>\n<p>N\u00eb situata nd\u00ebrmjet\u00ebse, b\u00ebni zgjedhjen tuaj duke u bazuar n\u00eb avantazhet dhe disavantazhet e secil\u00ebs mund\u00ebsi. Ndoshta disa argumente jan\u00eb m\u00eb relevante p\u00ebr situat\u00ebn tuaj se t\u00eb tjerat.<\/p>\n<p>Dhe nuk \u00ebsht\u00eb e nevojshme t\u00eb keni t\u00eb gjitha nyjet t\u00eb nj\u00ebjt\u00ebs madh\u00ebsi. Asgj\u00eb nuk ju pengon t\u00eb eksperimentoni fillimisht me nyje t\u00eb nj\u00eb madh\u00ebsie, pastaj t'i shtoni ato nyje t\u00eb nj\u00eb madh\u00ebsie tjet\u00ebr, duke i kombinuar n\u00eb klaster. Nyjet e pun\u00ebs n\u00eb klasterin Kubernetes mund t\u00eb jen\u00eb plot\u00ebsisht heterogjene. K\u00ebshtu q\u00eb mund ta provoni kombinimin e avantazheve t\u00eb t\u00eb dy qasjeve.<\/p>\n<p>Nuk ekziston nj\u00eb recet\u00eb e vetme, dhe \u00e7do situat\u00eb ka nuancat e saj, dhe vet\u00ebm prodhimi do t\u00eb tregoj\u00eb t\u00eb v\u00ebrtet\u00ebn.<\/p>\n<p><i>P\u00ebrkthimi \u00ebsht\u00eb p\u00ebrgatitur nga ekipi i platform\u00ebs cloud <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/\">Mail.ru Cloud Solutions<\/a><\/noindex>.<\/i><\/p>\n<p>M\u00eb shum\u00eb p\u00ebr Kubernetes: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/425343\/\">25 mjete t\u00eb dobishme p\u00ebr menaxhimin dhe implementimin e klastereve<\/a><\/noindex>.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/484334\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0443\u0437\u043b\u043e\u0432 \u0438 \u043a\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430? \u0427\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 on-premise: \u043a\u0443\u043f\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0449\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438\u043b\u0438 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u043e\u043a \u0441\u0442\u0430\u0440\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0432 \u0432\u0430\u0448\u0435\u043c \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0435? \u0410 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u043b\u0443\u0447\u0448\u0435 \u0432\u0437\u044f\u0442\u044c \u0432\u043e\u0441\u0435\u043c\u044c \u043e\u0434\u043d\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445 \u0438\u043b\u0438 \u0434\u0432\u0430 \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u044a\u044f\u0434\u0435\u0440\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430? \u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u044d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u2014 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0414\u0430\u043d\u0438\u044d\u043b\u044f \u0412\u0430\u0439\u0431\u0435\u043b\u044f, \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u0438 \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-56259","post","type-post","status-publish","format-standard","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=\"\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.\" \/>\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\/rabochie-uzly-kubernetes-mnogo-malenkih-ili-neskolko-bolshih\" \/>\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\udd47\u0420\u0430\u0431\u043e\u0447\u0438\u0435 \u0443\u0437\u043b\u044b Kubernetes: \u043c\u043d\u043e\u0433\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/rabochie-uzly-kubernetes-mnogo-malenkih-ili-neskolko-bolshih\" \/>\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-02-07T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:30+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\udd47 Nyjet e pun\u00ebs Kubernetes: shum\u00eb t\u00eb vogla apo disa t\u00eb m\u00ebdha? | ProHoster","description":"Kur krijoni nj\u00eb klaster.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/rabochie-uzly-kubernetes-mnogo-malenkih-ili-neskolko-bolshih","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\udd47\u0420\u0430\u0431\u043e\u0447\u0438\u0435 \u0443\u0437\u043b\u044b Kubernetes: \u043c\u043d\u043e\u0433\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445? | ProHoster","og:description":"\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/rabochie-uzly-kubernetes-mnogo-malenkih-ili-neskolko-bolshih","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-02-07T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"56259","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 19:28:23","updated":"2022-10-03 08:08:38","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\/56259","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=56259"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/56259\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=56259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=56259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=56259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}