{"id":81130,"date":"2020-05-11T01:42:39","date_gmt":"2020-05-10T23:42:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo"},"modified":"2020-05-11T01:42:39","modified_gmt":"2020-05-10T23:42:39","slug":"kubernetes-open-source-protiv-vendorskogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","title":{"rendered":"Kubernetes: open source kund\u00ebr t\u00eb ofert\u00ebs nga furnizuesi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Tungjatjeta, emri im \u00ebsht\u00eb Dmitri Krasnov. Prej m\u00eb shum\u00eb se pes\u00eb vjet\u00ebsh jam duke u angazhuar n\u00eb administrimin e klastereve Kubernetes dhe nd\u00ebrtimin e arkitekturave t\u00eb komplikuara t\u00eb mikros\u00ebrvicesh. N\u00eb fillim t\u00eb k\u00ebtij viti, lan\u00e7uam nj\u00eb sh\u00ebrbim p\u00ebr menaxhimin e klastereve Kubernetes mbi Containerum. Duke p\u00ebrfituar nga rasti, do t\u00eb flas p\u00ebr at\u00eb \u00e7far\u00eb \u00ebsht\u00eb ky Kubernetes dhe si ndan integrimi me furnizuesin nga open source.<\/b><\/p>\n<p>P\u00ebr fillim, \u00e7far\u00eb \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/what-is-kubernetes\/\">Kubernetes<\/a><\/noindex>. \u00cbsht\u00eb nj\u00eb sistem p\u00ebr menaxhimin e kontejner\u00ebve n\u00eb nj\u00eb num\u00ebr t\u00eb madh hostesh. Nga greqishtja, p\u00ebrndryshe, p\u00ebrkthehet si \"piloti\" ose \"kapitani\". Fillimisht e zhvilluar nga Google, m\u00eb pas si nj\u00eb kontribut teknologjik iu kalua Fondacionit t\u00eb Komunikimit Cloud Native, nj\u00eb organizat\u00eb nd\u00ebrkomb\u00ebtare jo-fitimprur\u00ebse q\u00eb bashkon zhvilluesit kryesor\u00eb global\u00eb, p\u00ebrdoruesit e fundit dhe ofruesit e teknologjive t\u00eb kontejner\u00ebve. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kund\u00ebr t\u00eb ofert\u00ebs nga furnizuesi\" src=\"\/wp-content\/uploads\/2020\/05\/7cbe773adf691ad29c4aaa7a2c8f0461.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>T\u00eb drejtoj\u00eb nj\u00eb num\u00ebr t\u00eb madh kontejner\u00ebsh <\/h3>\n<p>\nTani do ta kuptojm\u00eb se \u00e7far\u00eb jan\u00eb k\u00ebto kontejner\u00eb. Kjo \u00ebsht\u00eb nj\u00eb aplikacion me t\u00eb gjith\u00eb mjedisin e tij \u2013 n\u00eb thelb, bibliotekat nga t\u00eb cilat varet funksionimi i programit. T\u00eb gjitha k\u00ebto jan\u00eb t\u00eb paketuar n\u00eb arkiva dhe paraqiten si nj\u00eb imazh, i cili mund t\u00eb ekzekutohet pavar\u00ebsisht nga sistemi operativ, t\u00eb testohen dhe jo vet\u00ebm. Por ka nj\u00eb problem \u2014 menaxhimi i kontejner\u00ebve n\u00eb nj\u00eb num\u00ebr t\u00eb madh hostesh \u00ebsht\u00eb shum\u00eb i v\u00ebshtir\u00eb. Prandaj u krijua Kubernetes. <\/p>\n<p>Imazhi i kontejnerit p\u00ebrb\u00ebn aplikacionin plus var\u00ebsit\u00eb e tij. Aplikacioni, var\u00ebsit\u00eb e tij dhe imazhi i sistemit t\u00eb files s\u00eb OS gjenden n\u00eb pjes\u00eb t\u00eb ndryshme t\u00eb imazhit, t\u00eb ashtuquajturat shtresa. Shtresat mund t\u00eb p\u00ebrdoren p\u00ebrs\u00ebritsh\u00ebm p\u00ebr kontejner\u00eb t\u00eb ndrysh\u00ebm. P\u00ebr shembull, nj\u00eb shtres\u00eb baz\u00eb e Ubuntu mund t\u00eb p\u00ebrdoret p\u00ebr t\u00eb gjitha aplikacionet n\u00eb kompani. Kur kontejner\u00ebt jan\u00eb n\u00eb pun\u00eb, nuk ka nevoj\u00eb t\u00eb ruani shum\u00eb kopje t\u00eb nj\u00eb shtrese baze n\u00eb host. Kjo ndihmon p\u00ebr t\u00eb optimizuar ruajtjen dhe shp\u00ebrndarjen e imazheve.<\/p>\n<p>Kur ne d\u00ebshirojm\u00eb t\u00eb nis\u00ebm nj\u00eb aplikacion nga nj\u00eb kontejner, shtresat e nevojshme jan\u00eb t\u00eb vendosura nj\u00eb mbi tjet\u00ebr dhe formohet nj\u00eb sistem skedari i mbuluar. Nj\u00eb shtres\u00eb e shkruar vendoset mbi t\u00eb, e cila, kur ndalet kontejneri, fshihet. Kjo garanton q\u00eb gjat\u00eb nisjes s\u00eb kontejnerit aplikacioni gjithmon\u00eb ka t\u00eb nj\u00ebjtin mjedis, i cili nuk mund t\u00eb ndryshohet. Kjo siguron rikthyeshm\u00ebrin\u00eb e mjedisit n\u00eb sisteme t\u00eb ndryshme operative nikoqire. Qoft\u00eb Ubuntu apo CentOS, mjedisi gjithmon\u00eb do t\u00eb jet\u00eb i nj\u00ebjt\u00eb. P\u00ebr m\u00eb tep\u00ebr, kontejneri \u00ebsht\u00eb i izoluara nga nikoqiri me mekanizmat e nd\u00ebrtuar n\u00eb b\u00ebrtham\u00ebn e Linux-it. Aplikacionet n\u00eb kontejner nuk shohin skedar\u00ebt, proceset e nikoqirit apo kontejner\u00ebt fqinj\u00eb. Kjo izolim e aplikacioneve nga sistemi operativ nikoqir ofron nj\u00eb shtres\u00eb t\u00eb shtuar sigurie. <\/p>\n<p>P\u00ebr menaxhimin e kontejner\u00ebve n\u00eb nikoqirin ka shum\u00eb mjete. Mjeti m\u00eb i njohur \u00ebsht\u00eb Docker. Ai lejon t\u00eb sigurohet nj\u00eb cik\u00ebl jet\u00ebsor t\u00eb plot\u00eb t\u00eb pun\u00ebs p\u00ebr kontejner\u00ebt. Megjithat\u00eb, ai funksionon vet\u00ebm n\u00eb nj\u00eb nikoqir. Kur nevojitet menaxhimi i kontejner\u00ebve n\u00eb shum\u00eb nikoqir\u00eb, Docker mund t\u00eb kthej\u00eb jet\u00ebn e inxhinier\u00ebve n\u00eb nj\u00eb makth. K\u00ebshtu, Kubernetes u krijua.<\/p>\n<p>Kubernetes \u00ebsht\u00eb i k\u00ebrkuar p\u00ebr shkak t\u00eb aft\u00ebsis\u00eb p\u00ebr t\u00eb menaxhuar grupe konteiner\u00ebsh n\u00eb shum\u00eb hoste si entitete t\u00eb vetme. Popullariteti i sistemit e mund\u00ebson nd\u00ebrtimin e DevOps ose Operacioneve t\u00eb Zhvillimit, ku Kubernetes p\u00ebrdoret p\u00ebr t\u00eb nisur proceset e k\u00ebtij DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kund\u00ebr t\u00eb ofert\u00ebs nga furnizuesi\" src=\"\/wp-content\/uploads\/2020\/05\/40f253f4445595376231bb384253763d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 1. Pamje skematike e parimit t\u00eb pun\u00ebs s\u00eb Kubernetes<\/i><\/p>\n<h3>Automatizim i plot\u00eb<\/h3>\n<p>\nDevOps, n\u00eb thelb, p\u00ebrfaq\u00ebson automatizimin e procesit t\u00eb zhvillimit. N\u00eb m\u00ebnyr\u00eb t\u00eb thjesht\u00eb, zhvilluesit shkruajn\u00eb kod q\u00eb ngarkohet n\u00eb nj\u00eb repository. M\u00eb pas, ky kod mund t\u00eb ndahet automatikisht menj\u00ebher\u00eb n\u00eb nj\u00eb kontenier me t\u00eb gjitha bibliotekat, t\u00eb testohet dhe t\u00eb \"publikohet\" n\u00eb faz\u00ebn tjet\u00ebr \u2013 Staging, dhe pastaj menj\u00ebher\u00eb n\u00eb Production.<\/p>\n<p>S\u00eb bashku me Kubernetes, DevOps lejon automatizimin e k\u00ebtij procesi, n\u00eb m\u00ebnyr\u00eb q\u00eb ai t\u00eb zhvillohet praktikisht pa p\u00ebrfshirjen e zhvilluesve t\u00eb vet\u00eb. K\u00ebshtu, ndjesh\u00ebm shpejtohet nd\u00ebrtimi, pasi zhvilluesi nuk ka nevoj\u00eb t\u00eb merret me k\u00ebt\u00eb n\u00eb kompjuterin e tij \u2014 ai thjesht shkruan nj\u00eb cop\u00eb kod, e shtyn kodin n\u00eb repository, pas s\u00eb cil\u00ebs fillon pipeline-i, i cili mund t\u00eb p\u00ebrfshij\u00eb procesin e nd\u00ebrtimit, testimit dhe implementimit. K\u00ebshtu ndodh me \u00e7do komit, prandaj testimi ndodh n\u00eb m\u00ebnyr\u00eb t\u00eb vazhdueshme.<\/p>\n<p>N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, p\u00ebrdorimi i kontejner\u00ebve siguron q\u00eb e gjith\u00eb mjedisi i k\u00ebsaj programi do t\u00eb dal\u00eb n\u00eb production pik\u00ebrisht n\u00eb at\u00eb form\u00eb n\u00eb t\u00eb cil\u00ebn \u00ebsht\u00eb testuar. Kjo do t\u00eb thot\u00eb se nuk do t\u00eb ket\u00eb probleme si \u00abn\u00eb test ishin versione t\u00eb ndryshme, n\u00eb production \u2014 t\u00eb tjera, dhe si rezultat, gjith\u00e7ka u r\u00ebnk\u00bb. Dhe duke pasur parasysh se sot kemi nj\u00eb trend drejt arkitektur\u00ebs mikrosh\u00ebrbimore, kur n\u00eb vend t\u00eb nj\u00eb aplikacioni t\u00eb madh ka qindra t\u00eb vogla, do t\u00eb k\u00ebrkohet nj\u00eb num\u00ebr i madh punonj\u00ebsish p\u00ebr t'i administruar ato manualisht. Prandaj ne p\u00ebrdorim Kubernetes.<\/p>\n<p><b><\/p>\n<h3>Pikat pozitive, pikat pozitive, pikat pozitive<\/h3>\n<p><\/b><br \/>\nDuke folen p\u00ebr avantazhet e Kubernetes si platform\u00eb, ajo ka disa p\u00ebrfitime t\u00eb r\u00ebnd\u00ebsishme n\u00eb menaxhimin e arkitektur\u00ebs s\u00eb mikrosh\u00ebrbimeve. <\/p>\n<ul>\n<li> <b>Menaxhimi i shum\u00eb kopjeve.<\/b> E r\u00ebnd\u00ebsishmja \u00ebsht\u00eb menaxhimi i kontejner\u00ebve n\u00eb shum\u00eb hoste. Dhe m\u00eb e r\u00ebnd\u00ebsishmja, \u00ebsht\u00eb menaxhimi i shum\u00eb kopjeve t\u00eb aplikacioneve n\u00eb kontejner\u00eb si nj\u00eb entitet i vet\u00ebm. K\u00ebshtu, inxhinier\u00ebt nuk kan\u00eb nevoj\u00eb t\u00eb shqet\u00ebsohen p\u00ebr \u00e7do kontejner t\u00eb ve\u00e7ant\u00eb. N\u00ebse nj\u00eb nga kontejner\u00ebt d\u00ebshton, Kubernetes do ta zbuloj\u00eb k\u00ebt\u00eb dhe do ta rinis\u00eb at\u00eb. <\/li>\n<li> <b>Rrjeti klaster.<\/b> Gjithashtu, Kubernetes ka at\u00eb q\u00eb quhet rrjeti klaster me hap\u00ebsir\u00eb adresash t\u00eb vet\u00ebn. Fal\u00eb k\u00ebsaj, \u00e7do pod ka adres\u00ebn e vet. Nj\u00eb pod \u00ebsht\u00eb nj\u00ebsia minimale strukturore e klasterit, ku kontejner\u00ebt ekzekutohen drejtp\u00ebrdrejt. P\u00ebr m\u00eb tep\u00ebr, Kubernetes disponon funksionalitet q\u00eb kombinon balancuesin e ngarkes\u00ebs dhe Shkaktimin e Sh\u00ebrbimeve. Kjo lejon q\u00eb t\u00eb hiqet menaxhimi manual i adresave IP dhe ta ngarkoj\u00eb k\u00ebt\u00eb detyr\u00eb tek Kubernetes. Kontrolli automatik i sh\u00ebndetit do t\u00eb ndihmoj\u00eb n\u00eb zb discoveryn e problemeve dhe n\u00eb ridrejtimin e trafikur n\u00eb pod-et aktive.<\/li>\n<li> <b>Menaxhimi i konfigurimeve. <\/b>Kur menaxhohet nj\u00eb num\u00ebr i madh aplikacionesh, b\u00ebhet e v\u00ebshtir\u00eb t\u00eb menaxhosh konfigurimin e aplikacioneve. P\u00ebr k\u00ebt\u00eb, Kubernetes ka burime t\u00eb ve\u00e7anta t\u00eb quajtur ConfigMap. Ato lejojn\u00eb ruajtjen qendrore t\u00eb konfigurimeve dhe z\u00ebvend\u00ebsimin e tyre n\u00eb pod n\u00eb momentin e nisjes s\u00eb aplikacioneve. Ky mekaniz\u00ebm garanton konsistenc\u00ebn e konfigurimeve n\u00eb dhjet\u00eb apo n\u00eb qindra replika aplikacionesh. <\/li>\n<li> <b>V\u00ebllimet e p\u00ebrhershme. <\/b>Kontejner\u00ebt jan\u00eb n\u00eb thelb t\u00eb pandryshyesh\u00ebm dhe kur ndalen, t\u00eb gjitha t\u00eb dh\u00ebnat e regjistruara n\u00eb sistemin e skedar\u00ebve do t\u00eb shuhen. Por disa aplikacione ruajn\u00eb t\u00eb dh\u00ebnat direkt n\u00eb disk. P\u00ebr t\u00eb zgjidhur k\u00ebt\u00eb problem, Kubernetes ka nj\u00eb funksionalitet p\u00ebr menaxhimin e ruajtjes s\u00eb diskut \u2014 V\u00ebllimet e p\u00ebrhershme. Ky mekaniz\u00ebm p\u00ebrdor ruajtje t\u00eb jashtme p\u00ebr t\u00eb dh\u00ebnat dhe mund t\u00eb angazhoj\u00eb ruajtje t\u00eb p\u00ebrhershme, bllok ose n\u00eb format skedari, n\u00eb konteiner\u00ebt. Ky zgjidhje lejon ruajtjen e t\u00eb dh\u00ebnave ve\u00e7mas nga punonj\u00ebsit, duke i mbrojtur ato n\u00eb rast t\u00eb prishjes s\u00eb punonj\u00ebsve.<\/li>\n<li> <b>Balancuesi i ngarkes\u00ebs.<\/b> Megjith\u00ebse n\u00eb Kubernetes ne menaxhojm\u00eb entitete abstrakte si Deployment, StatefulSet etj., n\u00eb fund t\u00eb fundit, konteiner\u00ebt nisi n\u00eb makina t\u00eb zakonshme. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/vps\/abuzoustojchivye-vps\/\"   title=\"makinat virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4246\">makinat virtuale<\/a> ose oseve. Ato nuk jan\u00eb t\u00eb p\u00ebrsosura dhe mund t\u00eb bien n\u00eb \u00e7do moment. Kubernetes do ta shoh\u00eb k\u00ebt\u00eb dhe do t\u00eb redirektoj\u00eb trafikun e brendsh\u00ebm n\u00eb replikat e tjera. Por \u00e7far\u00eb t\u00eb b\u00ebjm\u00eb me trafikun q\u00eb vjen nga jasht\u00eb? N\u00ebse e drejtojm\u00eb thjesht trafikun n\u00eb nj\u00eb nga pun\u00ebtor\u00ebt, \u00e7far\u00eb ndodh n\u00eb rast se ai d\u00ebshton, sh\u00ebrbimi do t\u00eb b\u00ebhet i pa aksesuesh\u00ebm. P\u00ebr t\u00eb zgjidhur k\u00ebt\u00eb problem, Kubernetes ka sh\u00ebrbime t\u00eb tipit Load Balancer. Ato jan\u00eb t\u00eb destinuara p\u00ebr t\u00eb konfigurimin automatik t\u00eb nj\u00eb balancuesi t\u00eb jasht\u00ebm t\u00eb cloud-it p\u00ebr t\u00eb gjith\u00eb pun\u00ebtor\u00ebt n\u00eb klaster. Ky balancues i jasht\u00ebm drejton trafikun e jasht\u00ebm n\u00eb pun\u00ebtor\u00ebt dhe vet\u00eb ndiqet statusin e tyre. N\u00ebse nj\u00eb ose disa pun\u00ebtor\u00eb b\u00ebhen t\u00eb paarritsh\u00ebm, trafiku redirektohet n\u00eb t\u00eb tjer\u00ebt. Kjo lejon krijimin e sh\u00ebrbimeve me disponueshm\u00ebri t\u00eb lart\u00eb me ndihm\u00ebn e Kubernetes.<\/li>\n<\/ul>\n<p>\nKubernetes tregon m\u00eb s\u00eb miri veten pik\u00ebrisht kur nisin arkitektura t\u00eb mikrosh\u00ebrbimeve. T\u00eb integrosh sistemin n\u00eb nj\u00eb arkitektur\u00eb klasike \u00ebsht\u00eb e mundur, por e paarsyeshme. N\u00ebse aplikacioni nuk mund t\u00eb funksionoj\u00eb n\u00eb disa replika, \u00e7far\u00eb ka kuptim, a \u00ebsht\u00eb n\u00eb Kubernetes apo jo?<\/p>\n<p><b><\/p>\n<h3>Kubernetes open source<\/h3>\n<p><\/b><br \/>\nKubernetes me burim t\u00eb hapur \u2013 nj\u00eb gj\u00eb e shk\u00eblqyer: e vendos dhe funksionon. Mund t\u00eb vendoset n\u00eb serverat e tu, n\u00eb infrastruktur\u00ebn t\u00ebnde, t\u00eb vendos\u00ebsh nj\u00eb master dhe pun\u00ebtor\u00eb, ku do t\u00eb ekzekutohen t\u00eb gjitha aplikacionet. Dhe gj\u00ebja m\u00eb e r\u00ebnd\u00ebsishme \u00ebsht\u00eb \u2013 e gjith\u00eb kjo \u00ebsht\u00eb falas. Megjithat\u00eb, ka disa nuanca.<\/p>\n<ul>\n<li> E para \u2013 k\u00ebrkesa p\u00ebr njohuri dhe p\u00ebrvoj\u00eb t\u00eb administrator\u00ebve dhe inxhinier\u00ebve q\u00eb do ta vendosin dhe mb\u00ebshtesin gjith\u00e7ka. Duke qen\u00eb se klienti merr lirin\u00eb e plot\u00eb t\u00eb veprimit n\u00eb klaster, ai merr p\u00ebrsip\u00ebr p\u00ebrgjegj\u00ebsin\u00eb p\u00ebr funksionimin e tij. Dhe k\u00ebtu \u00ebsht\u00eb shum\u00eb e leht\u00eb t\u00eb thyhet gjith\u00e7ka.<\/li>\n<li> E dyta \u2013 mungesa e integrimeve. N\u00ebse aktivizoni Kubernetes pa pasur ndonj\u00eb platform\u00eb virtualizimi t\u00eb njohur, nuk do t\u00eb merrni t\u00eb gjith\u00eb p\u00ebrfitimet e programit. Si\u00e7 jan\u00eb p\u00ebrdorimi i Volume-ve t\u00eb P\u00ebrhersh\u00ebm dhe sh\u00ebrbimeve Load balancer.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes: open source kund\u00ebr t\u00eb ofert\u00ebs nga furnizuesi\" src=\"\/wp-content\/uploads\/2020\/05\/8445e46889ca4c4d53bd91abeaa49256.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figur\u00eb 2. Arkitektura e k8s<\/i><\/p>\n<p><b><\/p>\n<h3>Kubernetes nga furnizuesi<\/h3>\n<p><\/b><br \/>\nIntegrimi me ofruesin e cloud-it ofron dy mund\u00ebsi: <\/p>\n<ul>\n<li> S\u00eb pari, nj\u00eb person mund thjesht t\u00eb klikoj\u00eb butonin \"krijo klaster\" dhe t\u00eb marr\u00eb nj\u00eb klaster t\u00eb gatsh\u00ebm dhe t\u00eb konfiguruar p\u00ebr pun\u00eb.<\/li>\n<li> S\u00eb dyti, furnizuesi krijon vet\u00eb klasterin dhe konfiguron integrimin me cloud-in.<\/li>\n<\/ul>\n<p>\nSi si ndodh kjo me ne. Inxhinieri q\u00eb aktivizon klasterin p\u00ebrcakton se sa punonj\u00ebs i nevojiten dhe me cilat parametra (p.sh., 5 punonj\u00ebs, secili me 10 CPU, 16 GB RAM dhe, le t\u00eb themi, 100 GB disk). M\u00eb pas, ai merr qasje n\u00eb klasterin q\u00eb \u00ebsht\u00eb formuar tashm\u00eb. N\u00eb k\u00ebt\u00eb rast, punonj\u00ebsit q\u00eb aktivizohen p\u00ebr ngarkes\u00ebn i jepen plot\u00ebsisht klientit, por t\u00eb gjith\u00eb menaxhimi mbetet n\u00eb p\u00ebrgjegj\u00ebsi t\u00eb ofruesit (n\u00eb rastin kur sh\u00ebrbimi ofrohet sipas modelit t\u00eb sh\u00ebrbimit t\u00eb menaxhuar).<\/p>\n<p>Megjithat\u00eb, kjo skem\u00eb ka disa disavantazhe. Pavar\u00ebsisht se menaxhimi mbetet te ofruesi, ky i fundit nuk i jep qasje t\u00eb plot\u00eb klientit, dhe kjo ul fleksibilitetin n\u00eb pun\u00ebn me Kubernetes. Ndonj\u00ebher\u00eb ndodh q\u00eb klienti d\u00ebshiron t\u00eb lidh\u00eb nj\u00eb funksionalitet t\u00eb specifikuar me Kubernetes, si p.sh., autentikimin p\u00ebrmes LDAP, por konfigurimi i menaxhimit nuk e lejon k\u00ebt\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kund\u00ebr t\u00eb ofert\u00ebs nga furnizuesi\" src=\"\/wp-content\/uploads\/2020\/05\/e5cff16e4280cf041917c886c146a2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 3. Shembulli i klasterit Kubernetes nga ofruesi i \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439.<\/i><\/p>\n<p><b><\/p>\n<h3>\u00c7far\u00eb t\u00eb zgjedhim: open source apo vendor?<\/h3>\n<p><\/b><br \/>\nPra t\u00eb hapur Kubernetes apo t\u00eb ofruesit? N\u00ebse zgjidhni Kubernetes me burim t\u00eb hapur, p\u00ebrdoruesi mund t\u00eb b\u00ebj\u00eb \u00e7far\u00ebdo q\u00eb d\u00ebshiron. Por ka nj\u00eb rrezik t\u00eb lart\u00eb t\u00eb gabimeve vetjake. Me ofruesin \u00ebsht\u00eb m\u00eb e v\u00ebshtir\u00eb, sepse gjith\u00e7ka \u00ebsht\u00eb menduar dhe konfigurimi \u00ebsht\u00eb b\u00ebr\u00eb nga kompania. Mang\u00ebsia m\u00eb e madhe e Kubernetes me burim t\u00eb hapur \u00ebsht\u00eb k\u00ebrkesa p\u00ebr specialist\u00eb. Me ofruesin, kompania e shmang k\u00ebt\u00eb dhimbje koke, por duhet t\u00eb vendos\u00eb: t\u00eb paguaj\u00eb specialist\u00ebt e saj apo ofruesin.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kund\u00ebr t\u00eb ofert\u00ebs nga furnizuesi\" src=\"\/wp-content\/uploads\/2020\/05\/f14130c42049e20b2f33121e4d789cca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kubernetes: open source kund\u00ebr t\u00eb ofert\u00ebs nga furnizuesi\" src=\"\/wp-content\/uploads\/2020\/05\/4fb1feaacd42a67a444ae1600e37d0f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPra, avantazhet jan\u00eb t\u00eb qarta, po ashtu edhe disavantazhet. Nj\u00eb gj\u00eb \u00ebsht\u00eb e sigurt: Kubernetes zgjidh shum\u00eb probleme duke automatizuar menaxhimin e shum\u00eb konteiner\u00ebve. Cilin t\u00eb zgjidhni, Kubernetes me burim t\u00eb hapur apo t\u00eb ofruesit, \u00ebsht\u00eb nj\u00eb vendim q\u00eb secili e merr vet\u00eb.<\/p>\n<p><i>Artikullin e p\u00ebrgatiti Dmitri Krasnov, arkitekti kryesor i sh\u00ebrbimit Containerum t\u00eb ofruesit #CloudMTS. <\/i><br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ru_mts\/blog\/500728\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81130","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435\" \/>\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-open-source-protiv-vendorskogo\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo\" \/>\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-10T23:42:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-10T23:42:39+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: open source kund\u00ebr vendor\u00ebve | ProHoster","description":"P\u00ebrsh\u00ebndetje, un\u00eb quhem Dmitrij Krasnov. Q\u00eb m\u00eb shum\u00eb se pes\u00eb vjet kam qen\u00eb duke administruar klastera Kubernetes dhe duke nd\u00ebrtuar arkitektura t\u00eb komplikuara mikrosherbimesh. N\u00eb fillim t\u00eb k\u00ebtij viti nd\u00ebrtuam nj\u00eb sh\u00ebrbim p\u00ebr menaxhimin e klasterave Kubernetes n\u00eb baz\u00eb t\u00eb Containerum. Duke shfryt\u00ebzuar rastin, do t\u00eb flas p\u00ebr se \u00e7far\u00eb \u00ebsht\u00eb ky Kubernetes dhe se si integrimi me ofruesin ndryshon nga versioni open source. Fillimisht, \u00e7far\u00eb \u00ebsht\u00eb","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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-10T23:42:39+00:00","article:modified_time":"2020-05-10T23:42:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81130","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:04:23","updated":"2022-09-27 22:17:56"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81130","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=81130"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81130\/revisions"}],"predecessor-version":[{"id":164121,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81130\/revisions\/164121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/81131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=81130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=81130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=81130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}