{"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\/hu\/blog\/administrirovanie\/znakomstvo-s-helm-3","title":{"rendered":"Ismerked\u00e9s a Helm 3-mal","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Ismerked\u00e9s a Helm 3-mal\" src=\"\/wp-content\/uploads\/2019\/05\/6de0e2887ddcc802f1dd71c902325401.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i><b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: m\u00e1jus 16-\u00e1n jelent\u0151s m\u00e9rf\u00f6ldk\u0151h\u00f6z \u00e9rkezett a Kubernetes csomagkezel\u0151j\u00e9nek, a Helm-nek a fejleszt\u00e9se. Ezen a napon bemutatt\u00e1k a projekt j\u00f6v\u0151beli nagy verzi\u00f3j\u00e1nak els\u0151 alfa kiad\u00e1s\u00e1t \u2013 3.0. Ennek megjelen\u00e9se jelent\u0151s \u00e9s r\u00e9g\u00f3ta v\u00e1rt v\u00e1ltoz\u00e1sokat hoz a Helm-be, amelyekben sokan, a Kubernetes k\u00f6z\u00f6ss\u00e9g\u00e9ben, nagy rem\u00e9nyeket f\u0171znek. Mi is k\u00f6z\u00e9j\u00fck tartozunk, mivel akt\u00edvan haszn\u00e1ljuk a Helmet alkalmaz\u00e1sok telep\u00edt\u00e9s\u00e9re: integr\u00e1ltuk a CI\/CD megval\u00f3s\u00edt\u00f3 eszk\u00f6z\u00fcnkbe. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/werf\">werf<\/a><\/noindex> \u00e9s alkalomr\u00f3l alkalomra hozz\u00e1j\u00e1rulunk az upstream fejleszt\u00e9s\u00e9hez. Ez a ford\u00edt\u00e1s 7 megjegyz\u00e9st egyes\u00edt a Helm hivatalos blogj\u00e1b\u00f3l, amelyek az 1. alfa kiad\u00e1sra vonatkoznak, \u00e9s mes\u00e9lnek a projektr\u0151l \u00e9s a Helm 3 f\u0151bb funkci\u00f3ir\u00f3l. \u00cdr\u00f3ja Matt \u201ebacongobbler\u201d Fisher, a Microsoft munkat\u00e1rsa \u00e9s a Helm egyik kulcsfontoss\u00e1g\u00fa fenntart\u00f3ja.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>2015. okt\u00f3ber 15-\u00e9n sz\u00fcletett meg a projekt, ma Helm n\u00e9ven ismert. Csak egy \u00e9vvel a megalakul\u00e1sa ut\u00e1n a Helm k\u00f6z\u00f6ss\u00e9ge csatlakozott a Kuberneteshez, mik\u00f6zben akt\u00edvan dolgozott a Helm 2-n. 2018 j\u00fanius\u00e1ban a Helm <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/blog\/2018\/06\/01\/cncf-to-host-helm\/\">a CNCF tagja lett<\/a><\/noindex> fejl\u0151d\u0151 (incubating) projektk\u00e9nt. T\u00e9rj\u00fcnk vissza a jelenbe \u2013 \u00e9s m\u00e1r k\u00f6zel\u00edt az \u00faj Helm 3 els\u0151 alfa kiad\u00e1sa, <i>(ez a kiad\u00e1s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">m\u00e1r meg is t\u00f6rt\u00e9nt<\/a><\/noindex> m\u00e1jus k\u00f6zep\u00e9n \u2013 a ford. megj.).<\/i>.<\/p>\n<p>Ebben az anyagban besz\u00e9lek arr\u00f3l, hogy mik\u00e9nt indult minden, hogyan jutottunk el a jelenlegi szakaszig, bemutatok n\u00e9h\u00e1ny egyedi jellemz\u0151t, amelyek az els\u0151 alfa kiad\u00e1sban el\u00e9rhet\u0151k, \u00e9s elmagyar\u00e1zom, hogyan tervez\u00fcnk tov\u00e1bb fejl\u0151dni.<\/p>\n<p>\u00d6sszefoglal\u00f3:<\/p>\n<ul>\n<li>a Helm l\u00e9trehoz\u00e1s\u00e1nak t\u00f6rt\u00e9nete;<\/li>\n<li>B\u00facs\u00fa Tillerrel<\/li>\n<li>chart t\u00e1rol\u00f3k;<\/li>\n<li>kiad\u00e1sok kezel\u00e9se;<\/li>\n<li>a chartok f\u00fcgg\u0151s\u00e9geiben bek\u00f6vetkezett v\u00e1ltoz\u00e1sok;<\/li>\n<li>library charts;<\/li>\n<li>mi a k\u00f6vetkez\u0151 l\u00e9p\u00e9s?<\/li>\n<\/ul>\n<p><\/p>\n<h2>A Helm l\u00e9trehoz\u00e1s\u00e1nak t\u00f6rt\u00e9nete<\/h2>\n<p><\/p>\n<h3>Sz\u00fclet\u00e9s<\/h3>\n<p>\nA Helm 1 ny\u00edlt forr\u00e1sk\u00f3d\u00fa projektk\u00e9nt kezd\u0151d\u00f6tt, amelyet a Deis ind\u00edtott. Mi egy kis startup voltunk, <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.microsoft.com\/blog\/2017\/04\/10\/microsoft-acquire-deis-help-companies-innovate-containers\/\">amelyet<\/a><\/noindex> a Microsoft felv\u00e1s\u00e1rolt 2017 tavasz\u00e1n. M\u00e1sik ny\u00edlt forr\u00e1sk\u00f3d\u00fa projekt\u00fcnk, amely szint\u00e9n Deis n\u00e9vre hallgatott, egy olyan eszk\u00f6zt haszn\u00e1lt, <code>aminek neve<\/code>deisctl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/fleet\">, amelyet (m\u00e1sok mellett) a Deis platform telep\u00edt\u00e9s\u00e9re \u00e9s \u00fczemeltet\u00e9s\u00e9re haszn\u00e1ltak<\/a><\/noindex>a Fleet klaszterben.<\/p>\n<p>Abban az id\u0151ben a Fleet volt az egyik els\u0151 kont\u00e9ner orchestration platform. <code>aminek neve<\/code>2015 k\u00f6zep\u00e9n \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy v\u00e1ltunk, \u00e9s \u00e1t\u00e1lltunk a Deist (akkor Deis Workflow-ra \u00e1tnevezett) a Fleet-r\u0151l a Kubernetes-re. Az egyik els\u0151 l\u00e9p\u00e9s volt az telep\u00edt\u0151 eszk\u00f6z \u00e1tdolgoz\u00e1sa, amelyet a Deis Workflow telep\u00edt\u00e9s\u00e9re \u00e9s kezel\u00e9s\u00e9re haszn\u00e1ltunk a Fleet klaszterben.<\/p>\n<p>A Helm 1 a h\u00edres csomagkezel\u0151k, p\u00e9ld\u00e1ul a Homebrew, az apt \u00e9s a yum mint\u00e1j\u00e1ra k\u00e9sz\u00fclt. F\u0151 feladata a Kubernetes alkalmaz\u00e1sok csomagol\u00e1s\u00e1nak \u00e9s telep\u00edt\u00e9s\u00e9nek leegyszer\u0171s\u00edt\u00e9se volt. A Helm hivatalosan 2015-ben deb\u00fct\u00e1lt a KubeCon konferenci\u00e1n San Francisc\u00f3ban.<\/p>\n<p>Az els\u0151 k\u00eds\u00e9rlet\u00fcnk a Helmmel sikeres volt, de nem ker\u00fclt\u00fck el a komoly korl\u00e1tokat. A Kubernetes manifestumok egy csoportj\u00e1t vette alapul, amelyeket gener\u00e1torok d\u00edsz\u00edtettek ki bemeneti YAML-blokkokk\u00e9nt. <i>(front-matter)<\/i>*, \u00e9s bet\u00f6lt\u00f6tte az eredm\u00e9nyeket a Kubernetesbe.<\/p>\n<p><i>* <b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: A Helm els\u0151 verzi\u00f3j\u00e1nak megjelen\u00e9sekor a Kubernetes er\u0151forr\u00e1sok le\u00edr\u00e1s\u00e1ra a YAML szintaxis lett v\u00e1lasztva, \u00e9s a konfigur\u00e1ci\u00f3k \u00edr\u00e1sakor Jinja \u00e9s Python script sablonokat t\u00e1mogattak. Ezzel kapcsolatban \u00e9s a Helm els\u0151 verzi\u00f3j\u00e1nak fel\u00e9p\u00edt\u00e9s\u00e9r\u0151l a \u201eHelm r\u00f6vid t\u00f6rt\u00e9nete\u201d fejezetben \u00edrtunk. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">ez anyag<\/a><\/noindex>.<\/i><\/p>\n<p>P\u00e9ld\u00e1ul, ha egy mez\u0151t szeretn\u00e9nk kicser\u00e9lni egy YAML-f\u00e1jlban, a k\u00f6vetkez\u0151 konstrukci\u00f3t kellett hozz\u00e1adnunk a manifestumhoz:<\/p>\n<pre><code class=\"plaintext\">#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my\/pod.yaml<\/code><\/pre>\n<p>\nJ\u00f3 l\u00e1tni, hogy ma m\u00e1r l\u00e9teznek sablonkezel\u0151k, nem igaz?<\/p>\n<p>Sok okb\u00f3l ez a korai Kubernetes telep\u00edt\u0151 szigor\u00faan meghat\u00e1rozott list\u00e1t ig\u00e9nyelt a manifest-f\u00e1jlokr\u00f3l \u00e9s csak egy kis r\u00f6gz\u00edtett esem\u00e9nyl\u00e1ncot futtatott. Annyira neh\u00e9z volt haszn\u00e1lni, hogy a Deis Workflow R&amp;D csapat\u00e1nak neh\u00e9zs\u00e9gei ad\u00f3dtak, amikor megpr\u00f3b\u00e1lt\u00e1k \u00e1tv\u00e1ltani a term\u00e9k\u00fcket erre a platformra \u2014 de az \u00f6tlet magjait m\u00e1r vetett\u00e9k. Az els\u0151 pr\u00f3b\u00e1lkoz\u00e1sunk nagyszer\u0171 lehet\u0151s\u00e9g volt a tanul\u00e1sra: r\u00e1j\u00f6tt\u00fcnk, hogy igaz\u00e1n szenved\u00e9lyesen \u00e9rdekelnek minket a pragmatikus eszk\u00f6z\u00f6k l\u00e9trehoz\u00e1sa, amelyek a felhaszn\u00e1l\u00f3ink mindennapi probl\u00e9m\u00e1it oldj\u00e1k meg.<\/p>\n<p>A kor\u00e1bbi hib\u00e1k tapasztalataira t\u00e1maszkodva elkezdt\u00fck a Helm 2 fejleszt\u00e9s\u00e9t.<\/p>\n<h3>A Helm 2 l\u00e9trehoz\u00e1sa<\/h3>\n<p>\n2015 v\u00e9g\u00e9n kapcsolatba l\u00e9pett vel\u00fcnk a Google csapata. Egy hasonl\u00f3 eszk\u00f6z\u00f6n dolgoztak a Kuberneteshez. A Deployment Manager a Google Cloud Platform sz\u00e1m\u00e1ra haszn\u00e1lt eszk\u00f6z portol\u00e1sa volt. \u201eNem akarunk-e n\u00e9h\u00e1ny napot arra sz\u00e1nni, hogy megbesz\u00e9lj\u00fck a hasonl\u00f3s\u00e1gokat \u00e9s k\u00fcl\u00f6nbs\u00e9geket?\u201d \u2013 k\u00e9rdezt\u00e9k.<\/p>\n<p>2016 janu\u00e1rj\u00e1ban a Helm \u00e9s a Deployment Manager csapatai Seattle-ben tal\u00e1lkoztak, hogy \u00f6tleteket cser\u00e9ljenek. A megbesz\u00e9l\u00e9sek ambici\u00f3zus tervvel z\u00e1rultak: \u00f6sszevonni a k\u00e9t projektet, hogy l\u00e9trej\u00f6jj\u00f6n a Helm 2. A Deis \u00e9s a Google csapat\u00e1val egy\u00fctt a fejleszt\u0151khez csatlakoztak. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/skippbox\">SkippBox<\/a><\/noindex> <i>(jelenleg a Bitnami r\u00e9sze \u2014 a ford\u00edt\u00f3 megj.)<\/i>, \u00e9s elkezdt\u00fck a Helm 2 munk\u00e1j\u00e1t.<\/p>\n<p>A Helm haszn\u00e1lat\u00e1nak egyszer\u0171s\u00e9g\u00e9t szerett\u00fck volna meg\u0151rizni, de a k\u00f6vetkez\u0151ket hozz\u00e1adni:<\/p>\n<ul>\n<li> sablonok testreszab\u00e1s\u00e1hoz;<\/li>\n<li> bels\u0151 klaszter kezel\u00e9s csapatok sz\u00e1m\u00e1ra;<\/li>\n<li> kiv\u00e1l\u00f3 chart repozit\u00f3rium;<\/li>\n<li> stabil csomagform\u00e1tum al\u00e1\u00edr\u00e1si lehet\u0151s\u00e9ggel;<\/li>\n<li> t\u00f6k\u00e9letes elk\u00f6telez\u0151d\u00e9s a szemantikus verzi\u00f3z\u00e1s \u00e9s a verzi\u00f3k k\u00f6z\u00f6tti visszafel\u00e9 kompatibilit\u00e1s fenntart\u00e1sa mellett.<\/li>\n<\/ul>\n<p>\nE c\u00e9lok el\u00e9r\u00e9se \u00e9rdek\u00e9ben a Helm \u00f6kosziszt\u00e9m\u00e1j\u00e1hoz egy m\u00e1sodik elemet adtunk hozz\u00e1. Ezt a bels\u0151 klaszter komponenst Tillernek nevezt\u00fck el, amely a Helm chartok telep\u00edt\u00e9s\u00e9vel \u00e9s kezel\u00e9s\u00e9vel foglalkozott.<\/p>\n<p>A Helm 2 2016-os megjelen\u00e9se \u00f3ta a Kubernetes sz\u00e1mos jelent\u0151s \u00faj\u00edt\u00e1ssal gazdagodott. Bevezet\u00e9sre ker\u00fclt a szerepk\u00f6r alap\u00fa hozz\u00e1f\u00e9r\u00e9s-ellen\u0151rz\u00e9s (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/422801\/\">RBAC<\/a><\/noindex>), amely v\u00e9g\u00fcl helyettes\u00edtette az attrib\u00fatumokon alapul\u00f3 hozz\u00e1f\u00e9r\u00e9s-ellen\u0151rz\u00e9st (ABAC). \u00daj er\u0151forr\u00e1s t\u00edpusok jelentek meg (a Deployments ekkor m\u00e9g b\u00e9taverzi\u00f3ban voltak). Feltal\u00e1lt\u00e1k a Custom Resource Definitions-t (eredetileg Third Party Resources vagy TPR n\u00e9ven ismert\u00e9k). \u00c9s ami a legfontosabb - megjelent a legjobb gyakorlatok sora.<\/p>\n<p>Mindezek v\u00e1ltoz\u00e1sai mellett a Helm tov\u00e1bbra is h\u0171 maradt a Kubernetes felhaszn\u00e1l\u00f3ihoz. H\u00e1rom \u00e9v \u00e9s sz\u00e1mos \u00faj kieg\u00e9sz\u00edt\u00e9s ut\u00e1n nyilv\u00e1nval\u00f3v\u00e1 v\u00e1lt, hogy jelent\u0151s v\u00e1ltoztat\u00e1sokat kell v\u00e9grehajtani a k\u00f3dalapon, hogy a Helm tov\u00e1bbra is k\u00e9pes legyen kiel\u00e9g\u00edteni a fejl\u0151d\u0151 \u00f6kosziszt\u00e9ma n\u00f6vekv\u0151 ig\u00e9nyeit.<\/p>\n<h2>B\u00facs\u00fa Tillerrel<\/h2>\n<p>\nA Helm 2 fejleszt\u00e9se sor\u00e1n bemutattuk Tillert mint a Google Deployment Managerrel val\u00f3 integr\u00e1ci\u00f3nk r\u00e9sz\u00e9t. Tiller fontos szerepet j\u00e1tszott azok sz\u00e1m\u00e1ra, akik k\u00f6z\u00f6s klaszterben dolgoztak: lehet\u0151v\u00e9 tette, hogy az infrastrukt\u00far\u00e1t kezel\u0151 k\u00fcl\u00f6nb\u00f6z\u0151 szakemberek ugyanazzal a kiad\u00e1scsomaggal l\u00e9pjenek kapcsolatba.<\/p>\n<p>Mivel a szerepk\u00f6r-alap\u00fa hozz\u00e1f\u00e9r\u00e9s-vez\u00e9rl\u00e9s (RBAC) alap\u00e9rtelmez\u00e9s szerint aktiv\u00e1lva volt a Kubernetes 1.6-ban, a Tiller haszn\u00e1lata a produkci\u00f3s k\u00f6rnyezetben egyre bonyolultabb\u00e1 v\u00e1lt. A lehets\u00e9ges biztons\u00e1gi politik\u00e1k hatalmas sz\u00e1ma miatt a mi \u00e1ll\u00e1spontunk az volt, hogy alap\u00e9rtelmez\u00e9s szerint enged\u00e9keny konfigur\u00e1ci\u00f3t kell aj\u00e1nlani. Ez lehet\u0151v\u00e9 tette a kezd\u0151k sz\u00e1m\u00e1ra, hogy k\u00eds\u00e9rletezzenek a Helmmel \u00e9s a Kubernetesszel an\u00e9lk\u00fcl, hogy el\u0151sz\u00f6r a biztons\u00e1gi be\u00e1ll\u00edt\u00e1sokkal kellett volna foglalkozniuk. Sajnos ez az enged\u00e9keny konfigur\u00e1ci\u00f3 t\u00fal sz\u00e9les hozz\u00e1f\u00e9r\u00e9st adhatott a felhaszn\u00e1l\u00f3nak, amelyre nem volt sz\u00fcks\u00e9ge. A DevOps \u00e9s SRE m\u00e9rn\u00f6k\u00f6knek meg kellett tanulniuk tov\u00e1bbi \u00fczemeltet\u00e9si l\u00e9p\u00e9seket, amikor a Tillert t\u00f6bbfelhaszn\u00e1l\u00f3s (multi-tenant) klaszterbe telep\u00edtett\u00e9k.<\/p>\n<p>Miut\u00e1n megtudtuk, hogyan haszn\u00e1lja a k\u00f6z\u00f6ss\u00e9g a Helmet konkr\u00e9t helyzetekben, r\u00e1j\u00f6tt\u00fcnk, hogy a Tiller kiad\u00e1skezel\u0151 rendszer\u00e9nek nem kell megb\u00edznia a klaszter bels\u0151 komponens\u00e9ben, hogy fenntartsa az \u00e1llapotokat vagy k\u00f6zponti hubk\u00e9nt m\u0171k\u00f6dj\u00f6n a kiad\u00e1si inform\u00e1ci\u00f3kkal. Ehelyett egyszer\u0171en csak az API-szerverb\u0151l szerz\u00fcnk be inform\u00e1ci\u00f3t a Kubernetest\u0151l, gener\u00e1ljuk a chart-ot a kliens oldal\u00e1n, \u00e9s elt\u00e1roljuk a telep\u00edt\u00e9si rekordot a Kubernetesen.<\/p>\n<p>A Tiller f\u0151 feladata Tiller n\u00e9lk\u00fcl is megval\u00f3s\u00edthat\u00f3 volt, ez\u00e9rt az egyik els\u0151 d\u00f6nt\u00e9s\u00fcnk a Helm 3-mal kapcsolatban a Tiller teljes elhagy\u00e1sa volt.<\/p>\n<p>Tiller t\u00e1voz\u00e1s\u00e1val a Helm biztons\u00e1gi modellje radik\u00e1lisan leegyszer\u0171s\u00f6d\u00f6tt. A Helm 3 most m\u00e1r t\u00e1mogatja a modern biztons\u00e1gi, azonos\u00edt\u00e1si \u00e9s enged\u00e9lyez\u00e9si m\u00f3dszereket a jelenlegi Kubernetesen. A Helm enged\u00e9lyeit a <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/organize-cluster-access-kubeconfig\/\">a kubeconfig f\u00e1jl<\/a><\/noindex>. A klaszter adminisztr\u00e1torai b\u00e1rmilyen r\u00e9szletess\u00e9ggel korl\u00e1tozhatj\u00e1k a felhaszn\u00e1l\u00f3k jogait. A kiad\u00e1sok tov\u00e1bbra is a klaszteren bel\u00fcl maradnak, a Helm egy\u00e9b funkci\u00f3i pedig megmaradnak.<\/p>\n<h2>Chart-repozit\u00f3riumok<\/h2>\n<p>\nMagas szinten a chart-repozit\u00f3rium az a hely, ahol a chartokat t\u00e1rolni \u00e9s megosztani lehet. A Helm kliens a chartokat becsomagolja \u00e9s a repozit\u00f3riumba k\u00fcldi. Egyszer\u0171bben fogalmazva, a chart-repozit\u00f3rium egy primit\u00edv HTTP-szerver, tartalmaz egy index.yaml f\u00e1jlt \u00e9s n\u00e9h\u00e1ny becsomagolt chartot.<\/p>\n<p>B\u00e1r n\u00e9h\u00e1ny el\u0151nye van annak, hogy a chart-repozit\u00f3rium API-ja a legf\u0151bb t\u00e1rol\u00e1si ig\u00e9nyeknek eleget tesz, van n\u00e9h\u00e1ny h\u00e1tr\u00e1nya is:<\/p>\n<ul>\n<li> A chart repository is poorly compatible with most security implementations needed in a production environment. Having a standard API for authentication and authorization is crucial in production scenarios.<\/li>\n<li> Helm tools for tracking a chart's provenance, used for signing, verifying integrity, and sourcing a chart, are optional parts of the chart publishing process.<\/li>\n<li> In multi-user scenarios, the same chart can be uploaded by different users, doubling the storage space required for the same content. Smarter repositories were developed to solve this problem, but they are not part of the formal specification.<\/li>\n<li> Using a single index file for searching, storing metadata, and retrieving charts has complicated the development of secure multi-user implementations.<\/li>\n<\/ul>\n<p>\nProjekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/docker\/distribution\">Docker Distribution<\/a><\/noindex> (also known as Docker Registry v2) is the successor to Docker Registry and essentially serves as a set of tools for packaging, distributing, storing, and delivering Docker images. Many major cloud services offer products based on Distribution. With such increased attention, the Distribution project has benefited from years of improvements, best security practices, and real-world testing, making it one of the most successful unsung heroes of the Open Source world.<\/p>\n<p>But did you know that the Distribution project was designed to distribute any form of content, not just container images?<\/p>\n<p>Thanks to the efforts of <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opencontainers.org\/\">Open Container Initiative<\/a><\/noindex> (or OCI), Helm charts can be hosted on any instance of Distribution. While this process is still experimental, work on supporting logins and other features needed for full Helm 3 functionality is not yet complete, but we are very excited about the opportunity to learn from the discoveries made by the OCI and Distribution teams over the years. Thanks to their mentorship and guidance, we are learning what it means to operate a highly available service at scale.<\/p>\n<p>A more detailed description of some upcoming changes to Helm chart repositories is available <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.bacongobbler.com\/post\/2019-01-25-distributing-with-distribution\/\">a linken<\/a><\/noindex>.<\/p>\n<h2>Kiad\u00e1skezel\u00e9s<\/h2>\n<p>\nIn Helm 3, the application's state is tracked within the cluster by a pair of objects:<\/p>\n<ul>\n<li> release object \u2014 represents an instance of the application;<\/li>\n<li> a kiad\u00e1si verzi\u00f3 titka \u2013 a k\u00edv\u00e1nt \u00e1llapotot jelenti egy alkalmaz\u00e1s adott id\u0151pontban (p\u00e9ld\u00e1ul egy \u00faj verzi\u00f3 kiad\u00e1sa).<\/li>\n<\/ul>\n<p>\nH\u00edv\u00e1s <code>helm install<\/code> l\u00e9trehozza a kiad\u00e1si objektumot \u00e9s a kiad\u00e1si verzi\u00f3 titk\u00e1t. A h\u00edv\u00e1s <code>helm upgrade<\/code> megk\u00f6veteli a kiad\u00e1si objektum megl\u00e9t\u00e9t (amelyet m\u00f3dos\u00edthat) \u00e9s \u00faj kiad\u00e1si verzi\u00f3 titkot hoz l\u00e9tre, amely \u00faj \u00e9rt\u00e9keket \u00e9s el\u0151k\u00e9sz\u00edtett manifesztet tartalmaz.<\/p>\n<p>A release object contains information about the release, where the release is a specific installation of a named chart and values. This object describes the top-level metadata about the release. The release object is retained throughout the application's lifecycle and is the owner of all release version secrets as well as all objects that are directly created by the Helm chart.<\/p>\n<p>A kiad\u00e1si verzi\u00f3 titok \u00f6sszekapcsolja a kiad\u00e1st a rev\u00edzi\u00f3k sorozat\u00e1val (telep\u00edt\u00e9s, friss\u00edt\u00e9sek, visszag\u00f6rget\u00e9s, t\u00f6rl\u00e9s).<\/p>\n<p>A Helm 2-ben a rev\u00edzi\u00f3k kiz\u00e1r\u00f3lagosan sorosak voltak. A h\u00edv\u00e1s <code>helm install<\/code> created v1, the subsequent update (upgrade) is v2, and so on. The release and release version secret were merged into a single object known as a revision. Revisions were stored in the same namespace as Tiller, which meant that each release was 'global' in terms of the namespace; as a result, only one instance of a name could be used.<\/p>\n<p>In Helm 3, each release is associated with one or more release version secrets. The release object always describes the current release deployed in Kubernetes. Each release version secret describes only one version of that release. An upgrade, for example, will create a new release version secret and then modify the release object to point to this new version. In the case of a rollback, previous release version secrets can be used to revert the release to its previous state.<\/p>\n<p>After removing Tiller, Helm 3 stores release data in the same namespace as the release. This change allows the chart to be installed with the same release name in another namespace while preserving data between upgrades\/restarts of the cluster in etcd. For example, WordPress can be installed in the 'foo' namespace and then in the 'bar' namespace, and both releases can be named 'wordpress.'<\/p>\n<h2>A chartok f\u00fcgg\u0151s\u00e9geinek m\u00f3dos\u00edt\u00e1sa<\/h2>\n<p>\nA chartok csomagol\u00e1sa (a <code>helm package<\/code>) Helm 2-vel val\u00f3 haszn\u00e1latra, Helm 3-mal is telep\u00edthet\u0151, azonban a chartok fejleszt\u00e9si folyamata teljesen \u00e1talakul, ez\u00e9rt n\u00e9h\u00e1ny m\u00f3dos\u00edt\u00e1st kell eszk\u00f6z\u00f6lni a chartok Helm 3-mal val\u00f3 fejleszt\u00e9s\u00e9nek folytat\u00e1s\u00e1hoz. K\u00fcl\u00f6n\u00f6sen a chartok f\u00fcgg\u0151s\u00e9gkezel\u00e9si rendszere megv\u00e1ltozott.<\/p>\n<p>A chart f\u00fcgg\u0151s\u00e9gkezel\u00e9si rendszere \u00e1t\u00e1llt <code>requirements.yaml<\/code> \u00e9s <code>requirements.lock<\/code> Gyorsan eml\u00e9kezz\u00fcnk vissza, hogyan m\u0171k\u00f6dik a modul\u00e1ris aritmetika. Az \u00f3ra m\u00e1r egy ismert koncepci\u00f3. Az \u00f3r\u00e1k haszn\u00e1lata <code>Chart.yaml<\/code> \u00e9s <code>Chart.lock<\/code>. Ez azt jelenti, hogy azok a chartok, amelyek haszn\u00e1lt\u00e1k a parancsot <code>helm dependency<\/code>, n\u00e9mi be\u00e1ll\u00edt\u00e1st ig\u00e9nyelnek a Helm 3-ban val\u00f3 m\u0171k\u00f6d\u00e9shez.<\/p>\n<p>N\u00e9zz\u00fck meg a p\u00e9ld\u00e1t. Adjunk hozz\u00e1 egy f\u00fcgg\u0151s\u00e9get egy chart-hoz Helm 2-ben, \u00e9s n\u00e9zz\u00fck meg, mi v\u00e1ltozik, amikor Helm 3-ra v\u00e1ltunk.<\/p>\n<p>Helm 2-ben <code>requirements.yaml<\/code> \u00edgy n\u00e9zett ki:<\/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>\nHelm 3-ban ugyanaz a f\u00fcgg\u0151s\u00e9g a k\u00f6vetkez\u0151k\u00e9ppen fog megjelenni: <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>\nA chartok tov\u00e1bbra is let\u00f6lt\u0151dnek \u00e9s a <code>charts\/<\/code>mapp\u00e1ba ker\u00fclnek, \u00edgy a <i>(subcharts)<\/i>mappa alatt elhelyezked\u0151 subchartok <code>charts\/<\/code>, tov\u00e1bbra is v\u00e1ltoztat\u00e1s n\u00e9lk\u00fcl m\u0171k\u00f6dnek.<\/p>\n<h2>Bemutatjuk a Library Chartokat<\/h2>\n<p>\nA Helm 3 t\u00e1mogat egy \u00faj chart t\u00edpus\u00e1t, amelyet k\u00f6nyvt\u00e1ri chartoknak (library charts) neveznek. <i>Ez a chart m\u00e1s chartok \u00e1ltal felhaszn\u00e1lhat\u00f3, de \u00f6n\u00e1ll\u00f3an nem hoz l\u00e9tre kiad\u00e1si artefaktumokat. A k\u00f6nyvt\u00e1ri chartok sablonjaikban csak elemeket deklar\u00e1lhatnak<\/i>. This chart is used by other charts but does not create any release artifacts by itself. Library chart templates can only declare elements <code>define<\/code>Library chartok a <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\">DRY<\/a><\/noindex>.<\/p>\n<p>szakaszban vannak deklar\u00e1lva. Telep\u00edt\u00e9s\u00fck \u00e9s kezel\u00e9s\u00fck nem k\u00fcl\u00f6nb\u00f6zik a t\u00f6bbi chartt\u00f3l. <code>f\u00fcgg\u0151s\u00e9geket<\/code> a f\u00e1jlban <code>Chart.yaml<\/code>dependencies:\n  - name: mylib\n    version: 1.x.x\n    repository: quay.io<\/p>\n<pre><code class=\"plaintext\">M\u00e1r alig v\u00e1rjuk azokat a felhaszn\u00e1l\u00e1si lehet\u0151s\u00e9geket, amelyeket ez az komponens ny\u00fajt a chart fejleszt\u0151k sz\u00e1m\u00e1ra, valamint a legjobb gyakorlatokat, amelyek a k\u00f6nyvt\u00e1ri chartok r\u00e9v\u00e9n mer\u00fclhetnek fel.<\/code><\/pre>\n<p>\nA Helm 3.0.0-alpha.1 az a alap, amelyre \u00e9p\u00edtve elkezdj\u00fck a Helm \u00faj verzi\u00f3j\u00e1nak l\u00e9trehoz\u00e1s\u00e1t. A cikkemben n\u00e9h\u00e1ny \u00e9rdekes lehet\u0151s\u00e9get \u00edrtam le, amelyb\u0151l sok m\u00e9g korai fejleszt\u00e9si f\u00e1zisban van, \u00e9s ez rendben van; az alfa kiad\u00e1s c\u00e9lja, hogy tesztelje az elk\u00e9pzel\u00e9seket, visszajelz\u00e9seket gy\u0171jts\u00f6n a korai felhaszn\u00e1l\u00f3kt\u00f3l, \u00e9s meger\u0151s\u00edtse a feltev\u00e9seinket.<\/p>\n<h2>Mi k\u00f6vetkezik?<\/h2>\n<p>\nAmint az alfa verzi\u00f3 megjelenik<\/p>\n<p>(ne feledje, hogy ez <i>m\u00e1r megt\u00f6rt\u00e9nt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">m\u00e1r megt\u00f6rt\u00e9nt<\/a><\/noindex> \u2014 a ford\u00edt\u00f3 megjegyz\u00e9se)<\/i>, elkezden\u00e9nk a k\u00f6z\u00f6ss\u00e9gi Helm 3 jav\u00edt\u00e1sok fogad\u00e1s\u00e1t. Meg kell val\u00f3s\u00edtanunk egy megb\u00edzhat\u00f3 alapot, amely lehet\u0151v\u00e9 teszi \u00faj funkci\u00f3k fejleszt\u00e9s\u00e9t \u00e9s elfogad\u00e1s\u00e1t, mik\u00f6zben a felhaszn\u00e1l\u00f3k is \u00e9rezhetik, hogy r\u00e9szt vesznek a folyamatban, hibajegyeket nyitva \u00e9s jav\u00edt\u00e1sokat javasolva.<\/p>\n<p>A cikkben megpr\u00f3b\u00e1ltam bemutatni n\u00e9h\u00e1ny komoly fejleszt\u00e9st, amelyek a Helm 3-ban megjelennek, azonban ezt a list\u00e1t semmik\u00e9ppen sem nevezhetj\u00fck kimer\u00edt\u0151nek. A Helm 3 teljes k\u00f6r\u0171 tervei k\u00f6z\u00f6tt szerepelnek olyan \u00faj\u00edt\u00e1sok, mint a fejlettebb friss\u00edt\u00e9si strat\u00e9gi\u00e1k, m\u00e9lyebb integr\u00e1ci\u00f3 az OCI t\u00e1rol\u00f3kkal \u00e9s JSON-s\u00e9m\u00e1k haszn\u00e1lata a chart \u00e9rt\u00e9kek ellen\u0151rz\u00e9s\u00e9re. Tervezz\u00fck a k\u00f3d alapj\u00e1nak tiszt\u00edt\u00e1s\u00e1t \u00e9s azokat a r\u00e9szeket is friss\u00edteni, amelyeket az utols\u00f3 h\u00e1rom \u00e9vben elhanyagoltunk.<\/p>\n<p>Ha \u00fagy \u00e9rzi, hogy valamit kihagytunk, sz\u00edvesen hallan\u00e1nk a v\u00e9lem\u00e9ny\u00e9t!<\/p>\n<p>Csatlakozzon a diskurzushoz a mi <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.slack.com\/\">Slack-csatorn\u00e1inkon<\/a><\/noindex>:<\/p>\n<ul>\n<li> <code>#helm-users<\/code> k\u00e9rd\u00e9sek \u00e9s egyszer\u0171 besz\u00e9lget\u00e9sek a k\u00f6z\u00f6ss\u00e9ggel;<\/li>\n<li> <code>#helm-dev<\/code> pull requestek, k\u00f3dok \u00e9s hib\u00e1k megvitat\u00e1s\u00e1ra.<\/li>\n<\/ul>\n<p>\nA nyilv\u00e1nos fejleszt\u0151i h\u00edv\u00e1sainkon is besz\u00e9lgethet, minden cs\u00fct\u00f6rt\u00f6k\u00f6n 19:30 MSK id\u0151pontban. A tal\u00e1lkoz\u00f3kon a kulcsfejleszt\u0151k \u00e9s a k\u00f6z\u00f6ss\u00e9g \u00e1ltal v\u00e9gzett feladatokr\u00f3l, valamint a heti besz\u00e9lget\u00e9si t\u00e9m\u00e1kr\u00f3l folyik a diskurzus. B\u00e1rki csatlakozhat \u00e9s r\u00e9szt vehet a tal\u00e1lkoz\u00f3n. A hivatkoz\u00e1s a Slack-csatorn\u00e1n tal\u00e1lhat\u00f3. <code>#helm-dev<\/code>.<\/p>\n<h2>Fejleszt\u00e9si eszk\u00f6z\u00f6k, amelyek Kubernetesben futnak<\/h2>\n<p>\nOlvasson tov\u00e1bbi inform\u00e1ci\u00f3kat a blogunkban:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">Csomagkezel\u0151 Kuberneteshez \u2014 Helm: m\u00falt, jelen, j\u00f6v\u0151<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438814\/\">A sober look at Helm 2: 'Just as it is...'<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420437\/\">Gyakorlati bemutat\u00f3 a Kubernetes csomagkezel\u0151j\u00e9r\u0151l \u2014 Helm<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/441964\/\">Kubernetes tippek \u00e9s tr\u00fckk\u00f6k: a Helm 2 \u00e1ltal kezelt m\u0171k\u00f6d\u0151 klaszterer\u0151forr\u00e1sok \u00e1tkonvert\u00e1l\u00e1sa<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/336170\/\">Gyakorlat dappal. 2. r\u00e9sz. Docker-k\u00e9pek telep\u00edt\u00e9se Kubernetesbe Helm seg\u00edts\u00e9g\u00e9vel<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Forr\u00e1s: <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.3 - 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\/hu\/blog\/administrirovanie\/znakomstvo-s-helm-3\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\/hu\/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\udd47 Bevezet\u00e9s a Helm 3-ba | ProHoster","description":"Megj.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/znakomstvo-s-helm-3","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/34735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=34735"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/34735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/26173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=34735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=34735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=34735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}