{"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\/nl\/blog\/administrirovanie\/znakomstvo-s-helm-3","title":{"rendered":"Kennismaking met Helm 3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kennismaking met Helm 3\" src=\"\/wp-content\/uploads\/2019\/05\/6de0e2887ddcc802f1dd71c902325401.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i><b>Opmerking vertaler.<\/b>: 16 mei van dit jaar is een belangrijke mijlpaal in de ontwikkeling van de pakketbeheerder voor Kubernetes \u2014 Helm. Op deze dag werd de eerste alfa-release van de toekomstige grote versie van het project \u2014 3.0 gepresenteerd. De release zal aanzienlijke en langverwachte veranderingen in Helm brengen, waar velen in de Kubernetes-gemeenschap grote verwachtingen van hebben. Wijzelf behoren ook tot die groep, aangezien we Helm actief gebruiken voor de implementatie van toepassingen: we hebben het ge\u00efntegreerd in onze tool voor CI\/CD. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/werf\">werf<\/a><\/noindex> en op sporadische basis leveren we een bescheiden bijdrage aan de ontwikkeling van upstream. Deze vertaling bundelt 7 notities uit de offici\u00eble Helm-blog, die zijn gepresenteerd bij de eerste alfa-release van Helm 3 en vertellen over de geschiedenis van het project en de belangrijkste functies van Helm 3. De auteur is Matt \u00abbacongobbler\u00bb Fisher, een medewerker van Microsoft en een van de sleutelonderhouders van Helm.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Op 15 oktober 2015 is het project geboren dat tegenwoordig bekend staat als Helm. Slechts een jaar na de oprichting voegde de Helm-gemeenschap zich bij Kubernetes, terwijl ze ook actief werkten aan Helm 2. In juni 2018 werd Helm <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/blog\/2018\/06\/01\/cncf-to-host-helm\/\">onderdeel van CNCF<\/a><\/noindex> als een ontwikkelend (incubating) project. Laten we naar het heden gaan \u2014 en al snel is de eerste alfa-release van de nieuwe Helm 3 op komst. <i>(deze release <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">heeft inmiddels plaatsgevonden<\/a><\/noindex> in het midden van mei \u2014 red. vert.)<\/i>.<\/p>\n<p>In dit artikel zal ik vertellen hoe alles begon, hoe we de huidige fase hebben bereikt, enkele unieke kenmerken presenteren die beschikbaar zijn in de eerste alfa-release van Helm 3, en uitleggen hoe we van plan zijn verder te ontwikkelen.<\/p>\n<p>Samenvatting:<\/p>\n<ul>\n<li>de geschiedenis van Helm;<\/li>\n<li>een tedere afscheid van Tiller;<\/li>\n<li>chart-repositories;<\/li>\n<li>releasebeheer;<\/li>\n<li>veranderingen in chart-afhankelijkheden;<\/li>\n<li>library charts;<\/li>\n<li>wat nu?<\/li>\n<\/ul>\n<p><\/p>\n<h2>De geschiedenis van Helm<\/h2>\n<p><\/p>\n<h3>Geboorte<\/h3>\n<p>\nHelm 1 begon als een Open Source-project, opgericht door Deis. We waren een kleine startup, <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.microsoft.com\/blog\/2017\/04\/10\/microsoft-acquire-deis-help-companies-innovate-containers\/\">overgenomen door<\/a><\/noindex> Microsoft in de lente van 2017. Ons andere Open Source-project, dat ook Deis heet, had een tool <code>deisctl<\/code>, die onder andere werd gebruikt voor het installeren en exploiteren van het Deis-platform in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/fleet\">de Fleet-cluster.<\/a><\/noindex>Op dat moment was Fleet een van de eerste platforms voor containerorkestratie.<\/p>\n<p>In het midden van 2015 besloten we van koers te veranderen en vertaalden we Deis (toen hernoemd naar Deis Workflow) van Fleet naar Kubernetes. Een van de eerste zaken die we herontworpen is de installatietool. <code>deisctl<\/code>We hebben het gebruikt voor de installatie en het beheer van Deis Workflow in de Fleet-cluster.<\/p>\n<p>Helm 1 is ontworpen naar het voorbeeld van bekende pakketbeheerders zoals Homebrew, apt en yum. De belangrijkste taak was om taken zoals het verpakken en installeren van applicaties in Kubernetes te vereenvoudigen. Officieel werd Helm in 2015 gepresenteerd op de KubeCon-conferentie in San Francisco.<\/p>\n<p>Onze eerste poging met Helm werkte, maar het kwam met aanzienlijke beperkingen. Het gebruikte een set Kubernetes-manifesten, aangevuld met generators als invoer YAML-blokken. <i>(front-matter)<\/i>*, en het laadde de resultaten in Kubernetes.<\/p>\n<p><i>* <b>Opmerking vertaler.<\/b>: Vanaf de eerste versie werd YAML syntaxis gekozen voor het beschrijven van Kubernetes-resources, en bij het schrijven van configuraties werden Jinja-sjablonen en Python-scripts ondersteund. Meer informatie hierover en over de opzet van de eerste versie van Helm in het algemeen hebben we geschreven in het hoofdstuk 'Korte Geschiedenis van Helm'. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">dit materiaal<\/a><\/noindex>.<\/i><\/p>\n<p>Bijvoorbeeld, om een veld in een YAML-bestand te vervangen, moest de volgende constructie in het manifest worden toegevoegd:<\/p>\n<pre><code class=\"plaintext\">#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my\/pod.yaml<\/code><\/pre>\n<p>\nHet is geweldig dat er tegenwoordig sjabloon generators zijn, nietwaar?<\/p>\n<p>Om verschillende redenen vereiste deze vroege Kubernetes-installer een rigide lijst van manifest-bestanden en voerde het slechts een kleine vaste reeks gebeurtenissen uit. Het was zo moeilijk in gebruik dat het R&amp;D-team van Deis Workflow het zwaar had toen ze probeerden hun product naar dit platform te migreren \u2014 maar de zaadjes voor het idee waren al geplant. Onze eerste poging was een uitstekende gelegenheid om te leren: we realiseerden ons dat we echt gepassioneerd waren over het cre\u00ebren van pragmatische tools die alledaagse problemen voor onze gebruikers oplossen.<\/p>\n<p>Op basis van de ervaringen van eerdere fouten gingen we verder met de ontwikkeling van Helm 2.<\/p>\n<h3>De creatie van Helm 2<\/h3>\n<p>\nEind 2015 nam het Google-team contact met ons op. Ze werkten aan een vergelijkbare tool voor Kubernetes. Deployment Manager voor Kubernetes was een port van een bestaand hulpmiddel dat werd gebruikt voor Google Cloud Platform. \u2018Willen we niet,\u2019 vroegen ze, \u2018een paar dagen besteden aan het bespreken van overeenkomsten en verschillen?\u2019<\/p>\n<p>In januari 2016 kwamen de teams van Helm en Deployment Manager in Seattle bijeen om idee\u00ebn uit te wisselen. De gesprekken resulteerden in een ambitieus plan: de samensmelting van beide projecten om Helm 2 te cre\u00ebren. Samen met Deis en Google sloten de jongens zich aan bij het ontwikkelteam. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/skippbox\">SkippBox<\/a><\/noindex> <i>(nu onderdeel van Bitnami \u2014 vert.)<\/i>, en we begonnen met het werken aan Helm 2.<\/p>\n<p>We wanted to maintain the simplicity of using Helm but add the following:<\/p>\n<ul>\n<li> chart templates for customization;<\/li>\n<li> in-cluster management for teams;<\/li>\n<li> a first-class chart repository;<\/li>\n<li> a stable package format with signing capabilities;<\/li>\n<li> a strong commitment to semantic versioning and maintaining backward compatibility between versions.<\/li>\n<\/ul>\n<p>\nTo achieve these goals, a second element was added to the Helm ecosystem. This in-cluster component was called Tiller and was responsible for installing and managing Helm charts.<\/p>\n<p>Since the release of Helm 2 in 2016, Kubernetes has undergone several significant innovations. Role-Based Access Control (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/422801\/\">RBAC<\/a><\/noindex>) was introduced, which ultimately replaced Attribute-Based Access Control (ABAC). New resource types were introduced (Deployments were still in beta at that time). Custom Resource Definitions were invented (initially called Third Party Resources or TPRs). Most importantly, a set of best practices emerged.<\/p>\n<p>Against the backdrop of all these changes, Helm continued to faithfully serve Kubernetes users. After three years and numerous new additions, it became clear that significant changes to the codebase were necessary for Helm to continue meeting the growing needs of the evolving ecosystem.<\/p>\n<h2>Een teder afscheid van Tiller<\/h2>\n<p>\nTijdens de ontwikkeling van Helm 2 introduceerden we Tiller als onderdeel van onze integratie met de Deployment Manager van Google. Tiller speelde een belangrijke rol voor teams die binnen een gezamenlijke cluster werkten: het stelde verschillende specialisten die de infrastructuur exploiteerden in staat om met dezelfde set releases te communiceren.<\/p>\n<p>Omdat role-based access control (RBAC) standaard was ingeschakeld in Kubernetes 1.6, werd de samenwerking met Tiller in productie complexer. Vanwege het enorme aantal mogelijke beveiligingsbeleid was onze positie om standaard een permissieve configuratie aan te bieden. Dit stelde nieuwkomers in staat om te experimenteren met Helm en Kubernetes zonder dat ze zich eerst in de beveiligingsinstellingen hoefden te verdiepen. Helaas kon deze permissieve configuratie gebruikers te brede machtigingen geven die niet nodig waren. DevOps- en SRE-ingenieurs moesten extra operationele stappen leren om Tiller in een multi-tenant cluster te installeren.<\/p>\n<p>Door inzicht te krijgen in hoe leden van de gemeenschap Helm in specifieke situaties gebruikten, realiseerden we ons dat het releasemanagementsysteem Tiller niet afhankelijk hoefde te zijn van een intra-clustercomponent om toestanden te onderhouden of te functioneren als een centraal knooppunt met informatie over releases. In plaats daarvan konden we eenvoudig informatie van de Kubernetes API-server ontvangen, het chart aan de clientzijde genereren en een installatie-informatie in Kubernetes opslaan.<\/p>\n<p>De belangrijkste taak van Tiller kon ook zonder Tiller worden uitgevoerd, daarom was een van onze eerste beslissingen over Helm 3 om Tiller volledig af te schaffen.<\/p>\n<p>Met het vertrek van Tiller is het beveiligingsmodel van Helm drastisch vereenvoudigd. Helm 3 ondersteunt nu alle moderne manieren van beveiliging, identificatie en autorisatie van de huidige Kubernetes. De machtigingen van Helm worden gedefinieerd met behulp van <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/organize-cluster-access-kubeconfig\/\">het kubeconfig-bestand<\/a><\/noindex>. Clusterbeheerders kunnen de rechten van gebruikers op elke gewenste detaillering beperken. Releases worden nog steeds binnen het cluster bijgehouden, en de overige functionaliteit van Helm blijft behouden.<\/p>\n<h2>Chart-repositories<\/h2>\n<p>\nOp hoog niveau is een chart-repository een plek waar charts kunnen worden opgeslagen en gedeeld. De Helm-client verpakt en verstuurt charts naar de repository. Simpel gezegd, een chart-repository is een primitieve HTTP-server met een index.yaml-bestand en enkele verpakte charts.<\/p>\n<p>Hoewel er enkele voordelen zijn aan het feit dat de API van de chart-repository voldoet aan de basisvereisten voor opslag, zijn er ook enkele nadelen:<\/p>\n<ul>\n<li> Chart repositories zijn slecht compatibel met de meeste beveiligingsimplementaties die nodig zijn in een productieomgeving. Het hebben van een standaard API voor authenticatie en autorisatie is van cruciaal belang in productie-scenario's.<\/li>\n<li> De tools van Helm voor het bijhouden van de herkomst van charts, die worden gebruikt voor ondertekening, integriteitscontrole en herkomst, zijn een optioneel onderdeel van het publicatieproces van een Chart.<\/li>\n<li> In multi-user scenario's kan dezelfde chart door een andere gebruiker worden ge\u00fcpload, wat de opslagruimte die nodig is voor dezelfde content, verdubbelt. Om dit probleem op te lossen, zijn er slimmere repositories ontwikkeld, maar deze maken geen deel uit van de formele specificatie.<\/li>\n<li> Het gebruik van een enkele indexbestand voor het zoeken, opslaan van metadata en ophalen van charts heeft het ontwikkelen van veilige multi-user implementaties bemoeilijkt.<\/li>\n<\/ul>\n<p>\nProject <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/docker\/distribution\">Docker Distribution<\/a><\/noindex> (ook bekend als Docker Registry v2) is de opvolger van Docker Registry en fungeert feitelijk als een set tools voor het verpakken, verzenden, opslaan en leveren van Docker-images. Veel grote cloudservices bieden producten gebaseerd op Distribution. Dankzij deze verhoogde aandacht heeft het Distribution-project geprofiteerd van jarenlange verbeteringen, beste praktijken op het gebied van veiligheid en testen in 'live' omgevingen, waardoor het een van de meest succesvolle onbezongen helden in de wereld van Open Source is geworden.<\/p>\n<p>Maar wist u dat het Distribution-project is ontwikkeld om elke vorm van content te distribueren en niet alleen container images?<\/p>\n<p>Dankzij de inspanningen van <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opencontainers.org\/\">Open Container Initiative<\/a><\/noindex> (of OCI) kunnen Helm-charts worden gehost op elke instantie van Distribution. Tot nu toe is dit proces experimenteel. Het werk aan de ondersteuning van inlogfuncties en andere functies die nodig zijn voor een complete Helm 3-ervaring is nog niet afgerond, maar we zijn erg enthousiast over de mogelijkheid om te leren van de ontdekkingen die de OCI- en Distribution-teams in de loop der jaren hebben gedaan. Dankzij hun mentorschap en begeleiding leren we wat het betekent om een hoog-beschikbare service op grote schaal te exploiteren.<\/p>\n<p>Een meer gedetailleerde beschrijving van enkele aankomende wijzigingen in de Helm-chart repositories is beschikbaar. <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.bacongobbler.com\/post\/2019-01-25-distributing-with-distribution\/\">via de link<\/a><\/noindex>.<\/p>\n<h2>Releasebeheer<\/h2>\n<p>\nIn Helm 3 wordt de status van de applicatie binnen de cluster bijgehouden door een paar objecten:<\/p>\n<ul>\n<li> release object - vertegenwoordigt een instantie van de applicatie;<\/li>\n<li> release versie geheim - vertegenwoordigt de gewenste staat van de applicatie op een specifiek moment in de tijd (bijvoorbeeld, de release van een nieuwe versie).<\/li>\n<\/ul>\n<p>\nAanroep <code>helm install<\/code> maakt de release object en release versie geheim aan. Aanroep <code>helm upgrade<\/code> vereist een release object (dat het kan wijzigen) en maakt een nieuw release versie geheim aan, dat nieuwe waarden en een voorbereide manifest bevat.<\/p>\n<p>Het release-object bevat informatie over de release, waarbij de release een specifieke installatie van een benoemde chart en waarden is. Dit object beschrijft de bovenliggende metadata over de release. Het release-object blijft bestaan gedurende de hele levenscyclus van de applicatie en fungeert als eigenaar van alle release version secrets, evenals van alle objecten die rechtstreeks door de Helm-chart zijn gemaakt.<\/p>\n<p>Release versie geheim koppelt de release aan een reeks revisies (installaties, upgrades, terugrol, verwijdering).<\/p>\n<p>In Helm 2 waren revisies uitsluitend sequentieel. Aanroep <code>helm install<\/code> Cre\u00eberde v1, de daaropvolgende upgrade \u2014 v2, enzovoort. Release en release version secret zijn samengevoegd tot \u00e9\u00e9n object, bekend als revision. Revisions werden opgeslagen in dezelfde namespace als Tiller, wat betekende dat elke release 'globaal' was qua namespace; als gevolg hiervan kon slechts \u00e9\u00e9n exemplaar van de naam worden gebruikt.<\/p>\n<p>In Helm 3 is elke release gekoppeld aan \u00e9\u00e9n of meerdere release version secrets. Het release-object beschrijft altijd de huidige release die is uitgerold in Kubernetes. Elke release version secret beschrijft slechts \u00e9\u00e9n versie van deze release. Een upgrade cre\u00ebert bijvoorbeeld een nieuwe release version secret en verandert vervolgens het release-object, zodat het naar deze nieuwe versie verwijst. Bij een rollback kunnen de vorige release version secrets worden gebruikt om de release naar de vorige staat terug te brengen.<\/p>\n<p>Na het afschaffen van Tiller slaat Helm 3 gegevens over de release op in dezelfde namespace als de release. Deze wijziging maakt het mogelijk om een chart met dezelfde naam als de release in een andere namespace te installeren, en de gegevens blijven behouden tussen updates\/herstarts van de cluster in etcd. Bijvoorbeeld, je kunt WordPress installere in de namespace 'foo', en vervolgens in de namespace 'bar', en beide releases kunnen 'wordpress' worden genoemd.<\/p>\n<h2>Wijzigingen in de afhankelijkheden van charts<\/h2>\n<p>\nCharts, verpakt (met behulp van <code>helm package<\/code>) voor gebruik met Helm 2 kan worden ge\u00efnstalleerd met Helm 3. Het ontwikkelingsproces van charts is echter volledig herzien, dus moeten er enkele wijzigingen worden aangebracht om door te gaan met het ontwikkelen van charts met Helm 3. In het bijzonder is het systeem voor afhankelijkheidsbeheer van charts veranderd.<\/p>\n<p>Het afhankelijkheidsbeheersysteem van de chart is overgeschakeld van <code>requirements.yaml<\/code> en <code>requirements.lock<\/code> en een werkende opdracht krijgen. <code>Chart.yaml<\/code> en <code>Chart.lock<\/code>. Dit betekent dat charts die het commando <code>helm dependency<\/code>, enige configuratie vereisen om in Helm 3 te werken.<\/p>\n<p>Laten we een voorbeeld bekijken. Laten we een afhankelijkheid toevoegen aan een chart in Helm 2 en zien wat er verandert bij de overstap naar Helm 3.<\/p>\n<p>In Helm 2 <code>requirements.yaml<\/code> zag er als volgt uit:<\/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>\nIn Helm 3 wordt dezelfde afhankelijkheid weergegeven in uw <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>\nCharts worden nog steeds gedownload en geplaatst in de directory <code>charts\/<\/code>, dus subcharts <i>(subcharts)<\/i>, bevinden zich in de map <code>charts\/<\/code>, blijven ongewijzigd werken.<\/p>\n<h2>Introductie van Library Charts<\/h2>\n<p>\nHelm 3 ondersteunt een klasse charts genoemd library charts <i>(library chart)<\/i>. Deze chart wordt door andere charts gebruikt, maar cre\u00ebert zelf geen release-artifacten. Templates van library charts kunnen alleen elementen declareren. <code>define<\/code>. Andere inhoud wordt eenvoudigweg genegeerd. Dit stelt gebruikers in staat om codefragmenten opnieuw te gebruiken en uit te wisselen, die in veel charts kunnen worden gebruikt, en voorkomt duplicatie terwijl het principe van <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\">DRY<\/a><\/noindex>.<\/p>\n<p>wordt nageleefd. Library charts worden gedeclareerd in de sectie <code>dependencies<\/code> in het bestand <code>Chart.yaml<\/code>. De installatie en het beheer zijn niet anders dan bij andere charts.<\/p>\n<pre><code class=\"plaintext\">dependencies:\n  - name: mylib\n    version: 1.x.x\n    repository: quay.io<\/code><\/pre>\n<p>\nWe kijken ernaar uit welke gebruiksmogelijkheden deze component biedt voor chart-ontwikkelaars, evenals de beste praktijken die kunnen ontstaan door library charts.<\/p>\n<h2>Wat nu?<\/h2>\n<p>\nHelm 3.0.0-alpha.1 is de basis waar we op voortbouwen om een nieuwe versie van Helm te cre\u00ebren. In het artikel beschrijf ik enkele interessante mogelijkheden van Helm 3. Veel daarvan bevinden zich nog in een vroeg stadium van ontwikkeling en dat is normaal; het doel van een alpha-release is om het idee te testen, feedback van de eerste gebruikers te verzamelen en onze veronderstellingen te bevestigen.<\/p>\n<p>Zodra de alpha-versie is uitgebracht <i>(ter herinnering, dat is <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">al gebeurd<\/a><\/noindex> \u2013 opmerking vert.)<\/i>, we zullen beginnen met het aannemen van patches voor Helm 3 van de gemeenschap. Het is belangrijk om een solide basis te cre\u00ebren waarmee nieuwe functionaliteiten kunnen worden ontwikkeld en geaccepteerd, terwijl gebruikers betrokken kunnen raken in het proces door tickets te openen en correcties aan te brengen.<\/p>\n<p>In dit artikel heb ik geprobeerd enkele belangrijke verbeteringen te belichten die in Helm 3 zullen verschijnen, maar deze lijst kan in geen geval als uitputtend worden beschouwd. Het uitgebreide plan voor Helm 3 omvat innovaties zoals verbeterde update-strategie\u00ebn, diepere integratie met OCI-registers en het gebruik van JSON-schema's voor het valideren van chart-waarden. We zijn ook van plan om de codebasis op te schonen en delen bij te werken die de afgelopen drie jaar verwaarloosd zijn.<\/p>\n<p>Als je denkt dat we iets gemist hebben, horen we graag je gedachten!<\/p>\n<p>Doe mee aan de discussie in onze <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.slack.com\/\">Slack-kanalen<\/a><\/noindex>:<\/p>\n<ul>\n<li> <code>#helm-users<\/code> voor vragen en eenvoudig contact met de gemeenschap;<\/li>\n<li> <code>#helm-dev<\/code> voor het bespreken van pull requests, code en bugs.<\/li>\n<\/ul>\n<p>\nJe kunt ook deelnemen aan onze wekelijkse Public Developer Calls op donderdag om 19:30 MSK. De vergaderingen zijn gewijd aan het bespreken van taken waaraan belangrijke ontwikkelaars en de gemeenschap werken, evenals de thema's die deze week aan bod komen. Iedereen is welkom om deel te nemen en zich bij de vergadering aan te sluiten. De link is beschikbaar in het Slack-kanaal <code>#helm-dev<\/code>.<\/p>\n<h2>P.S. van de vertaler<\/h2>\n<p>\nLees ook op onze blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">Pakketbeheerder voor Kubernetes \u2013 Helm: verleden, heden, toekomst<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438814\/\">Een nuchtere kijk op Helm 2: 'Zo is het...'<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420437\/\">Praktische kennismaking met de pakketbeheerder voor Kubernetes \u2013 Helm<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/441964\/\">Kubernetes tips &amp; tricks: vertaling van werkende resources in een cluster onder beheer van Helm 2<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/336170\/\">Praktijk met dapp. Deel 2. Uitrol van Docker-images in Kubernetes met behulp van Helm<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Bron: <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\/nl\/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=\"nl_NL\" \/>\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\/nl\/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\udd47Kennismaking met Helm 3 | ProHoster","description":"Opmerking.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/znakomstvo-s-helm-3","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/34735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=34735"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/34735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/26173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=34735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=34735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=34735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}