{"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\/et\/blog\/administrirovanie\/znakomstvo-s-helm-3","title":{"rendered":"Tutvumine Helm 3-ga","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tutvumine Helm 3-ga\" src=\"\/wp-content\/uploads\/2019\/05\/6de0e2887ddcc802f1dd71c902325401.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i><b>M\u00e4rkus t\u00f5lke kohta.<\/b>: 16. mai sel aastal oli oluline verstapost Kubernetes\u2019i paketihalduri - Helm arenduses. Sel p\u00e4eval esitati projekti tulevase suure versiooni - 3.0 esimene alfa-v\u00e4ljaanne. Selle saabumine toob Helmi m\u00e4rkimisv\u00e4\u00e4rseid ja kauaoodatud muudatusi, millele paljud Kubernetes\u2019i kogukonnas loodavad. Ka meie kuulume nende hulka, kuna kasutame Helmi aktiivselt rakenduste seadistamiseks: oleme selle integreerinud oma CI\/CD rakendustesse. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/werf\">werf<\/a><\/noindex> ja vahel teeme oma panuse upstreami arendamisse. See t\u00f5lge koondab 7 m\u00e4rki Helmi ametlikust blogist, mis seondub Helmi 3.0 esimese alfa-v\u00e4ljaande esitamisega ning r\u00e4\u00e4gib projekti ajaloost ja Helmi 3.0 p\u00f5hifunktsioonidest. Nende autor on Matt \u00abbacongobbler\u00bb Fisher, Microsofti t\u00f6\u00f6taja ja \u00fcks Helmi peamistest hooldajatest.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>15. oktoobril 2015 s\u00fcndis projekt, mis n\u00fc\u00fcd on tuntud kui Helm. Ainult aasta p\u00e4rast asutamist liitus Helmi kogukond Kubernetes\u2019ega, samal ajal t\u00f6\u00f6tades aktiivselt Helmi 2 kallal. Juunis 2018 liitus Helm CNCF-iga. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/blog\/2018\/06\/01\/cncf-to-host-helm\/\">kui arenev projekt. Liigume t\u00e4nap\u00e4eva - ja siin on juba tulemas Helmi 3 esimene alfa-v\u00e4ljaanne.<\/a><\/noindex> (see v\u00e4ljalase <i>toimus juba mai keskpaiku - t\u00f5lkija m\u00e4rkus.) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">Selles materjalis tutvustan, kuidas k\u00f5ik algas, kuidas me praegusesse etappi j\u00f5udsime, tutvustan m\u00f5ningaid ainulaadseid omadusi, mis on saadaval Helmi 3 esimeses alfa-v\u00e4ljaandes, ning selgitan, kuidas me plaanime edasi liikuda.<\/a><\/noindex> Helmi loomise ajalugu;<\/i>.<\/p>\n<p>kala h\u00fcvastij\u00e4tmine Tiller\u2019iga;<\/p>\n<p>Kokkuv\u00f5te:<\/p>\n<ul>\n<li>chartide registrid;<\/li>\n<li>\u043d\u0435\u0436\u043d\u043e\u0435 \u043f\u0440\u043e\u0449\u0430\u043d\u0438\u0435 \u0441 Tiller&#8217;\u043e\u043c;<\/li>\n<li>chartide s\u00f5ltuvused;<\/li>\n<li>library charts;<\/li>\n<li>Helmi loomise ajalugu<\/li>\n<li>Helm 1 alustas kui avatud koodiga projekt, mille l\u00f5i Deis. Olime v\u00e4ike idufirma,<\/li>\n<li>mis edasi?<\/li>\n<\/ul>\n<p><\/p>\n<h2>mis omandati<\/h2>\n<p><\/p>\n<h3>S\u00fcnnip\u00e4ev<\/h3>\n<p>\nMicrosofti poolt 2017. aasta kevadel. Meie teisel avatud koodiga projektil, mis samuti kandis nime Deis, oli t\u00f6\u00f6riist <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.microsoft.com\/blog\/2017\/04\/10\/microsoft-acquire-deis-help-companies-innovate-containers\/\">deisctl<\/a><\/noindex> , mida kasutati (lisaks teistele) Deis platvormi seadistamiseks ja haldamiseks <code>Fleet klastris.<\/code>Sel ajal oli Fleet \u00fcks esimesi konteinerite orkestreerimise platvorme. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/fleet\">2015. aasta keskel otsustasime kurssi muuta ja viisime Deisi (toona nimetatud Deis Workflow) Fleetilt Kubernetes\u2019ile. \u00dcks esimesi \u00fclesandeid oli seadistust\u00f6\u00f6riista uuendamine.<\/a><\/noindex>Me kasutasime seda Deis Workflow\u2019i seadistamiseks ja haldamiseks Fleet klastris.<\/p>\n<p>. <code>Fleet klastris.<\/code>.<\/p>\n<p>Helm 1 loodi tuntud pakihaldurite, nagu Homebrew, apt ja yum, eeskujul. Selle peamine eesm\u00e4rk oli lihtsustada selliseid \u00fclesandeid nagu rakenduste pakkimine ja installimine Kuberneteses. Helm esitlemine toimus ametlikult 2015. aastal KubeCon konverentsil San Franciscos.<\/p>\n<p>Meie esimene katse Helmiga l\u00e4ks korda, kuid t\u00f5siste piiranguteta ei saanud siiski l\u00e4bi. See v\u00f5ttis komplekti Kubernetes manifestidest, millele generaatoreid oli lisatud sisend YAML-plokkidena. <i>(front-matter)<\/i>*, ja laadis tulemused Kubernetesesse.<\/p>\n<p><i>* <b>M\u00e4rkus t\u00f5lke kohta.<\/b>: Helm esimese versiooni jaoks valiti Kubernetes ressursside kirjeldamiseks YAML s\u00fcntaks ning konfiguratsioonide kirjutamisel toetas see Jinja malle ja Python-skripte. Selle kohta ja Helm esimese versiooni \u00fclesehitusest r\u00e4\u00e4kisime peat\u00fckis \u201eHelmi l\u00fchiajalugu\u201c <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">selles materjalis.<\/a><\/noindex>.<\/i><\/p>\n<p>N\u00e4iteks, et asendada v\u00e4li YAML-failis, tuli manifesti lisada j\u00e4rgmine konstruktsioon:<\/p>\n<pre><code class=\"plaintext\">#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my\/pod.yaml<\/code><\/pre>\n<p>\nV\u00e4ga tore, et t\u00e4na on olemas malle tootjad, kas pole?<\/p>\n<p>Paljuski p\u00f5hjustel n\u00f5udis see varajane Kubernetes'i paigaldaja rangelt m\u00e4\u00e4ratletud nimekirja manifest-failidest ja t\u00e4itis ainult v\u00e4ikest fikseeritud s\u00fcndmuste jada. Selle kasutamine oli nii keeruline, et Deis Workflow R&amp;D meeskonnal oli raskusi, kui nad p\u00fc\u00fcdsid oma toodet sellele platvormile \u00fcle viia; siiski olid idee seemned juba k\u00fclvatud. Meie esimene katse osutus suurep\u00e4raseks \u00f5pikogemuseks: saime aru, et oleme t\u00f5eliselt p\u00fchendunud praktiliste t\u00f6\u00f6riistade loomisele, mis lahendavad meie kasutajate igap\u00e4evaseid probleeme.<\/p>\n<p>Kogemustest, mille kandsime varasemate vigade p\u00f5hjal, asusime Helm 2 arendama.<\/p>\n<h3>Helm 2 loomine<\/h3>\n<p>\n2015. aasta l\u00f5puks v\u00f5ttis meiega \u00fchendust Google'i meeskond. Nad t\u00f6\u00f6tasid sarnase t\u00f6\u00f6riista kallal Kubernetesesse. Kubernetes Deployment Manager oli olemasoleva t\u00f6\u00f6riista port, mida kasutati Google Cloud Platformil. \u201eKas me ei tahaks,\u201d k\u00fcsisid nad, \u201eveeta paar p\u00e4eva sarnasuste ja erinevuste arutamiseks?\u201d<\/p>\n<p>\u0412 \u044f\u043d\u0432\u0430\u0440\u0435 2016 \u043a\u043e\u043c\u0430\u043d\u0434\u044b Helm&#8217;\u0430 \u0438 Deployment Manager&#8217;\u0430 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0438\u0441\u044c \u0432 \u0421\u0438\u044d\u0442\u043b\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0438\u0434\u0435\u044f\u043c\u0438. \u041f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c \u0430\u043c\u0431\u0438\u0446\u0438\u043e\u0437\u043d\u044b\u043c \u043f\u043b\u0430\u043d\u043e\u043c: \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043e\u0431\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c Helm 2. \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 Deis \u0438 Google \u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043b\u0438\u0441\u044c \u043f\u0430\u0440\u043d\u0438 \u0438\u0437 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/skippbox\">SkippBox<\/a><\/noindex> <i>(mis on n\u00fc\u00fcd osa Bitnami'st \u2014 toimetaja m\u00e4rkus)<\/i>, ja asusime t\u00f6\u00f6le Helm 2 kallal.<\/p>\n<p>Soovisime s\u00e4ilitada Helm'i kasutusmugavust, kuid lisada j\u00e4rgmised elemendid:<\/p>\n<ul>\n<li> chartide mallid kohandamiseks;<\/li>\n<li> klusteresisene haldamine meeskondade jaoks;<\/li>\n<li> esmaklassiline chartide hoidla;<\/li>\n<li> stabiilne paketi formaat koos allkirjastamise v\u00f5imalusega;<\/li>\n<li> kindel p\u00fchendumus semantilisele versioonihaldamisele ja tagasip\u00f6\u00f6rduva \u00fchilduvuse s\u00e4ilitamisele versioonide vahel.<\/li>\n<\/ul>\n<p>\nNende eesm\u00e4rkide saavutamiseks lisati Helm'i \u00f6kos\u00fcsteemi teine element. See klusteresisene komponent nimetati Tilleriks ja see vastutas Helm chartide installimise ja haldamise eest.<\/p>\n<p>Alates Helm 2 v\u00e4ljalaskmisest 2016. aastal on Kubernetes saanud mitmeid olulisi uuendusi. Tuli rollide p\u00f5hine juurdep\u00e4\u00e4su haldamine (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/422801\/\">RBAC<\/a><\/noindex>), mis l\u00f5puks asendas atribuutide p\u00f5hise juurdep\u00e4\u00e4su juhtimise (ABAC). Uued ressursit\u00fc\u00fcbid (Deployments olid sel ajal endiselt beetaversioonis). Leiutati Custom Resource Definitions (alguses tuntud kui Third Party Resources v\u00f5i TPR-d). Ja k\u00f5ige olulisem - ilmusid parimad praktikud.<\/p>\n<p>Kuna k\u00f5ik need muudatused toimusid, j\u00e4tkas Helm Kubernetes'i kasutajatele ustav teenimine. P\u00e4rast kolme aastat ja palju uusi lisandeid sai selgeks, et on aeg teha olulisi muudatusi koodibaasis, et Helm saaks j\u00e4tkuvalt rahuldada areneva \u00f6kos\u00fcsteemi kasvavaid vajadusi.<\/p>\n<h2>\u041d\u0435\u0436\u043d\u043e\u0435 \u043f\u0440\u043e\u0449\u0430\u043d\u0438\u0435 \u0441 Tiller&#8217;\u043e\u043c<\/h2>\n<p>\n\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Helm 2 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 Tiller \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Deployment Manager&#8217;\u043e\u043c \u043e\u0442 Google. Tiller \u0438\u0433\u0440\u0430\u043b \u0432\u0430\u0436\u043d\u0443\u044e \u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430: \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c, \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u0432.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u043e\u043b\u0435\u0439 (RBAC) \u0431\u044b\u043b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0432 Kubernetes 1.6, \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Tiller&#8217;\u043e\u043c \u0432 production \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u0418\u0437-\u0437\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043f\u043e\u043b\u0438\u0442\u0438\u043a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0448\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u043e \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0441 Helm \u0438 Kubernetes \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u044d\u0442\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0433\u043b\u0430 \u043d\u0430\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0448\u0438\u0440\u043e\u043a\u0438\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u043c\u0443 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043d\u0443\u0436\u043d\u044b. DevOps- \u0438 SRE-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0448\u0430\u0433\u0438, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044f Tiller \u0432 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 (multi-tenant) \u043a\u043b\u0430\u0441\u0442\u0435\u0440.<\/p>\n<p>\u0423\u0437\u043d\u0430\u0432, \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Helm \u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445, \u043c\u044b \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438 Tiller&#8217;\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0438\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u0430\u0431\u0430 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u0440\u0435\u043b\u0438\u0437\u0435. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0442 API-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 Kubernetes, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0440\u0442 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0431 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432 Kubernetes.<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 Tiller&#8217;\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u0438 \u0431\u0435\u0437 Tiller&#8217;\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u043d\u0430\u0448\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 Helm 3 \u0441\u0442\u0430\u043b \u043f\u043e\u043b\u043d\u044b\u0439 \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 Tiller&#8217;\u0430.<\/p>\n<p>\u0421 \u0443\u0445\u043e\u0434\u043e\u043c Tiller&#8217;\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Helm \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u0430\u0441\u044c. Helm 3 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0433\u043e Kubernetes. \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f Helm \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/organize-cluster-access-kubeconfig\/\">kubeconfig faili<\/a><\/noindex>. Klastri administraatorid saavad kasutajate \u00f5igusi piirata mis tahes detailitasemel. V\u00e4ljalasked salvestatakse endiselt klastrisse, samas kui Helmi muu funktsionaalsus s\u00e4ilib.<\/p>\n<h2>Charti allikad<\/h2>\n<p>\n\u00dcldiselt on chartide l\u00e4htekohaks koht, kus on v\u00f5imalik charte hoida ja jagada. Helm klient pakib ja saadab chardid repositorysse. Lihtsustatult \u00f6eldes on chartide repository primitiivne HTTP-server, millel on index.yaml fail ja m\u00f5ned pakendatud chardid.<\/p>\n<p>Kuigi chartide repository API-l on m\u00f5ned eelised, et vastata k\u00f5ige p\u00f5hilisematele ladustamise n\u00f5uetele, on sellel ka mitmeid puudusi:<\/p>\n<ul>\n<li> Chartide hoidmine on halvasti \u00fchilduv enamikuga turvalisuse rakendustest, mis on vajalikud tootmis\u00fcmbruses. Standardse API olemasolu autentimiseks ja autoriseerimiseks on tootmisstsenaariumites \u00e4\u00e4rmiselt oluline.<\/li>\n<li> Helm'i t\u00f6\u00f6riistad, mis j\u00e4lgivad chartide p\u00e4ritolu ja neid kasutatakse allkirjastamiseks, terviklikkuse kontrollimiseks ning chartide p\u00e4ritolu m\u00e4\u00e4ramiseks, on publikatsiooniprotsessi valikuline osa.<\/li>\n<li> Mitme kasutaja stsenaariumites v\u00f5ib sama chart olla \u00fcles laaditud teise kasutaja poolt, kahekordistades selle sisu salvestamiseks vajaliku ruumi. Selle probleemi lahendamiseks on v\u00e4lja t\u00f6\u00f6tatud nutikamad hoidlad, kuid need ei ole ametlikus spetsifikatsioonis osa.<\/li>\n<li> \u00dche indeksi faili kasutamine chartide otsimiseks, metadate salvestamiseks ja chartide hankimiseks on keerukust suurendanud ohutute mitme kasutaja rakenduste v\u00e4ljat\u00f6\u00f6tamisel.<\/li>\n<\/ul>\n<p>\nProjekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/docker\/distribution\">Docker Distribution<\/a><\/noindex> (tuntud ka kui Docker Registry v2) on Docker Registry j\u00e4rglane ja tegelikult on see komplekt t\u00f6\u00f6riistu Docker-i piltide pakkimiseks, saatmiseks, salvestamiseks ja tarnimiseks. Paljud suuremad pilveteenused pakuvad Distributioni p\u00f5hjal p\u00f5hinevaid tooteid. Suure t\u00e4helepanu t\u00f5ttu on Distribution projekt kasu saanud pikaleveninud t\u00e4iustustest, parimatest turvapraktikatest ja katsetamisest looduslikes tingimustes, muutes selle \u00fcheks edukaimaks, kuid v\u00e4he tuntud kangelaseks avatud allika maailmas.<\/p>\n<p>Aga kas sa tead, et Distributioni projekt on loodud mis tahes vormi sisu levitamiseks, mitte ainult konteineripiltide jaoks?<\/p>\n<p>T\u00e4nu pingutustele <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opencontainers.org\/\">Open Container Initiative<\/a><\/noindex> (v\u00f5i OCI), saavad Helm chartid olla paigutatud igasse Distributioni instantsi. Praegu on see protsess eksperimentaalne. T\u00f6\u00f6d sisselogimise ja teiste funktsioonide toetamiseks, mis on vajalikud t\u00e4ielikuks Helm 3 kasutamiseks, pole veel l\u00f5petatud, kuid oleme v\u00e4ga p\u00f5nevil \u00f5ppimisv\u00f5imaluse \u00fcle, mida OCI ja Distributioni meeskonnad on aastate jooksul avastanud. Ja t\u00e4nu nende juhendamisele ja suunamisele saame aru, mis on k\u00f5rge k\u00e4ttesaadavusega teenuse haldamine suures ulatuses.<\/p>\n<p>Rohkem teavet m\u00f5nede eelseisvate muudatuste kohta Helm chartide hoidlates on saadaval <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.bacongobbler.com\/post\/2019-01-25-distributing-with-distribution\/\">linki pidi<\/a><\/noindex>.<\/p>\n<h2>V\u00e4ljaandmise haldamine<\/h2>\n<p>\nHelm 3-s j\u00e4lgitakse rakenduse seisundit klastris paari objekti abil:<\/p>\n<ul>\n<li> release object \u2014 esindab rakenduse eksemplari;<\/li>\n<li> release version secret \u2014 esindab soovitud rakenduse olekut konkreetsel ajahetkel (n\u00e4iteks uue versiooni v\u00e4ljaandmine).<\/li>\n<\/ul>\n<p>\nKutsumine <code>helm install<\/code> loodab release objekti ja release version secret. Kutsumine <code>helm upgrade<\/code> n\u00f5uab release objekti olemasolu (mida ta v\u00f5ib muuta) ja loob uue release version secret, mis sisaldab uusi v\u00e4\u00e4rtusi ja ettevalmistatud manifesti.<\/p>\n<p>Release object \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0440\u0435\u043b\u0438\u0437\u0435, \u0433\u0434\u0435 \u0440\u0435\u043b\u0438\u0437 \u2014 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0447\u0430\u0440\u0442\u0430 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u042d\u0442\u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043e \u0440\u0435\u043b\u0438\u0437\u0435. Release object \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c \u0432\u0441\u0435\u0445 release version secret&#8217;\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u0441\u0435\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f Helm-\u0447\u0430\u0440\u0442\u043e\u043c.<\/p>\n<p>Release version secret seob v\u00e4ljaande revision sarjaga (paigaldamine, uuendused, tagasip\u00f6\u00f6rdumised, kustutamine).<\/p>\n<p>Helm 2-s olid revisjonid rangelt j\u00e4rjestikused. Kutsumine <code>helm install<\/code> \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b v1, \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 (upgrade) \u2014 v2, \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. Release \u0438 release version secret \u0431\u044b\u043b\u0438 \u0441\u0432\u0435\u0440\u043d\u0443\u0442\u044b \u0432 \u0435\u0434\u0438\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u0430\u043a revision. Revision&#8217;\u044b \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0441\u044c \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d, \u0447\u0442\u043e \u0438 Tiller, \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u043b\u043e, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0431\u044b\u043b \u00ab\u0433\u043b\u043e\u0431\u0430\u043b\u0435\u043d\u00bb \u0432 \u043f\u043b\u0430\u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d; \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0438\u043c\u0435\u043d\u0438.<\/p>\n<p>\u0412 Helm 3 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u043e\u0434\u043d\u0438\u043c \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 release version secret&#8217;\u0430\u043c\u0438. Release object \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0440\u0435\u043b\u0438\u0437, \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0439 \u0432 Kubernetes. \u041a\u0430\u0436\u0434\u044b\u0439 release version secret \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0432\u0435\u0440\u0441\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 (upgrade), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043d\u043e\u0432\u044b\u0439 release version secret \u0438 \u0437\u0430\u0442\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0438\u0442 release object, \u0447\u0442\u043e\u0431\u044b \u0442\u043e\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043d\u0430 \u044d\u0442\u0443 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0442\u0430 (rollback) \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 release version secret&#8217;\u044b, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c \u0440\u0435\u043b\u0438\u0437 \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043e\u0442 Tiller&#8217;\u0430 Helm 3 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0440\u0435\u043b\u0438\u0437\u0435 \u0432 \u0435\u0434\u0438\u043d\u043e\u043c \u0441 \u0440\u0435\u043b\u0438\u0437\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d. \u041f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0440\u0442 \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c \u0440\u0435\u043b\u0438\u0437\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d, \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438\/\u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 etcd. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c WordPress \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d \u00abfoo\u00bb, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d \u00abbar\u00bb, \u0438 \u043e\u0431\u0430 \u0440\u0435\u043b\u0438\u0437\u0430 \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u00abwordpress\u00bb.<\/p>\n<h2>Muutused chartide s\u00f5ltuvustes<\/h2>\n<p>\nPakitud chart'id (kasutades <code>helm package<\/code>) Helm 2 kasutamiseks saab installeerida Helm 3, kuid chartide arendust\u00f6\u00f6d on t\u00e4ielikult \u00fcle vaadatud, seet\u00f5ttu tuleb m\u00f5ned muudatused teha, et j\u00e4tkata chartide arendamist heli 3-ga. Eelk\u00f5ige on muutunud chartide s\u00f5ltuvuste haldamise s\u00fcsteem.<\/p>\n<p>Chartide s\u00f5ltuvuste haldamise s\u00fcsteem on \u00fcle l\u00e4inud <code>requirements.yaml<\/code> ja <code>requirements.lock<\/code> . Tundub, et <code>Chart.yaml<\/code> ja <code>Chart.lock<\/code>. See t\u00e4hendab, et helm 2-s kasutatud chartide korral <code>helm dependency<\/code>, on vajalik teatud seadistamine, et t\u00f6\u00f6tada Helm 3-ga.<\/p>\n<p>Vaatame n\u00e4idet. Lisame s\u00f5ltuvuse chartile Helm 2-s ja vaatame, mis muutub Helm 3-le \u00fcleminekul.<\/p>\n<p>Helm 2 <code>requirements.yaml<\/code> n\u00e4gi v\u00e4lja j\u00e4rgmiselt:<\/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-s peegeldub sama s\u00f5ltuvus teie <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>\nChartid laaditakse endiselt ning paigutatakse katalooge <code>charts\/<\/code>, seega subchartid <i>(subcharts)<\/i>, mis asuvad kaustas <code>charts\/<\/code>, j\u00e4tkavad t\u00f6\u00f6tamist muutumatuna.<\/p>\n<h2>Tutvustame Library Charts<\/h2>\n<p>\nHelm 3 toetab chartide klassi, mida nimetatakse raamatukogude chartideks <i>(library chart). See chart kasutatakse teiste chartide poolt, kuid ei loo iseseisvalt \u00fchtegi versiooni artefakti. Library chartide malli v\u00f5ib deklareerida ainult elemendid<\/i>. \u042d\u0442\u043e\u0442 \u0447\u0430\u0440\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0447\u0430\u0440\u0442\u0430\u043c\u0438, \u043d\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432 \u0440\u0435\u043b\u0438\u0437\u0430. \u0428\u0430\u0431\u043b\u043e\u043d\u044b library chart&#8217;\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b <code>define<\/code>. Teine sisu j\u00e4etakse lihtsalt k\u00f5rvale. See v\u00f5imaldab kasutajatel taaskasutada ja jagada koodifragmente, mis v\u00f5ivad olla kasutuses mitmes chartis, v\u00e4ltides seega dubleerimist ja j\u00e4rgides p\u00f5him\u00f5tet <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\">DRY<\/a><\/noindex>.<\/p>\n<p>Raamatukogu chartide deklareerimine toimub jaotis <code>s\u00f5ltuvused<\/code> failis <code>Chart.yaml<\/code>. Nende installimine ja haldamine ei erine teistest chartidest.<\/p>\n<pre><code class=\"plaintext\">dependencies:\n  - name: mylib\n    version: 1.x.x\n    repository: quay.io<\/code><\/pre>\n<p>\nOotame p\u00f5nevusega rakendusv\u00f5imalusi, mida see komponent arendajatele avab, samuti parimaid praktikaid, mis v\u00f5ivad tuleneda raamatukogude chartidest.<\/p>\n<h2>Mis edasi?<\/h2>\n<p>\nHelm 3.0.0-alpha.1 \u2014 alus, millega alustame uue Helm versiooni loomist. Artiklis tutvustasin m\u00f5ned huvitavad v\u00f5imalused, mis Helm 3-l on. Paljud neist on endiselt varajases arengufaasis ja see on normaalne; alfa versiooni eesm\u00e4rk on ideed testida, saada esimestelt kasutajatelt tagasisidet ning kinnitada meie oletusi.<\/p>\n<p>Niipea kui alfa versioon on v\u00e4lja antud <i>(tuletame meelde, et see <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">on juba juhtunud<\/a><\/noindex> \u2014 toimetaja m\u00e4rkus)<\/i>, me alustan v\u00f5tma Helm 3 seoseid kogukonnalt. On oluline luua usaldusv\u00e4\u00e4rne alus, mis v\u00f5imaldab arendada ja v\u00f5tta kasutusele uusi funktsioone, samas saavad kasutajad olla kaasatud protsessi, avades piletid ja tehes parandusi.<\/p>\n<p>Artiklis p\u00fc\u00fcdsin k\u00e4sitleda m\u00f5ningaid olulisi t\u00e4iustusi, mis ilmuvad Helm 3-s, kuid seda nimekirja ei saa kuidagi pidada ammendavaks. Helm 3 jaoks on kogu plaanis sellised uuendused nagu parandatud v\u00e4rskendamisstrateegiad, s\u00fcgavam integratsioon OCI registritega ja JSON- skeemide kasutamine chartide v\u00e4\u00e4rtuste valideerimiseks. Samuti plaanime koodibaasi puhastada ja uuendada neid osi, mis on viimased kolm aastat t\u00e4helepanuta j\u00e4\u00e4nud.<\/p>\n<p>Kui teil on tunne, et oleme midagi t\u00e4hele pannud, siis oleksime t\u00e4nulikud teie m\u00f5tete kuulmise eest!<\/p>\n<p>Liituge aruteluga meie <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.slack.com\/\">Slack-kanalites<\/a><\/noindex>:<\/p>\n<ul>\n<li> <code>#helm-users<\/code> k\u00fcsimuste ja lihtsa suhtlemise jaoks kogukonnaga;<\/li>\n<li> <code>#helm-dev<\/code> pull requestide, koodi ja vigade aruteluks.<\/li>\n<\/ul>\n<p>\nSaate ka suhelda meie iga n\u00e4dal toimuvatel Public Developer Calls, mis toimuvad neljap\u00e4eviti kell 19:30 MSK. Kohtumised on p\u00fchendatud arutamisele probleemide \u00fcle, millega t\u00f6\u00f6tavad v\u00f5tme arendajad ja kogukond, samuti n\u00e4dalase arutelu teemadele. Iga\u00fchel on v\u00f5imalus liituda ja osaleda kohtumisel. Lingid on saadaval Slack-kanalis <code>#helm-dev<\/code>.<\/p>\n<h2>P.S. t\u00f5lkijalt<\/h2>\n<p>\nLugege ka meie blogist:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">Pakettide haldur Kubernetesile \u2014 Helm: minevik, olevik, tulevik<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438814\/\">\u0422\u0440\u0435\u0437\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 Helm 2: \u201e\u0412\u043e\u0442 \u0442\u0430\u043a\u043e\u0439, \u043a\u0430\u043a\u043e\u0439 \u0435\u0441\u0442\u044c&#8230;\u201c<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420437\/\">Praktiline tutvumine Kubernetes'e paketihalduriga \u2014 Helm<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/441964\/\">Kubernetesi nipid ja trikid: t\u00f6\u00f6riistade t\u00f5lkimine klastris Helm 2 halduse alla<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/336170\/\">Praktika dappiga. Osa 2. Docker-piltide juurutamine Kubernetesesse Helm abil<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Allikas: <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.1.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\/et\/blog\/administrirovanie\/znakomstvo-s-helm-3\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Tutvumine Helm 3-ga | ProHoster","description":"M\u00e4rkus.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/znakomstvo-s-helm-3","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/34735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=34735"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/34735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/26173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=34735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=34735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=34735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}