{"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\/sl\/blog\/administrirovanie\/znakomstvo-s-helm-3","title":{"rendered":"Seznanitev s Helm 3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Seznanitev s Helm 3\" src=\"\/wp-content\/uploads\/2019\/05\/6de0e2887ddcc802f1dd71c902325401.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i><b>Op. prev.<\/b>: 16. maja ove godine \u2014 zna\u010dajan trenutak u razvoju paketa menad\u017eera za Kubernetes \u2014 Helm. Na ovaj dan je predstavljen prvi alfa-reliz budu\u0107e velike verzije projekta \u2014 3.0. Njegovo izdanje donosi zna\u010dajne i dugo o\u010dekivane promene u Helm, na koje mnogi u Kubernetes zajednici pola\u017eu velike nade. Me\u0111u njima smo i mi, budu\u0107i da aktivno koristimo Helm za postavljanje aplikacija: integrisali smo ga u na\u0161 alat za realizaciju CI\/CD. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/werf\">werf<\/a><\/noindex> i s vremena na vreme doprinosimo razvoju upstream. Ovaj prevod kombinuje 7 bele\u017eaka iz zvani\u010dnog Helm bloga, koje su vezane za prvi alfa-reliz Helm 3 i govore o istoriji projekta i glavnim karakteristikama Helm 3. Autor je Matt \u201ebacongobbler\u201c Fisher, zaposlenik Microsoft-a i jedan od klju\u010dnih odr\u017eavaoca Helma.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>15. oktobra 2015. godine ro\u0111en je projekat, danas poznat kao Helm. Samo godinu dana nakon osnivanja, Helm zajednica se pridru\u017eila Kubernetes-u, aktivno rade\u0107i na Helm 2. U junu 2018. godine Helm <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/blog\/2018\/06\/01\/cncf-to-host-helm\/\">je postao deo CNCF<\/a><\/noindex> kao projekat u razvoju (incubating). Premestimo se u sada\u0161njost \u2014 i evo, na pragu je prvi alfa-reliz novog Helm 3 <i>(ovo izdanje <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">se ve\u0107 dogodilo<\/a><\/noindex> sredinom maja \u2014 napomena prevoditelja)<\/i>.<\/p>\n<p>U ovom materijalu govori\u0107u o tome kako je sve po\u010delo, kako smo do\u0161li do sada\u0161nje faze, predstavi\u0107u neke jedinstvene karakteristike dostupne u prvom alfa-relizu Helm 3 i objasniti kako planiramo dalje da se razvijamo.<\/p>\n<p>Povzetek:<\/p>\n<ul>\n<li>istorija nastanka Helma;<\/li>\n<li>ne\u017eno slovo poslovanja s Tillerjem;<\/li>\n<li>repozitorijumi chart-ova;<\/li>\n<li>upravljanje izdanjima;<\/li>\n<li>promene u zavisnostima chart-ova;<\/li>\n<li>library charts;<\/li>\n<li>kaj sledi?<\/li>\n<\/ul>\n<p><\/p>\n<h2>Istorija nastanka Helma<\/h2>\n<p><\/p>\n<h3>Rojstvo<\/h3>\n<p>\nHelm 1 je po\u010deo kao Open Source projekat, koji je osnovao Deis. Bili smo mali startup, <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.microsoft.com\/blog\/2017\/04\/10\/microsoft-acquire-deis-help-companies-innovate-containers\/\">koji je kupljen<\/a><\/noindex> od Microsoft-a u prole\u0107e 2017. godine. U na\u0161em drugom Open Source projektu, koji tako\u0111e nosi ime Deis, postojala je alatka <code>deisctl<\/code>, koja je kori\u0161\u0107ena (pored ostalog) za instalaciju i upravljanje Deis platformom u <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/fleet\">Fleet klasteru.<\/a><\/noindex>U to vreme, Fleet je bila jedna od prvih platformi za orkestraciju kontejnera.<\/p>\n<p>Sredinom 2015. godine odlu\u010dili smo da promenimo pravac i prebacili Deis (u tom trenutku preimenovan u Deis Workflow) sa Fleeta na Kubernetes. Jedan od prvih alata koji je preradio bio je alat za instalaciju. <code>deisctl<\/code>Koristili smo ga za instalaciju i upravljanje Deis Workflow u Fleet klasteru.<\/p>\n<p>Helm 1 je bil ustvarjen po vzoru znanih paketnih upravljalnikov, kot sta Homebrew, apt in yum. Njegov glavni cilj je bil poenostaviti naloge, kot so pakiranje in name\u0161\u010danje aplikacij v Kubernetes. Uradno je bil Helm predstavljen leta 2015 na konferenci KubeCon v San Franciscu.<\/p>\n<p>Na\u0161 prvi poskus z Helmom je uspe\u0161no deloval, vendar ni bilo brez resnih omejitev. Vzel je niz manifestov Kubernetes, obogatenih z generatorji kot vhodnimi YAML-bloki. <i>(front-matter)<\/i>*, in nalo\u017eil rezultate v Kubernetes.<\/p>\n<p><i>* <b>Op. prev.<\/b>: S prvo razli\u010dico Helma je bil za opisovanje virov Kubernetes izbran sintaksis YAML, pri pisanju konfiguracij pa so bile podprte predloge Jinja in Python-skripti. Ve\u010d o tem in o strukturi prve razli\u010dice Helma smo pisali v poglavju 'Kratka zgodovina Helma' <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">tega materiala<\/a><\/noindex>.<\/i><\/p>\n<p>Na primer, da bi zamenjali polje v YAML-datoteki, je bilo potrebno dodati naslednjo konstrukcijo v manifest:<\/p>\n<pre><code class=\"plaintext\">#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my\/pod.yaml<\/code><\/pre>\n<p>\nSuper, da danes obstajajo predloge, kajne?<\/p>\n<p>Z mnogimi razlogi je ta zgodnji Kubernetes-in\u0161talater zahteval strogo dolo\u010den seznam manifestnih datotek in je izvajal le majhen fiksni zaporedje dogodkov. Uporaba je bila tako te\u017eavna, da se je ekipi R&amp;D podjetja Deis Workflow te\u017eko prilegala, ko so posku\u0161ali prenesti svoj izdelek na to platformo \u2014 vendar so bili semena ideje \u017ee posejana. Na\u0161 prvi poskus je bil odli\u010dna prilo\u017enost za u\u010denje: zavedli smo se, da smo resni\u010dno navdu\u0161eni nad ustvarjanjem pragmati\u010dnih orodij, ki re\u0161ujejo vsakodnevne te\u017eave na\u0161ih uporabnikov.<\/p>\n<p>Na podlagi izku\u0161enj iz prej\u0161njih napak smo se lotili razvoja Helma 2.<\/p>\n<h3>Ustvarjanje Helma 2<\/h3>\n<p>\nS koncem leta 2015 nas je kontaktirala ekipa iz Google. Delali so na podobnem orodju za Kubernetes. Deployment Manager za Kubernetes je bil prenos obstoje\u010dega orodja, ki se je uporabljalo za Google Cloud Platform. 'Ne bi \u017eeleli,' so vpra\u0161ali, 'da bi pre\u017eiveli nekaj dni z razpravljanjem o podobnostih in razlikah?'<\/p>\n<p>Januarja 2016 so se ekipe Helm in Deployment Manager sre\u010dale v Seattlu, da bi izmenjale ideje. Pogovori so se kon\u010dali z ambicioznim na\u010drtom: zdru\u017eiti oba projekta in ustvariti Helm 2. Skupaj z Deisom in Googlom so se ekipi razvijalcev pridru\u017eili fantje iz <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/skippbox\">SkippBox<\/a><\/noindex> <i>(zdaj del Bitnami \u2014 op. prev.)<\/i>, in za\u010deli smo delati na Helmu 2.<\/p>\n<p>\u017deleli smo ohraniti enostavnost uporabe Helma, a dodati naslednje:<\/p>\n<ul>\n<li> predloge chartov za prilagoditev;<\/li>\n<li> notranje upravljanje za ekipe;<\/li>\n<li> prvovrsten repozitorij chartov;<\/li>\n<li> stabilen paketni format z mo\u017enostjo podpisa;<\/li>\n<li> trdno zavezo k semanti\u010dnemu razli\u010dici in ohranjanju povratne zdru\u017eljivosti med razli\u010dicami.<\/li>\n<\/ul>\n<p>\nZa dosego teh ciljev je bil v ekosistem Helma dodan drugi element. Ta notranji komponent je bil imenovan Tiller in je upravljal namestitev Helm chartov.<\/p>\n<p>Od izida Helma 2 leta 2016 je Kubernetes pridobil \u0161tevilne pomembne novosti. Pojavilo se je upravljanje dostopa na osnovi vlog (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/422801\/\">RBAC<\/a><\/noindex>), ki je na koncu nadomestilo upravljanje dostopa na osnovi atributov (ABAC). Predstavljene so bile nove vrste virov (Deployment so \u0161e vedno ostali v beta stanju). Uvedene so bile definicije prilagojenih virov (sprva so bile imenovane Tretje strankine enote ali TPR-ji). In nenazadnje \u2014 pojavil se je nabor najbolj\u0161ih praks.<\/p>\n<p>Na podlagi vseh teh sprememb je Helm \u0161e naprej zvesto slu\u017eil uporabnikom Kubernetes. Po treh letih in \u0161tevilnih novih dopolnilih je postalo jasno, da je \u010das za pomembne spremembe v izvorni kodi, da bi Helm \u0161e naprej zadostoval rasto\u010dim potrebam razvijajo\u010dega se ekosistema.<\/p>\n<h2>Ne\u017eno slovo poslovanja s Tillerjem<\/h2>\n<p>\nMed razvojem Helma 2 smo predstavili Tiller kot del na\u0161e integracije z Deployment Managerjem od Googla. Tiller je imel pomembno vlogo za ekipe, ki delujejo v okviru skupnega klasterja: omogo\u010dil je razli\u010dnim strokovnjakom, ki obdelujejo infrastrukturo, interakcijo z istim naborom izdaj.<\/p>\n<p>Ker je bila kontrola dostopa na osnovi vlog (RBAC) privzeto vklju\u010dena v Kubernetes 1.6, je delo s Tillerjem v produkciji postajalo vse te\u017eje. Zaradi ogromnega \u0161tevila mo\u017enih varnostnih politik smo menili, da je najbolje privzeto ponuditi odobritveno konfiguracijo. To je omogo\u010dilo novincem, da eksperimentirajo s Helmom in Kubernetesom, ne da bi se morali najprej poglobiti v nastavitve varnosti. \u017dal je ta odobritvena konfiguracija lahko uporabniku dodelila pre\u0161irok spekter dovoljenj, katerih ni potreboval. In\u017eenirjem DevOps in SRE je bilo treba raziskati dodatne operativne korake pri namestitvi Tillera v ve\u010dnajemni\u0161kem (multi-tenant) klasterju.<\/p>\n<p>Ko smo izvedeli, kako \u010dlani skupnosti uporabljajo Helm v dolo\u010denih situacijah, smo ugotovili, da sistem za upravljanje izdaj Tiller ne potrebuje zana\u0161anja na vkluster delovni del, da bi ohranjal stanja ali deloval kot osrednji vozli\u0161\u010de z informacijami o izdaji. Namesto tega bi lahko preprosto pridobili informacije iz API-stre\u017enika Kubernetes, generirali chart na strani stranke in shranili zapis o namestitvi v Kubernetes.<\/p>\n<p>Glavno nalogo Tillera bi bilo mogo\u010de izvesti tudi brez Tillera, zato je bilo eno prvih na\u0161ih odlo\u010ditev v zvezi s Helmom 3 popolno opustitev Tillera.<\/p>\n<p>Z odhodom Tillera se je varnostni model Helma drasti\u010dno poenostavil. Helm 3 zdaj podpira vse sodobne na\u010dine varnosti, identifikacije in avtentikacije trenutnega Kubernetesa. Dovoljanja Helma so opredeljena z uporabo <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/organize-cluster-access-kubeconfig\/\">datoteko kubeconfig<\/a><\/noindex>. Administratorji klasterja lahko omejijo pravice uporabnikov s katero koli stopnjo podrobnosti. Izdaje se \u0161e vedno shranjujejo znotraj klasterja, preostala funkcionalnost Helma pa ostaja.<\/p>\n<h2>Repozitoriji chartov<\/h2>\n<p>\nNa visoki ravni je repozitorij chartov mesto za shranjevanje in skupno rabo chartov. Odjemalec Helma pakira in po\u0161ilja charte v repozitorij. Enostavneje povedano, repozitorij chartov je preprost HTTP stre\u017enik z datoteko index.yaml in nekaterimi zapakiranimi charti.<\/p>\n<p>\u010ceprav ima API repozitorija chartov nekatere prednosti pri izpolnjevanju osnovnih potreb po shranjevanju, ima tudi nekaj pomanjkljivosti:<\/p>\n<ul>\n<li> Repozitoriji chartov slabo ustrezajo ve\u010dini izvedb varnosti, potrebnih v produkcijskem okolju. Prisotnost standardnega API-ja za avtentikacijo in avtorizacijo je izredno pomembna v produkcijskih scenarijih.<\/li>\n<li> Orodja Helma za sledenje izvoru charta, ki se uporabljajo za podpisovanje, preverjanje celovitosti in izvor charta, so neobvezen del postopka objave charta.<\/li>\n<li> V scenarijih z ve\u010d uporabniki se lahko ista chart nalaga od drugega uporabnika, kar podvoji potrebo po prostoru za shranjevanje enake vsebine. Za re\u0161evanje tega problema so bili razviti pametnej\u0161i repozitoriji, ki pa niso del formalne specifikacije.<\/li>\n<li> Uporaba enotne indeksne datoteke za iskanje, shranjevanje metapodatkov in pridobivanje chartov je ote\u017eila razvoj varnih izvedb za ve\u010d uporabnikov.<\/li>\n<\/ul>\n<p>\nProjekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/docker\/distribution\">Docker Distribution<\/a><\/noindex> (znan tudi kot Docker Registry v2) je naslednik Docker Registry in dejansko predstavlja niz orodij za pakiranje, po\u0161iljanje, shranjevanje in dostavo Dockerjevih slik. Mnogi veliki obla\u010dni storitveni ponudniki ponujajo izdelke na podlagi Distribution. Zaradi te pove\u010dane pozornosti je projekt Distribution izkoristil dolgotrajna izbolj\u0161anja, najbolj\u0161e prakse na podro\u010dju varnosti in testiranja v 'bojnih' razmerah, kar ga je spremenilo v enega najbolj uspe\u0161nih nepreklicanih junakov sveta odprtokodnih re\u0161itev.<\/p>\n<p>Toda ali ste vedeli, da je bil projekt Distribution zasnovan za \u0161irjenje katere koli oblike vsebine, ne le slik kontejnerjev?<\/p>\n<p>Zaradi prizadevanj <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opencontainers.org\/\">Open Container Initiative<\/a><\/noindex> (ali OCI) lahko Helm charti gostujejo na katerem koli primeru Distribution. Dokler je ta postopek \u0161e eksperimentalne narave. Delo na podpori prijav in drugih funkcij, potrebnih za popoln Helm 3, \u0161e ni zaklju\u010deno, vendar smo zelo veseli prilo\u017enosti, da se u\u010dimo iz odkritij, ki so jih naredili ekipe OCI in Distribution skozi ta leta. In zahvaljujo\u010d njihovemu mentorstvu in vodenju se u\u010dimo, kaj pomeni obratovanje visoko razpolo\u017eljive storitve na veliki ravni.<\/p>\n<p>Podrobnej\u0161i opis nekaterih prihajajo\u010dih sprememb v repozitorijih Helm chartov je na voljo <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.bacongobbler.com\/post\/2019-01-25-distributing-with-distribution\/\">na povezavi<\/a><\/noindex>.<\/p>\n<h2>Upravljanje isporukom<\/h2>\n<p>\nV Helmu 3 se stanje aplikacije spremlja znotraj klasterja s parom objektov:<\/p>\n<ul>\n<li> release object \u2014 predstavlja primer aplikacije;<\/li>\n<li> release version secret \u2014 predstavlja \u017eeljeno stanje aplikacije u odre\u0111enom trenutku (na primer, objavljivanje nove verzije).<\/li>\n<\/ul>\n<p>\nPoziv <code>helm install<\/code> kreira release object i release version secret. Poziv <code>helm upgrade<\/code> zahteva prisustvo release object (koji mo\u017ee da menja) i stvara novi release version secret, koji sadr\u017ei nove vrednosti i pripremljen manifest.<\/p>\n<p>Release object vsebuje informacije o izdaji, kjer je izdaja - posebna namestitev imenovane tabele in vrednosti. Ta objekt opisuje metapodatke najvi\u0161je ravni o izdaji. Release object se ohrani skozi celoten \u017eivljenjski cikel aplikacije in deluje kot lastnik vseh release version secret-ov ter vseh objektov, ki jih neposredno ustvari Helm-chart.<\/p>\n<p>Release version secret povezuje objavu sa serijom revizija (instalacija, a\u017euriranja, vra\u0107anja, brisanja).<\/p>\n<p>U Helm 2 revizije su bile isklju\u010divo sekvencijalne. Poziv <code>helm install<\/code> ustvaril v1, naslednja posodobitev (upgrade) - v2, in tako naprej. Release in release version secret sta bila zdru\u017eena v enoten objekt, znan kot revision. Revision-i so bili shranjeni v istem prostoru imen kot Tiller, kar je pomenilo, da je bila vsaka izdaja \"globalna\" v smislu prostora imen; posledi\u010dno je bilo mogo\u010de uporabiti le enega predstavnika imena.<\/p>\n<p>V Helm 3 je vsaka izdaja povezana z enim ali ve\u010d release version secret-i. Release object vedno opisuje trenutno izdajo, name\u0161\u010deno v Kubernetes. Vsak release version secret opisuje le eno razli\u010dico te izdaje. Posodobitev (upgrade), na primer, bo ustvarila nov release version secret in nato spremenila release object, da bo usmerjal na to novo razli\u010dico. V primeru povrnitve (rollback) se lahko uporabijo prej\u0161nji release version secret-i, da se izdaja vrne v prej\u0161nje stanje.<\/p>\n<p>Po opustitvi Tiller-ja Helm 3 shranjuje podatke o izdaji v enotnem prostoru imen skupaj z izdajo. Tak\u0161na sprememba omogo\u010da namestitev charta z enakim imenom izdaje v drugo ime prostora, podatki pa se ohranjajo med posodobitvami\/ponovnim zagonom klasterja v etcd. Na primer, WordPress je mogo\u010de namestiti v prostor imen \"foo\", nato pa v prostor imen \"bar\", in obe izdaji se lahko imenujeta \"wordpress\".<\/p>\n<h2>Promene u zavisnostima chartea<\/h2>\n<p>\nChartei, upakovani (uz pomo\u0107 <code>helm package<\/code>) za uporabo s Helm 2, je mogo\u010de namestiti s Helm 3, vendar je bil delovni postopek razvoja chartov popolnoma prenovljen, zato je potrebno narediti nekaj sprememb, da nadaljujemo z razvojem chartov s Helm 3. Zlasti se je spremenil sistem upravljanja odvisnosti chartov.<\/p>\n<p>Sistem upravljanja odvisnosti charta se je preselil iz <code>requirements.yaml<\/code> in <code>requirements.lock<\/code> na <code>Chart.yaml<\/code> in <code>Chart.lock<\/code>. To pomeni, da charti, ki so uporabljali ukaz <code>helm dependency<\/code>, zahtevajo dolo\u010deno nastavitev, da delujejo v Helm 3.<\/p>\n<p>Poglejmo primer. Dodajmo odvisnost k chartu v Helm 2 in poglejmo, kaj se bo spremenilo ob prehodu na Helm 3.<\/p>\n<p>V Helm 2 <code>requirements.yaml<\/code> je izgledal takole:<\/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>\nV Helm 3 bo ista odvisnost odra\u017eena v va\u0161em <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>\nCharti se \u0161e vedno nalagajo in postavljajo v imenik <code>charts\/<\/code>, zato bodo subcharti <i>(subcharts)<\/i>, ki so v mapi <code>charts\/<\/code>, \u0161e naprej delovali brez sprememb.<\/p>\n<h2>Predstavljamo Library Charts<\/h2>\n<p>\nHelm 3 podpira razred chartov, imenovan library charts <i>(library chart)<\/i>. Ta chart se uporablja z drugimi chart-i, vendar sam ne ustvarja nobenih artefaktov izdaje. Predloge library chart-ov lahko razglasijo le elemente <code>define<\/code>. Druga vsebina se enostavno prezre. To uporabnikom omogo\u010da ponovno uporabo in izmenjavo delov kode, ki se jih lahko uporabi v ve\u010d chartih, s \u010dimer se izogne podvajanju in sledi na\u010delu <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\">DRY<\/a><\/noindex>.<\/p>\n<p>Library charts se deklarirajo v razdelku <code>dependencies<\/code> \u0432 \u0444\u0430\u0439\u043b\u0435 <code>Chart.yaml<\/code>. Namestitev in upravljanje z njimi se ne razlikujeta od drugih chartov.<\/p>\n<pre><code class=\"plaintext\">dependencies:\n  - name: mylib\n    version: 1.x.x\n    repository: quay.io<\/code><\/pre>\n<p>\nS pri\u010dakovanjem se veselimo mo\u017enosti uporabe, ki jih bo ta komponent odprl pred razvijalci chartov, ter najbolj\u0161ih praks, ki se lahko pojavijo zahvaljujo\u010d library charts.<\/p>\n<h2>Kaj zdaj?<\/h2>\n<p>\nHelm 3.0.0-alpha.1 je osnova, na kateri za\u010dnemo graditi novo razli\u010dico Helma. V \u010dlanku sem opisal nekatere zanimive mo\u017enosti Helma 3. Mnoge od njih so \u0161e vedno v zgodnjih fazah razvoja in to je v redu; bistvo alfa razli\u010dice je preizkusiti idejo, zbrati povratne informacije prvih uporabnikov in potrditi na\u0161e domneve.<\/p>\n<p>Ko bo alfa razli\u010dica izdana <i>(spomnimo se, da se je to <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">\u017ee zgodilo<\/a><\/noindex> \u2014 op. prev.)<\/i>, za\u010dneme prij\u00edma\u0165 z\u00e1platy pre Helm 3 od komunity. Je potrebn\u00e9 vytvori\u0165 sol\u00eddny z\u00e1klad, ktor\u00fd umo\u017en\u00ed vyv\u00edja\u0165 a zoh\u013ead\u0148ova\u0165 nov\u00e9 funkcie, pri\u010dom pou\u017e\u00edvatelia sa bud\u00fa m\u00f4c\u0165 c\u00edti\u0165 zapojen\u00ed do procesu otvoren\u00edm tiketov a prispievan\u00edm opr\u00e1v.<\/p>\n<p>V \u010dl\u00e1nku som sa sna\u017eil prerozpr\u00e1va\u0165 niektor\u00e9 v\u00fdznamn\u00e9 vylep\u0161enia, ktor\u00e9 sa objavia v Helme 3, av\u0161ak tento zoznam rozhodne nemo\u017eno pova\u017eova\u0165 za vy\u010derp\u00e1vaj\u00faci. Kompletn\u00fd pl\u00e1n pre Helm 3 obsahuje tak\u00e9 novinky, ako s\u00fa vylep\u0161en\u00e9 aktualiza\u010dn\u00e9 strat\u00e9gie, hlb\u0161ia integr\u00e1cia s OCI registrami a pou\u017e\u00edvanie JSON sch\u00e9m na overovanie hodn\u00f4t chartov. Taktie\u017e pl\u00e1nujeme o\u010disti\u0165 k\u00f3dov\u00fa z\u00e1klad\u0148u a obnovi\u0165 jeho \u010dasti, ktor\u00e9 zostali bez pozornosti za posledn\u00e9 tri roky.<\/p>\n<p>Ak m\u00e1te pocit, \u017ee sme nie\u010do prehliadli, radi si vypo\u010dujeme va\u0161e my\u0161lienky!<\/p>\n<p>Pridajte sa k diskusii v na\u0161ich <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.slack.com\/\">Slack kan\u00e1loch<\/a><\/noindex>:<\/p>\n<ul>\n<li> <code>#helm-users<\/code> na ot\u00e1zky a jednoduch\u00fa komunik\u00e1ciu s komunitou;<\/li>\n<li> <code>#helm-dev<\/code> na diskusiu o pull requestoch, k\u00f3de a chyb\u00e1ch.<\/li>\n<\/ul>\n<p>\nM\u00f4\u017eete sa tie\u017e z\u00fa\u010dastni\u0165 na\u0161ich t\u00fd\u017edenn\u00fdch Public Developer Calls vo \u0161tvrtok o 19:30 MSK. Stretnutia s\u00fa zameran\u00e9 na diskusiu o \u00faloh\u00e1ch, na ktor\u00fdch pracuj\u00fa k\u013e\u00fa\u010dov\u00ed v\u00fdvoj\u00e1ri a komunita, ako aj na t\u00e9mach diskusi\u00ed na t\u00fd\u017ede\u0148. Ka\u017ed\u00fd je v\u00edtan\u00fd, aby sa pripojil a z\u00fa\u010dastnil sa stretnutia. Odkaz je dostupn\u00fd v Slack kan\u00e1li <code>#helm-dev<\/code>.<\/p>\n<h2>P.S. od prevajalca<\/h2>\n<p>\nPreberite tudi na na\u0161em blogu:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">Spr\u00e1vca bal\u00edkov pre Kubernetes \u2014 Helm: minulos\u0165, pr\u00edtomnos\u0165, bud\u00facnos\u0165<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438814\/\">Trezen pogled na Helm 2: \u201eTako kot je\u2026\u201c<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420437\/\">Praktick\u00e9 zozn\u00e1menie s spr\u00e1vcom bal\u00edkov pre Kubernetes \u2014 Helm<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/441964\/\">Kubernetes tipy a triky: migr\u00e1cia funguj\u00facich zdrojov v klastri pod spr\u00e1vou Helmu 2<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/336170\/\">Praxis s dapp. \u010cas\u0165 2. Nasadenie Docker obrazov do Kubernetes pomocou Helmu<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Izvor: <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.4 - 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\/sl\/blog\/administrirovanie\/znakomstvo-s-helm-3\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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\udd47Zozn\u00e1menie s Helm 3 | ProHoster","description":"Primer.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/znakomstvo-s-helm-3","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/34735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=34735"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/34735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/26173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=34735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=34735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=34735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}