{"id":34735,"date":"2019-10-31T22:00:06","date_gmt":"2019-10-31T19:00:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/znakomstvo-s-helm-3\/"},"modified":"2019-10-31T22:00:06","modified_gmt":"2019-10-31T19:00:06","slug":"znakomstvo-s-helm-3","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/znakomstvo-s-helm-3","title":{"rendered":"Hyrje n\u00eb Helm 3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Hyrje n\u00eb Helm 3\" src=\"\/wp-content\/uploads\/2019\/05\/6de0e2887ddcc802f1dd71c902325401.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i><b>Sh\u00ebn. p\u00ebrkth.<\/b>: 16 maji i k\u00ebtij viti \u2014 nj\u00eb ngjarje e r\u00ebnd\u00ebsishme n\u00eb zhvillimin e menaxherit t\u00eb paketave p\u00ebr Kubernetes \u2014 Helm. N\u00eb k\u00ebt\u00eb dit\u00eb u prezantua versioni i par\u00eb alfa i versionit t\u00eb ri t\u00eb projektit \u2014 3.0. Dalja e tij do t\u00eb sjell\u00eb ndryshime t\u00eb r\u00ebnd\u00ebsishme dhe t\u00eb pritura n\u00eb Helm, p\u00ebr t\u00eb cilat shum\u00eb n\u00eb komunitetin Kubernetes kan\u00eb shpresa t\u00eb m\u00ebdha. K\u00ebtu b\u00ebjm\u00eb pjes\u00eb dhe ne, pasi e p\u00ebrdorim aktivisht Helm p\u00ebr implementimin e aplikacioneve: e kemi integruar at\u00eb n\u00eb mjetin ton\u00eb p\u00ebr realizimin e CI\/CD <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/werf\">werf<\/a><\/noindex> dhe rast pas rasti b\u00ebjm\u00eb nj\u00eb kontribut t\u00eb vog\u00ebl n\u00eb zhvillimin e upstream. Ky p\u00ebrkthim bashkon 7 sh\u00ebnime nga blogu zyrtar i Helm, t\u00eb cilat jan\u00eb b\u00ebr\u00eb me rastin e daljes s\u00eb par\u00eb alfa t\u00eb Helm 3 dhe flasin p\u00ebr historin\u00eb e projektit dhe karakteristikat kryesore t\u00eb Helm 3. Autori i tyre \u00ebsht\u00eb Matt \u00abbacongobbler\u00bb Fisher, nj\u00eb punonj\u00ebs i Microsoft dhe nj\u00eb nga kujdestar\u00ebt kryesor\u00eb t\u00eb Helm.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>15 tetor 2015 lindi projekti, tani i njohur si Helm. Vet\u00ebm nj\u00eb vit pas themelimit, komuniteti Helm iu bashkua Kubernetes, duke punuar aktivisht n\u00eb Helm 2. N\u00eb qershor 2018, Helm <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/blog\/2018\/06\/01\/cncf-to-host-helm\/\">u b\u00eb pjes\u00eb e CNCF<\/a><\/noindex> si nj\u00eb projekt n\u00eb zhvillim (incubating). T\u00eb ribashkohemi n\u00eb t\u00eb tashmen \u2014 dhe ja, tashm\u00eb \u00ebsht\u00eb n\u00eb p\u00ebrgatitje dalja e par\u00eb alfa e Helm 3 <i>(kjo dalje <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">ka ndodhur<\/a><\/noindex> n\u00eb mes t\u00eb majit \u2014 sh\u00ebn. p\u00ebrkth.)<\/i>.<\/p>\n<p>N\u00eb k\u00ebt\u00eb material, do t\u00eb flas p\u00ebr se si filluan gj\u00ebrat, si arrit\u00ebm n\u00eb k\u00ebt\u00eb faz\u00eb, do t\u00eb paraqes disa ve\u00e7ori unike, t\u00eb disponueshme n\u00eb daljen e par\u00eb alfa t\u00eb Helm 3, dhe do t\u00eb shpjegoj se si planifikojm\u00eb t\u00eb zhvillohemi m\u00eb tej.<\/p>\n<p>P\u00ebrmbledhje:<\/p>\n<ul>\n<li>historiku i krijimit t\u00eb Helm;<\/li>\n<li>nj\u00eb lamtumir\u00eb e but\u00eb me Tiller-in;<\/li>\n<li>repozitat e chart-\u00ebve;<\/li>\n<li>menaxhimi i daljeve;<\/li>\n<li>ndryshimet n\u00eb var\u00ebsit\u00eb e chart-\u00ebve;<\/li>\n<li>library charts;<\/li>\n<li>\u00e7far\u00eb ndodh m\u00eb tej?<\/li>\n<\/ul>\n<p><\/p>\n<h2>Historia e krijimit t\u00eb Helm<\/h2>\n<p><\/p>\n<h3>Lindja<\/h3>\n<p>\nHelm 1 filloi si nj\u00eb projekt Open Source, i krijuar nga kompania Deis. Ishim nj\u00eb startup i vog\u00ebl, <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.microsoft.com\/blog\/2017\/04\/10\/microsoft-acquire-deis-help-companies-innovate-containers\/\">t\u00eb p\u00ebrfshir\u00eb<\/a><\/noindex> nga Microsoft n\u00eb pranver\u00ebn e 2017. Nj\u00eb nga projektet tona t\u00eb tjera Open Source, gjithashtu me emrin Deis, kishte nj\u00eb mjet <code>deisctl<\/code>, i cili p\u00ebrdorej (mes t\u00eb tjerash) p\u00ebr t\u00eb instaluar dhe ndihmuar n\u00eb operimin e platform\u00ebs Deis n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/fleet\">klasterin Fleet<\/a><\/noindex>. N\u00eb at\u00eb koh\u00eb, Fleet ishte nj\u00eb nga platformat e para p\u00ebr orkestrimin e kontejner\u00ebve.<\/p>\n<p>N\u00eb mes t\u00eb vitit 2015, vendos\u00ebm t\u00eb ndryshojm\u00eb kursin dhe e transferuam Deis (n\u00eb at\u00eb moment t\u00eb riem\u00ebruar si Deis Workflow) nga Fleet n\u00eb Kubernetes. Nj\u00eb nga t\u00eb parat ishte rikonstruksioni i mjetit t\u00eb instalimit <code>deisctl<\/code>. E p\u00ebrdor\u00ebm at\u00eb p\u00ebr instalimin dhe menaxhimin e Deis Workflow n\u00eb klasterin Fleet.<\/p>\n<p>Helm 1 u krijua sipas modelit t\u00eb menaxher\u00ebve t\u00eb njohur t\u00eb paketave, si Homebrew, apt dhe yum. Q\u00ebllimi kryesor i tij ishte t\u00eb thjeshtonte detyra si paketimi dhe instalimi i aplikacioneve n\u00eb Kubernetes. Zyrtarisht, Helm u prezantua n\u00eb vitin 2015 n\u00eb konferenc\u00ebn KubeCon n\u00eb San Francisco.<\/p>\n<p>P\u00ebrpjekja jon\u00eb e par\u00eb me Helm funksionoi, por nuk kaloi pa kufizime t\u00eb r\u00ebnd\u00ebsishme. Ai merrte nj\u00eb grup manifestesh Kubernetes, t\u00eb pasuruara me gjenerator\u00eb si blloqe YAML hyr\u00ebse. <i>(front-matter)<\/i>*, dhe ngarkonte rezultatet n\u00eb Kubernetes.<\/p>\n<p><i>* <b>Sh\u00ebn. p\u00ebrkth.<\/b>: Q\u00eb nga versioni i par\u00eb, p\u00ebrshkrimi i burimeve Kubernetes p\u00ebrdori sintaks\u00ebn YAML, dhe gjat\u00eb shkruarjes s\u00eb konfigurimeve u mb\u00ebshtet\u00ebn shabllone Jinja dhe skenar\u00eb Python. M\u00eb shum\u00eb rreth k\u00ebsaj dhe funksionit t\u00eb versionit t\u00eb par\u00eb t\u00eb Helm gjithashtu kemi shkruar n\u00eb kapitullin \"Historia e shkurt\u00ebr e Helm\" <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">k\u00ebtij materiali<\/a><\/noindex>.<\/i><\/p>\n<p>P\u00ebr shembull, p\u00ebr t\u00eb z\u00ebvend\u00ebsuar nj\u00eb fush\u00eb n\u00eb skedarin YAML, duhej t\u00eb shtonim n\u00eb manifest k\u00ebt\u00eb konstrukcion:<\/p>\n<pre><code class=\"plaintext\">#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my\/pod.yaml<\/code><\/pre>\n<p>\n\u00cbsht\u00eb e shk\u00eblqyeshme q\u00eb sot ekzistojn\u00eb shabllonizues, apo jo?<\/p>\n<p>P\u00ebr shum\u00eb arsye, ky instalues i hersh\u00ebm i Kubernetes k\u00ebrkonte nj\u00eb list\u00eb t\u00eb shkruar sakt\u00ebsisht t\u00eb manifest-fajllave dhe realizonte vet\u00ebm nj\u00eb sekuenc\u00eb t\u00eb vog\u00ebl fikse ngjarjesh. P\u00ebrdorimi i tij ishte aq i v\u00ebshtir\u00eb, saq\u00eb ekipi R&amp;D i Deis Workflow kishte v\u00ebshtir\u00ebsi kur p\u00ebrpiqej t\u00eb transferonte produktin e tij n\u00eb k\u00ebt\u00eb platform\u00eb \u2013 megjithat\u00eb, farat e ideve ishin mbjell\u00eb. P\u00ebrpjekja jon\u00eb e par\u00eb u b\u00eb nj\u00eb mund\u00ebsi e shk\u00eblqyer p\u00ebr t\u00eb m\u00ebsuar: kuptuam se ishim v\u00ebrtet t\u00eb pasionuar pas krijimit t\u00eb mjeteve pragmatike, q\u00eb adresonin probleme t\u00eb p\u00ebrditshme p\u00ebr p\u00ebrdoruesit tan\u00eb.<\/p>\n<p>Duke u mb\u00ebshtetur n\u00eb p\u00ebrvoj\u00ebn e gabimeve t\u00eb kaluara, filluam zhvillimin e Helm 2.<\/p>\n<h3>Krijimi i Helm 2<\/h3>\n<p>\nN\u00eb fund t\u00eb vitit 2015, ekipi i Google na kontaktoi. Ata po punonin mbi nj\u00eb mjet t\u00eb ngjash\u00ebm p\u00ebr Kubernetes. Menaxher i Zbatimeve p\u00ebr Kubernetes ishte nj\u00eb port i nj\u00eb instrumenti ekzistues q\u00eb ishte p\u00ebrdorur p\u00ebr Google Cloud Platform. \"A doni, - pyet\u00ebn ata, - t\u00eb kalojm\u00eb disa dit\u00eb duke diskutuar ngjashm\u00ebrit\u00eb dhe ndryshimet?\"<\/p>\n<p>N\u00eb janar 2016, ekipet e Helm-it dhe Deployment Manager-it u takuan n\u00eb Seattle p\u00ebr t\u00eb shk\u00ebmbyer idet\u00eb. Negociatat p\u00ebrfunduan me nj\u00eb plan ambicioz: t\u00eb bashkonin t\u00eb dy projektet p\u00ebr t\u00eb krijuar Helm 2. S\u00eb bashku me Deis dhe Google, djemt\u00eb nga ekipi zhvillues iu bashkuan <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/skippbox\">SkippBox<\/a><\/noindex> <i>(tani pjes\u00eb e Bitnami \u2013 sh\u00ebn. p\u00ebrk.)<\/i>, dhe ne filluam pun\u00ebn mbi Helm 2.<\/p>\n<p>Ne donim\u00eb t\u00eb ruajm\u00eb thjesht\u00ebsin\u00eb e p\u00ebrdorimit t\u00eb Helm, por t\u00eb shtojm\u00eb t\u00eb m\u00ebposhtmet:<\/p>\n<ul>\n<li> shabllone chart p\u00ebr personalizim;<\/li>\n<li> menaxhim brenda-klaster p\u00ebr ekipet;<\/li>\n<li> repo chart t\u00eb klasit t\u00eb par\u00eb;<\/li>\n<li> formate t\u00eb q\u00ebndrueshme paketash me mund\u00ebsi n\u00ebnshkrimi;<\/li>\n<li> nj\u00eb angazhim t\u00eb fort\u00eb p\u00ebr versionimin semantik dhe ruajtjen e p\u00ebrputhshm\u00ebris\u00eb prapa midis versioneve.<\/li>\n<\/ul>\n<p>\nP\u00ebr t\u00eb arritur k\u00ebto q\u00ebllime, ekosistemi i Helm mori nj\u00eb element t\u00eb dyt\u00eb. Ky komponent brenda-klaster quhej Tiller dhe merrej me instalimin dhe menaxhimin e chart-eve t\u00eb Helm.<\/p>\n<p>Q\u00eb nga lansimi i Helm 2 n\u00eb vitin 2016, Kubernetes ka p\u00ebrjetuar disa inovacione t\u00eb r\u00ebnd\u00ebsishme. U prezantua menaxhimi i aksesit t\u00eb bazuar n\u00eb role (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/422801\/\">RBAC<\/a><\/noindex>), i cili n\u00eb fund z\u00ebvend\u00ebsoi kontrollin e aksesit t\u00eb bazuar n\u00eb atribute (ABAC). U prezantuan lloje t\u00eb reja burimesh (Deployments n\u00eb at\u00eb koh\u00eb ende ishin n\u00eb statusin beta). U shpik\u00ebn Definicionet e Burimeve t\u00eb Personalizuara (fillimisht ato u quajt\u00ebn Burime t\u00eb Tret\u00eb ose TPR). Dhe m\u00eb e r\u00ebnd\u00ebsishmja \u2014 u paraqit nj\u00eb grup praktikash m\u00eb t\u00eb mira.<\/p>\n<p>N\u00eb sfondin e k\u00ebtyre ndryshimeve, Helm vazhdoi t\u00eb sh\u00ebrbente besnik\u00ebrisht p\u00ebr p\u00ebrdoruesit e Kubernetes. Pas tre vjet\u00ebsh dhe shum\u00eb shtesash t\u00eb reja, u b\u00eb e qart\u00eb se ishte koha p\u00ebr t\u00eb b\u00ebr\u00eb ndryshime t\u00eb r\u00ebnd\u00ebsishme n\u00eb baz\u00ebn e kodit n\u00eb m\u00ebnyr\u00eb q\u00eb Helm t\u00eb mund t\u00eb p\u00ebrmbushte nevojat n\u00eb rritje t\u00eb ekosistemit n\u00eb zhvillim.<\/p>\n<h2>Nj\u00eb lamtumir\u00eb e but\u00eb me Tiller-in<\/h2>\n<p>\nGjat\u00eb zhvillimit t\u00eb Helm 2, ne paraqit\u00ebm Tiller-in si pjes\u00eb t\u00eb integrimit ton\u00eb me Deployment Manager-in nga Google. Tiller luajti nj\u00eb rol t\u00eb r\u00ebnd\u00ebsish\u00ebm p\u00ebr ekipet q\u00eb punonin n\u00eb kuad\u00ebr t\u00eb nj\u00eb klasteri t\u00eb p\u00ebrbashk\u00ebt: ai lejonte specialist\u00ebt e ndrysh\u00ebm q\u00eb menaxhonin infrastruktur\u00ebn t\u00eb lidhnin me t\u00eb nj\u00ebjtin set l\u00ebshimesh.<\/p>\n<p>Meqen\u00ebse kontrolli i qasjes mbi baz\u00ebn e roleve (RBAC) ishte aktivizuar si parazgjedhje n\u00eb Kubernetes 1.6, puna me Tiller-in n\u00eb prodhim b\u00ebhej m\u00eb e v\u00ebshtir\u00eb. P\u00ebr shkak t\u00eb numrit t\u00eb madh t\u00eb politikave t\u00eb mundshme t\u00eb siguris\u00eb, pozita jon\u00eb ishte q\u00eb t\u00eb ofronim nj\u00eb konfigurim m\u00eb leht\u00ebsues si parazgjedhje. Kjo u mund\u00ebsonte fillestar\u00ebve t\u00eb eksperimentonin me Helm dhe Kubernetes pa qen\u00eb e nevojshme t\u00eb zhyten n\u00eb konfigurimet e siguris\u00eb. Fatkeq\u00ebsisht, kjo konfigurim leht\u00ebsues mund t\u00eb jepte p\u00ebrdoruesit nj\u00eb gam\u00eb t\u00eb gjer\u00eb lejesh q\u00eb ata nuk i nevojiteshin. Inxhinier\u00ebt DevOps dhe SRE duhej t\u00eb m\u00ebsonin hapa t\u00eb tjer\u00eb operativ\u00eb duke instaluar Tiller-in n\u00eb nj\u00eb klaster multi-tenant.<\/p>\n<p>Duke m\u00ebsuar se si p\u00ebrfaq\u00ebsuesit e komunitetit p\u00ebrdorin Helm n\u00eb situata t\u00eb ve\u00e7anta, ne kuptuam se sistemi i menaxhimit t\u00eb l\u00ebshimeve Tiller-it nuk duhej t\u00eb mb\u00ebshtetej te nj\u00eb komponent brenda klastri p\u00ebr t\u00eb mbajtur gjendjet apo t\u00eb funksiononte si nj\u00eb qend\u00ebr qendrore me informacion p\u00ebr l\u00ebshimin. N\u00eb vend t\u00eb k\u00ebsaj, ne mund t\u00eb merrnim informacion nga API-serveri i Kubernetes, t\u00eb gjeneronim chart-in n\u00eb an\u00ebn e klientit dhe t\u00eb ruanim nj\u00eb regjist\u00ebr instalimi n\u00eb Kubernetes.<\/p>\n<p>Detyra kryesore e Tiller-it mund t\u00eb realizohej edhe pa Tiller-in, k\u00ebshtu q\u00eb nj\u00eb nga zgjidhjet tona t\u00eb para p\u00ebr Helm 3 ishte plot\u00ebsisht heqja e Tiller-it.<\/p>\n<p>Me ikjen e Tiller-it, modeli i siguris\u00eb s\u00eb Helm-it u thjeshtua radikalisht. Helm 3 tani mb\u00ebshtet t\u00eb gjitha m\u00ebnyrat moderne t\u00eb siguris\u00eb, identifikimit dhe autorizimit t\u00eb Kubernetes aktual. Lejet e Helm-it p\u00ebrcaktohen n\u00ebp\u00ebrmjet <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/organize-cluster-access-kubeconfig\/\">file kubeconfig<\/a><\/noindex>. Administrator\u00ebt e klasorit mund t\u00eb kufizojn\u00eb t\u00eb drejtat e p\u00ebrdoruesve me \u00e7do shkall\u00eb detajimi. L\u00ebshimet akoma ruajn\u00eb brenda klasorit, dhe funksionaliteti tjet\u00ebr i Helm-it mbetet i pandryshuar.<\/p>\n<h2>Repozitat e chart-eve<\/h2>\n<p>\nN\u00eb nj\u00eb nivel t\u00eb lart\u00eb, nj\u00eb repozit\u00eb chart-e \u00ebsht\u00eb vendi ku mund t\u00eb ruhet dhe ndahen chart-et. Klienti Helm paket dhe d\u00ebrgon chart-et n\u00eb repozit\u00eb. Thjesht, nj\u00eb repozit\u00eb chart-e \u00ebsht\u00eb nj\u00eb server HTTP primitiv me nj\u00eb sked\u00eb index.yaml dhe disa chart-e t\u00eb paketuar.<\/p>\n<p>Megjith\u00ebse ka disa p\u00ebrfitime q\u00eb API-ja e repozit\u00ebs chart-e p\u00ebrmbush k\u00ebrkesat themelore p\u00ebr ruajtje, ajo ka gjithashtu disa disavantazhe:<\/p>\n<ul>\n<li> Repozitor\u00ebt e chart-ave jan\u00eb pak t\u00eb p\u00ebrshtatsh\u00ebm me shumic\u00ebn e implementimeve t\u00eb siguris\u00eb q\u00eb k\u00ebrkohen n\u00eb mjedisin e prodhimit. Prania e nj\u00eb API standard p\u00ebr autentifikimin dhe autorizimin \u00ebsht\u00eb jasht\u00ebzakonisht e r\u00ebnd\u00ebsishme n\u00eb skenar\u00ebt e prodhimit.<\/li>\n<li> Veglat e Helm-it p\u00ebr ndjekjen e origjin\u00ebs s\u00eb chart-ave, t\u00eb p\u00ebrdorura p\u00ebr n\u00ebnshkrimin, verifikimin e integritetit dhe origjin\u00ebn e chart-it, jan\u00eb nj\u00eb pjes\u00eb opsionale e procesit t\u00eb publikimit t\u00eb Chart-it.<\/li>\n<li> N\u00eb skenar\u00ebt shum\u00eb-p\u00ebrdorues, i nj\u00ebjti chart mund t\u00eb ngarkohet nga nj\u00eb p\u00ebrdorues tjet\u00ebr, duke dyfishuar hap\u00ebsir\u00ebn e nevojshme p\u00ebr ruajtjen e t\u00eb nj\u00ebjtit p\u00ebrmbajtje. P\u00ebr t\u00eb zgjidhur k\u00ebt\u00eb problem, jan\u00eb zhvilluar repo m\u00eb t\u00eb men\u00e7ur, megjithat\u00eb ato nuk jan\u00eb pjes\u00eb e specifikimit formal.<\/li>\n<li> P\u00ebrdorimi i nj\u00eb skedari indeksi unik p\u00ebr k\u00ebrkimin, ruajtjen e metadatan\u00ebve dhe marrjen e chart-ave ka komplikuar zhvillimin e implementimeve t\u00eb sigurta shum\u00eb-p\u00ebrdoruese.<\/li>\n<\/ul>\n<p>\nProjekti <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/docker\/distribution\">Docker Distribution<\/a><\/noindex> (i njohur gjithashtu si Docker Registry v2) \u00ebsht\u00eb pasardh\u00ebsi i Docker Registry dhe n\u00eb fakt p\u00ebrfaq\u00ebson nj\u00eb grup mjetesh p\u00ebr paketimin, d\u00ebrgimin, ruajtjen dhe shp\u00ebrndarjen e imazheve Docker. Shum\u00eb sh\u00ebrbime t\u00eb m\u00ebdha n\u00eb cloud ofrojn\u00eb produkte t\u00eb bazuara n\u00eb Distribution. Fal\u00eb k\u00ebsaj v\u00ebmendjeje t\u00eb rritur, projekti Distribution ka p\u00ebrfituar nga p\u00ebrmir\u00ebsime t\u00eb shumta p\u00ebr vite me radh\u00eb, praktika m\u00eb t\u00eb mira n\u00eb fush\u00ebn e siguris\u00eb dhe testimi n\u00eb kushte \"nd\u00ebr\" q\u00eb e kan\u00eb b\u00ebr\u00eb at\u00eb nj\u00eb nga heronjt\u00eb m\u00eb t\u00eb suksessh\u00ebm t\u00eb pap\u00ebrmendur t\u00eb bot\u00ebs Open Source.<\/p>\n<p>Por a e dini se projekti Distribution \u00ebsht\u00eb zhvilluar p\u00ebr shp\u00ebrndarjen e \u00e7do forme p\u00ebrmbajtjeje, jo vet\u00ebm imazheve t\u00eb kontejner\u00ebve?<\/p>\n<p>Fal\u00eb p\u00ebrpjekjeve <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opencontainers.org\/\">Open Container Initiative<\/a><\/noindex> (ose OCI), Helm-chart-et mund t\u00eb vendosen n\u00eb \u00e7do instanc\u00eb t\u00eb Distribution. Nd\u00ebrsa ky proces \u00ebsht\u00eb ende n\u00eb faz\u00ebn eksperimentale. Puna p\u00ebr mb\u00ebshtetje t\u00eb login-vet dhe funksione t\u00eb tjera t\u00eb nevojshme p\u00ebr nj\u00eb Helm 3 t\u00eb plot\u00eb ende nuk \u00ebsht\u00eb p\u00ebrfunduar, por ne jemi shum\u00eb t\u00eb lumtur p\u00ebr mund\u00ebsin\u00eb p\u00ebr t\u00eb m\u00ebsuar nga zbulimet e b\u00ebra nga ekipet OCI dhe Distribution gjat\u00eb k\u00ebtyre viteve. Fal\u00eb mentorimit dhe udh\u00ebheqjes s\u00eb tyre, ne po m\u00ebsojm\u00eb se \u00e7far\u00eb \u00ebsht\u00eb operimi i nj\u00eb sh\u00ebrbimi me akses t\u00eb lart\u00eb n\u00eb shkall\u00eb t\u00eb madhe.<\/p>\n<p>Nj\u00eb p\u00ebrshkrim m\u00eb i detajuar i disa ndryshimeve t\u00eb ardhshme n\u00eb repositor\u00ebt e Helm-chart-eve \u00ebsht\u00eb n\u00eb dispozicion <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.bacongobbler.com\/post\/2019-01-25-distributing-with-distribution\/\">n\u00eb lidhje<\/a><\/noindex>.<\/p>\n<h2>Menaxhimi i l\u00ebshimeve<\/h2>\n<p>\nN\u00eb Helm 3, gjendja e aplikacionit ndjeket brenda klasterit nga nj\u00eb \u00e7ift objektesh:<\/p>\n<ul>\n<li> Objekti i lirimit \u2014 p\u00ebrfaq\u00ebson nj\u00eb instanc\u00eb t\u00eb aplikacionit;<\/li>\n<li> sekreti i versionit t\u00eb l\u00ebshimit \u2014 p\u00ebrfaq\u00ebson gjendjen e d\u00ebshiruar t\u00eb aplikacionit n\u00eb nj\u00eb moment t\u00eb caktuar n\u00eb koh\u00eb (p.sh., l\u00ebshimi i nj\u00eb versioni t\u00eb ri).<\/li>\n<\/ul>\n<p>\nThirrja <code>helm install<\/code> krijon objektin e l\u00ebshimit dhe sekretin e versionit t\u00eb l\u00ebshimit. Thirrja <code>helm upgrade<\/code> k\u00ebrkon nj\u00eb objekt t\u00eb l\u00ebshimit (t\u00eb cilin mund ta ndryshoj\u00eb) dhe krijon nj\u00eb sekret t\u00eb ri t\u00eb versionit t\u00eb l\u00ebshimit, i cili p\u00ebrmban vlera t\u00eb reja dhe manifestin e p\u00ebrgatitur.<\/p>\n<p>Objekti i l\u00ebshimit p\u00ebrmban informacion mbi l\u00ebshimin, ku l\u00ebshimi \u00ebsht\u00eb instalimi specifik i nj\u00eb charti t\u00eb em\u00ebruar dhe vlerave. Ky objekt p\u00ebrshkruan t\u00eb dh\u00ebnat mbi l\u00ebshimin. Objekti i l\u00ebshimit ruhet gjat\u00eb gjith\u00eb ciklit t\u00eb jet\u00ebs s\u00eb aplikacionit dhe \u00ebsht\u00eb pronari i t\u00eb gjitha sekreteve t\u00eb versioneve t\u00eb l\u00ebshimit, si dhe t\u00eb gjitha objekteve q\u00eb krijohen drejtp\u00ebrdrejt nga charti Helm.<\/p>\n<p>Sekreti i versionit t\u00eb l\u00ebshimit lidh l\u00ebshimin me nj\u00eb seri rishikimesh (instalim, p\u00ebrmir\u00ebsime, kthime prapa, fshirje).<\/p>\n<p>N\u00eb Helm 2, rishikimet ishin ekskluzivisht sekondare. Thirrja <code>helm install<\/code> krijoi v1, p\u00ebrmir\u00ebsimi i m\u00ebpassh\u00ebm (upgrade) \u2014 v2, dhe k\u00ebshtu me radh\u00eb. L\u00ebshimi dhe sekreti i versionit t\u00eb l\u00ebshimit u bashkuan n\u00eb nj\u00eb objekt t\u00eb vet\u00ebm, t\u00eb njohur si revision. Revisionet u ruajt\u00ebn n\u00eb t\u00eb nj\u00ebjtin hap\u00ebsir\u00eb emri si Tiller, \u00e7ka do t\u00eb thoshte se \u00e7do l\u00ebshim ishte 'global' n\u00eb aspektin e hap\u00ebsir\u00ebs emri; si rezultat, mund t\u00eb p\u00ebrdorej vet\u00ebm nj\u00eb ekzemplar i emrit.<\/p>\n<p>N\u00eb Helm 3 \u00e7do l\u00ebshim \u00ebsht\u00eb i lidhur me nj\u00eb ose m\u00eb shum\u00eb sekrete t\u00eb versionit t\u00eb l\u00ebshimit. Objekti i l\u00ebshimit gjithmon\u00eb p\u00ebrshkruan l\u00ebshimin aktual t\u00eb vendosur n\u00eb Kubernetes. \u00c7do sekret i versionit t\u00eb l\u00ebshimit p\u00ebrshkruan vet\u00ebm nj\u00eb version t\u00eb k\u00ebtij l\u00ebshimi. Nj\u00eb p\u00ebrmir\u00ebsim (upgrade), p\u00ebr shembull, do t\u00eb krijonte nj\u00eb sekret t\u00eb ri t\u00eb versionit t\u00eb l\u00ebshimit dhe m\u00eb pas do t\u00eb ndryshonte objektin e l\u00ebshimit q\u00eb t\u00eb tregonte p\u00ebr k\u00ebt\u00eb version t\u00eb ri. N\u00eb rastin e rikthimit (rollback), mund t\u00eb p\u00ebrdoren sekretet e m\u00ebparshme t\u00eb versionit t\u00eb l\u00ebshimit p\u00ebr t\u00eb rikthyer l\u00ebshimin n\u00eb gjendjen e tij t\u00eb m\u00ebparshme.<\/p>\n<p>Pas heqjes s\u00eb Tiller, Helm 3 ruan t\u00eb dh\u00ebnat e l\u00ebshimit n\u00eb t\u00eb nj\u00ebjt\u00ebn hap\u00ebsir\u00eb emri me l\u00ebshimin. Nj\u00eb ndryshim i till\u00eb lejon instalimin e nj\u00eb charti me t\u00eb nj\u00ebjtin em\u00ebr l\u00ebshimi n\u00eb nj\u00eb hap\u00ebsir\u00eb emri tjet\u00ebr, dhe t\u00eb dh\u00ebnat ruhen midis p\u00ebrmir\u00ebsimeve\/rikthimeve t\u00eb klasterit n\u00eb etcd. P\u00ebr shembull, mund t\u00eb instaloni WordPress n\u00eb hap\u00ebsir\u00ebn e emrit 'foo', dhe pastaj n\u00eb hap\u00ebsir\u00ebn e emrit 'bar', dhe t\u00eb dy l\u00ebshimet mund t\u00eb quhen 'wordpress'.<\/p>\n<h2>Ndryshimet n\u00eb var\u00ebsi t\u00eb grafiku<\/h2>\n<p>\nGrafik\u00ebt, t\u00eb paketuar (me ndihm\u00ebn e <code>helm package<\/code>) p\u00ebr t'u p\u00ebrdorur me Helm 2, mund t\u00eb instalohet me Helm 3, megjithat\u00eb procesi i zhvillimit t\u00eb chart-\u00ebve \u00ebsht\u00eb rishikuar plot\u00ebsisht, prandaj nevojiten disa ndryshime p\u00ebr t\u00eb vazhduar zhvillimin e chart-\u00ebve me Helm 3. N\u00eb ve\u00e7anti, sistemi i menaxhimit t\u00eb var\u00ebsive t\u00eb chart-\u00ebve \u00ebsht\u00eb ndryshuar.<\/p>\n<p>Sistemi i menaxhimit t\u00eb var\u00ebsive t\u00eb chart-it kaloi nga <code>requirements.yaml<\/code> dhe <code>requirements.lock<\/code> n\u00eb <code>Chart.yaml<\/code> dhe <code>Chart.lock<\/code>. Kjo do t\u00eb thot\u00eb se chart-et q\u00eb kan\u00eb p\u00ebrdorur komand\u00ebn <code>helm dependency<\/code>, k\u00ebrkojn\u00eb ndonj\u00eb konfigurim p\u00ebr t\u00eb funksionuar n\u00eb Helm 3.<\/p>\n<p>Le t\u00eb shikojm\u00eb nj\u00eb shembull. Shtojm\u00eb nj\u00eb var\u00ebsi n\u00eb chart n\u00eb Helm 2 dhe shohim se \u00e7far\u00eb do t\u00eb ndryshoj\u00eb gjat\u00eb kalimit n\u00eb Helm 3.<\/p>\n<p>N\u00eb Helm 2 <code>requirements.yaml<\/code> dukej si vijon:<\/p>\n<pre><code class=\"plaintext\">dependencies:\n- name: mariadb\n  version: 5.x.x\n  repository: https:\/\/kubernetes-charts.storage.googleapis.com\/\n  condition: mariadb.enabled\n  tags:\n    - database<\/code><\/pre>\n<p>\nN\u00eb Helm 3, e nj\u00ebjta var\u00ebsi do t\u00eb reflektohet n\u00eb <code>Chart.yaml<\/code>:<\/p>\n<pre><code class=\"plaintext\">dependencies:\n- name: mariadb\n  version: 5.x.x\n  repository: https:\/\/kubernetes-charts.storage.googleapis.com\/\n  condition: mariadb.enabled\n  tags:\n    - database<\/code><\/pre>\n<p>\nChart-et ende ngarkohen dhe vendosen n\u00eb drejtorin\u00eb <code>charts\/<\/code>, prandaj subchart-et <i>(subcharts)<\/i>, q\u00eb ndodhen n\u00eb katalog <code>charts\/<\/code>, do t\u00eb vazhdojn\u00eb t\u00eb funksionojn\u00eb pa ndryshime.<\/p>\n<h2>Prezantimi i Library Charts<\/h2>\n<p>\nHelm 3 mb\u00ebshtet nj\u00eb klas\u00eb chart-esh q\u00eb quhet chart-e biblioteka <i>(library chart)<\/i>. Ky chart p\u00ebrdoret nga charta t\u00eb tjera, por nuk krijon vet\u00eb asnj\u00eb artefakt l\u00ebshimi. Shabllonet e libraris\u00eb s\u00eb chart-\u00ebve mund t\u00eb shpallin vet\u00ebm elemente <code>define<\/code>. P\u00ebrmbajtje e tjera injorohet. Kjo u mund\u00ebson p\u00ebrdoruesve t\u00eb ri-p\u00ebrdorin dhe ndajn\u00eb fragmente kodi q\u00eb mund t\u00eb p\u00ebrdoren n\u00eb shum\u00eb chart-e, duke shmangur k\u00ebshtu dyfishimin dhe duke u p\u00ebrmbajtur parimit <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\">DRY<\/a><\/noindex>.<\/p>\n<p>Library chart-et shpallen n\u00eb seksionin <code>dependencies<\/code> n\u00eb skedarin <code>Chart.yaml<\/code>. Instalimi dhe menaxhimi i tyre nuk ndryshon nga chart-et e tjera.<\/p>\n<pre><code class=\"plaintext\">dependencies:\n  - name: mylib\n    version: 1.x.x\n    repository: quay.io<\/code><\/pre>\n<p>\nNe presim me padurim rastet e p\u00ebrdorimit q\u00eb ky komponent do t'i hap\u00eb zhvilluesve t\u00eb chart-eve, si dhe praktikat m\u00eb t\u00eb mira q\u00eb mund t\u00eb lindin fal\u00eb library chart-eve.<\/p>\n<h2>\u00c7far\u00eb ndodh m\u00eb tej?<\/h2>\n<p>\nHelm 3.0.0-alpha.1 \u00ebsht\u00eb baza mbi t\u00eb cil\u00ebn fillojm\u00eb t\u00eb krijojm\u00eb nj\u00eb version t\u00eb ri t\u00eb Helm. N\u00eb k\u00ebt\u00eb artikull kam p\u00ebrshkruar disa mund\u00ebsi interesante t\u00eb Helm 3. Shumica e tyre jan\u00eb ende n\u00eb faza t\u00eb hershme t\u00eb zhvillimit dhe kjo \u00ebsht\u00eb normale; thelbi i nj\u00eb rrelease alfa \u00ebsht\u00eb t\u00eb testosh iden\u00eb, t\u00eb grumbullosh reagime nga p\u00ebrdoruesit e par\u00eb dhe t\u00eb konfirmosh supozimet tona.<\/p>\n<p>Pasi t\u00eb l\u00ebshohet versioni alfa <i>(kujtojm\u00eb se kjo <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">ka ndodhur tashm\u00eb<\/a><\/noindex> \u2014 sh\u00ebn. p\u00ebrkth.)<\/i>, ne do t\u00eb fillojm\u00eb t\u00eb pranojm\u00eb patch-e p\u00ebr Helm 3 nga komuniteti. Ka nevoj\u00eb p\u00ebr t\u00eb nd\u00ebrtuar nj\u00eb themel t\u00eb fort\u00eb q\u00eb do t\u00eb mund\u00ebsoj\u00eb zhvillimin dhe pranimin e ve\u00e7orive t\u00eb reja, nd\u00ebrsa p\u00ebrdoruesit do t\u00eb ndihen t\u00eb angazhuar n\u00eb proces, duke hapur tiketa dhe duke b\u00ebr\u00eb korrigjime.<\/p>\n<p>N\u00eb artikull kam p\u00ebrpjekur t\u00eb ilustroj disa p\u00ebrmir\u00ebsime t\u00eb r\u00ebnd\u00ebsishme q\u00eb do t\u00eb dalin n\u00eb Helm 3, megjithat\u00eb ky list\u00eb n\u00eb asnj\u00eb rast nuk mund t\u00eb quhet p\u00ebrfundimtar. Plani i plot\u00eb p\u00ebr Helm 3 p\u00ebrfshin novacione si strategjit\u00eb e p\u00ebrmir\u00ebsuara t\u00eb p\u00ebrdit\u00ebsimit, integrim m\u00eb t\u00eb thell\u00eb me regjistrat OCI dhe p\u00ebrdorimin e skemave JSON p\u00ebr verifikimin e vlerave t\u00eb chart-eve. Po ashtu, planifikojm\u00eb t\u00eb pastrojm\u00eb baz\u00ebn e kodit dhe t\u00eb p\u00ebrdit\u00ebsojm\u00eb ato pjes\u00eb q\u00eb kan\u00eb mbetur pa v\u00ebmendje gjat\u00eb tri viteve t\u00eb fundit.<\/p>\n<p>N\u00ebse ndjeni se kemi anashkaluar di\u00e7ka, do t\u00eb ishim t\u00eb lumtur t\u00eb d\u00ebgjonim mendimet tuaja!<\/p>\n<p>Bashkohuni n\u00eb diskutimin n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.slack.com\/\">kanalet tona Slack<\/a><\/noindex>:<\/p>\n<ul>\n<li> <code>#helm-users<\/code> p\u00ebr pyetje dhe komunikim t\u00eb thjesht\u00eb me komunitetin;<\/li>\n<li> <code>#helm-dev<\/code> p\u00ebr diskutimin e pull requests, kodit dhe bug-eve.<\/li>\n<\/ul>\n<p>\nJu gjithashtu mund t\u00eb bisedoni n\u00eb Thirrjet Publike t\u00eb Zhvilluesve \u00e7do t\u00eb enjte n\u00eb 19:30 MSK. Takimet jan\u00eb t\u00eb dedikuara p\u00ebr diskutimin e detyrave q\u00eb po punojn\u00eb zhvilluesit kryesor\u00eb dhe komuniteti, si dhe p\u00ebr temat q\u00eb do t\u00eb diskutohen gjat\u00eb jav\u00ebs. \u00c7dokush mund t\u00eb bashkohet dhe t\u00eb marr\u00eb pjes\u00eb n\u00eb takim. Linku \u00ebsht\u00eb i disponuesh\u00ebm n\u00eb kanalin Slack <code>#helm-dev<\/code>.<\/p>\n<h2>P.S. nga p\u00ebrkthyesi<\/h2>\n<p>\nLexoni gjithashtu n\u00eb blogun ton\u00eb:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">Menaxheri i paketave p\u00ebr Kubernetes \u2014 Helm: e kaluara, e tashmja, e ardhmja<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438814\/\">Nj\u00eb vler\u00ebsim objektiv mbi Helm 2: 'K\u00ebshtu \u00ebsht\u00eb...'<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420437\/\">Njohuri praktike me menaxherin e paketave p\u00ebr Kubernetes \u2014 Helm<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/441964\/\">K\u00ebshilla &amp; truket p\u00ebr Kubernetes: p\u00ebrkthimi i burimeve q\u00eb funksionojn\u00eb n\u00eb klaster n\u00ebn menaxhimin e Helm 2<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/336170\/\">Praktika me dapp. Pjesa 2. D\u00ebgjoni imazhet Docker n\u00eb Kubernetes me ndihm\u00ebn e Helm<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/453734\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: 16 \u043c\u0430\u044f \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u2014 \u0437\u043d\u0430\u0447\u0438\u043c\u0430\u044f \u0432\u0435\u0445\u0430 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f Kubernetes \u2014 Helm. \u0412 \u044d\u0442\u043e\u0442 \u0434\u0435\u043d\u044c \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u043b\u044c\u0444\u0430-\u0440\u0435\u043b\u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 3.0. \u0415\u0451 \u0432\u044b\u0445\u043e\u0434 \u043f\u0440\u0438\u043d\u0435\u0441\u0451\u0442 \u0432 Helm \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432 Kubernetes-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 \u0432\u043e\u0437\u043b\u0430\u0433\u0430\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0430\u0434\u0435\u0436\u0434\u044b. \u041a \u0442\u0430\u043a\u043e\u0432\u044b\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u043c\u0441\u044f \u0438 \u043c\u044b \u0441\u0430\u043c\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26173,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34735","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.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c.\" \/>\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\/znakomstvo-s-helm-3\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\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\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 Helm 3 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/znakomstvo-s-helm-3\" \/>\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=\"2019-10-31T19:00:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:06+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\udd47Prezantimi i Helm 3 | ProHoster","description":"Sh\u00ebn.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/znakomstvo-s-helm-3","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\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 Helm 3 | ProHoster","og:description":"\u041f\u0440\u0438\u043c.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/znakomstvo-s-helm-3","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":"2019-10-31T19:00:06+00:00","article:modified_time":"2019-10-31T19:00:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34735","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":"2026-01-21 20:26:53","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 23:08:04","updated":"2026-01-21 20:26:53","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\/34735","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=34735"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/34735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/26173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=34735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=34735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=34735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}