Terug naar blog

Software installeren op Kubernetes met de Helm 3-pakketbeheerder op Windows

Software installeren op Kubernetes met de Helm 3-pakketbeheerder op Windows

Als u een achtergrond in softwareontwikkeling heeft, bent u waarschijnlijk bekend met de term Package Manager. Met Package Managers kunt u afhankelijkheden installeren, versies upgraden en downgraden, enzovoort. In deze handleiding kijken we naar een zeer populaire package manager voor Kubernetes, genaamd Helm.

Helm helpt bij het beheren van Kubernetes-applicaties. Met Helm kunt u een Kubernetes-applicatie definiëren, waarbij u de metadata, afhankelijkheden en configuraties van de applicatie specificeert. Helm kan ook applicaties op Kubernetes installeren, evenals de applicaties upgraden en downgraden. Ten slotte kunt u uw applicatie met anderen delen met behulp van het Helm-bestand. In deze handleiding laten we u zien hoe u Helm 3 installeert, en hoe u charts en releases instelt, upgradet, terugdraait en beheert op Windows OS.

Laten we beginnen!

Vereisten

Voordat we met de handleiding beginnen, moet u ervoor zorgen dat u eerst de volgende installaties heeft uitgevoerd:

  • Als u Kubernetes nog niet heeft ingesteld op Windows, is de eenvoudigste manier om aan de slag te gaan met Docker Desktop. Ga naar https://www.docker.com/products/docker-desktop. Download en installeer Docker Desktop. In deze handleiding gaan we met Windows werken. Daarom moeten we WSL 2 Backend installeren. Dit is een Linux-subsysteem voor Windows en maakt ondersteuning voor Docker mogelijk:

Docker Desktop Kubernetes with Helm

Zodra Docker Desktop gereed is, ga naar Settings -> Kubernetes, en vink de optie aan die zegt Enable Kubernetes:

Docker Settings Kubernetes with Helm

Enable k8s Kubernetes with Helm

Om te controleren of alles goed werkt, gaat u naar de terminal/powershell, afhankelijk van welk systeem u gebruikt, en typt u de onderstaande opdracht:

Als u de onderstaande uitvoer ziet, kunt u aan de slag:

kubectl Kubernetes with Helm

Als alternatief kunt u, als u besluit om op Ubuntu te werken, onze gedetailleerde handleiding volgen: Hoe u Kubernetes installeert en gebruikt op Ubuntu 20.04.

Voordat we met het installatieproces beginnen, kijken we eerst naar enkele belangrijke termen die verband houden met Helm.

  • Charts

 Kubernetes YAML-bestanden zijn verpakt in de Helm-charts.

  • Helm-repositories

Helm biedt ondersteuning voor repositories. Een Helm-repository is een locatie die Helm-charts bevat, zodat anderen ze kunnen gebruiken. Met Helm kunt u uw eigen repositories maken en worden repositories van derden ondersteund.

  • Tiller

Tiller is de servercomponent van Helm. Deze moet op het Kubernetes-cluster worden geïnstalleerd. Het neemt de Helm-chart en configureert het cluster dienovereenkomstig.

U kunt ook een kijkje nemen op onze blogpost die een gedetailleerd overzicht geeft van Helm en de methoden van Helm uitlegt om de implementatie van applicaties op Kubernetes te vereenvoudigen.

Nu zijn we klaar om te beginnen!

Step 1: Install Helm 3

Het installeren van Helm 3 is een eenvoudig proces. De releases zijn beschikbaar op de GitHub-pagina van Helm. U kunt de release downloaden die u gaat gebruiken op basis van het besturingssysteem van uw keuze. In deze handleiding gaan we het Windows-besturingssysteem gebruiken, dus volg voor Windows de onderstaande stappen:

  1. Download op de GitHub-pagina de Helm-binaries voor Windows.

  2. Zodra de download is voltooid, vindt u het zip-archief in uw map Downloads of waar u het ook heeft gedownload.

  3. Verplaats dit archief vervolgens naar een handige locatie en pak het archief uit. U zou het bestand helm.exe moeten vinden in de uitgepakte inhoud:
    helm_binary

  4. Kopieer de maplocatie en voeg deze toe aan de PATH-variabele in de omgevingsvariabelen van uw systeem.

  5. Zonodig opent u de terminal en typt u de onderstaande opdracht:

Als u de onderstaande uitvoer ziet, bent u helemaal klaar met de Helm-installatie. U kunt dan doorgaan naar de volgende stappen:

helm

Step 2: Repositories instellen en een Helm-chart installeren

Helm ondersteunt toegang tot en beheer van repositories. In repositories worden Helm-charts opgeslagen. In eerste instantie heeft Helm geen eigen repository. In plaats daarvan moedigt Helm beheerders en DevOps-specialisten aan om hun eigen repositories te maken. Dit betekent dat als u MongoDB op uw Kubernetes-cluster wilt hebben, u dit zelf aan de Helm-repository moet toevoegen. Om u te helpen de repositories te vinden, kunt u Artifact.io gebruiken. Het is een open-source catalogus voor alle Helm-charts, beheerd door de CNCF.

Hieronder laten we u zien hoe u een repository instelt en de software downloadt en installeert. We nemen de MongoDB-installatie als voorbeeld. Stel dat u MongoDB op uw Kubernetes-cluster wilt installeren. Volg de onderstaande stappen voor de installatie:

  1. Ga eerst naar https://artifacthub.io.

  2. Zoek vervolgens naar MongoDB. Zodra u zoekt, zult u zien dat er veel opties beschikbaar zijn. Degene waarin we geïnteresseerd zijn is MongoDB by Bitnami:
    search_mongodb

  3. Wanneer de zoekopdracht is voltooid, ziet u verschillende opties. Bij elke chart ziet u de uitgever, versie en andere relevante informatie. Zodra u de gewenste chart heeft gevonden, moet u deze selecteren. Hier klikken we op MongoDB by Bitnami:
    select_mongodb

  4. Nu kan het technische gedeelte echt beginnen. Als u naar de algemene beschrijving kijkt, ziet u dat er een goede handleiding is voor iedereen die een van de services wil installeren. U kunt verschillende opties, configuraties, parameters bekijken, hoe u de chart verwijdert en al het andere waar u informatie over nodig heeft. Zoek de knop Install en klik erop:
    mongodb_install Kubernetes with Helm

  5. Hier is alles wat u nodig heeft om MongoDB te installeren. Eerst moet u de repository toevoegen en vervolgens de chart installeren. Om de repository toe te voegen, opent u de terminal en typt u het commando:

U zult de onderstaande uitvoer zien:

repo_add_bitnami

Nu u de repository heeft ingesteld, moet u de chart installeren. Kopieer het commando uit het dialoogvenster en voer het uit:

Zodra het proces is voltooid, bent u helemaal klaar met MongoDB.

Step 3: Manage Releases

In softwareontwikkeling is releasebeheer essentieel. Er zijn altijd momenten waarop u moet updaten of moet terugdraaien naar eerdere versies. Gelukkig is het beheren van releases in Helm een relatief eenvoudig proces. Helm houdt versienummers bij, zodat u altijd kunt terugdraaien naar de vorige versie. Stel dat uw applicatie is geïmplementeerd en live is, en u configuraties moet aanpassen - Helm ondersteunt dit ook. Hieronder zullen we enkele best practices doornemen om u te helpen deze bewerkingen uit te voeren.

  • Hoe de applicatie te updaten

Stel dat u in uw values.YAML-bestand vermeldt dat u twee instanties van de applicatie moet hebben draaien. Dit kan zijn omdat uw applicatie zeer beschikbaar moet zijn. Maar later realiseert u zich dat de applicatie drie instanties moet hebben. Zonder Helm moet u de applicatie eerst offline halen en vervolgens configureren en opnieuw implementeren. Met Helm kunt u eerst wijzigingen aanbrengen in het values.YAML-bestand en vervolgens gewoon het onderstaande commando uitvoeren. Voer in de map waar de Helm-bestanden zich bevinden het volgende commando uit:

  • Hoe de release terug te draaien

Stel nu dat uw release mislukt. Misschien heeft u de verkeerde poortnummers of paden geconfigureerd. Om terug te draaien naar een eerdere versie, hoeft u alleen de onderstaande versie uit te voeren, waarna Helm de release zal terugdraaien naar de vorige versie:

Helm zorgt voor alle releases en versiebeheer. Dit is een van de grootste voordelen van het gebruik van Helm met Kubernetes. Om alle releases van een applicatie te zien, voert u het onderstaande commando uit in de map met Helm-charts en YAML-bestanden:

Stap 4: Maak uw eigen chart

Nu u vertrouwd bent met Helm en begrijpt hoe het werkt, is het tijd om uw eigen chart te maken. Door uw eigen aangepaste chart te maken, kunt u uw applicatie eenvoudig distribueren en in elke repository hosten. Het maken van uw chart is een vrij eenvoudig proces als u de stappen volgt die we hieronder beschrijven. Open eerst de terminal en voer het onderstaande commando uit:

Dit zal de map aanmaken met de naam die u heeft opgegeven. We gebruiken de naam my-app. Laten we de inhoud van de map bekijken:

Je krijgt de onderstaande structuur:

Hier is een samenvatting van de inhoud in de uitvoer:

  • charts-map – Wordt gebruikt voor het toevoegen van afhankelijke charts.
  • templates-map – Configuratie die in het cluster zal worden geïmplementeerd.
  • YAML-bestand – Overzicht van de Helm chart-structuur.
  • YAML-bestand – Opmaakinformatie voor het configureren van de chart.

Volg daarna de onderstaande stappen om je chart te installeren en te configureren:

  • Configureer image en pull

Open het values.YAML-bestand. Zoek hier de image-node. Vervolgens kun je deze naar wens configureren. Mogelijke waarden zijn IfNotPresent, Always, Latest. Je vindt de volledige set waarden in de officiële documentatie.

  • Chart-naam overschrijven

Deze stap is optioneel, dus je kunt deze overslaan als je wilt:
override

  • Service-naam

Open het values.YAML-bestand en zoek de serviceName. Voeg vervolgens de gewenste naam toe. Het is handig om een naam klaar te hebben voordat je de chart installeert:
service_name

  • Installeer de chart

Voer ten slotte het onderstaande commando uit om de chart te installeren:

We raden je aan om alle beschikbare opties voor het configureren van je chart zorgvuldig te bekijken voordat je deze op het cluster implementeert.

Waarom ontwikkelaars van Helm houden

Helm wint aan populariteit onder ontwikkelaars en DevOps-specialisten die af en toe deployments moeten starten en stoppen. Hier zijn enkele van de belangrijkste voordelen van Helm:

  1. Helm vereenvoudigt het deploymentproces. Het vereist geen nieuwe leercurve; in plaats daarvan worden bestaande YAML-deployments eenvoudig configureerbaar gemaakt voor de gebruiker.

  2. In plaats van de configuratie vaak te moeten wijzigen, zoals het aantal clusters of poorten, maakt Helm dit eenvoudig configureerbaar. Het enige wat de gebruiker hoeft te doen is de waarden bij te werken in het values.YAML bestand.

  3. Helm maakt het mogelijk om de applicatie met andere gebruikers te delen door deze in repositories te verpakken.

Conclusie

In deze handleiding hebben we besproken hoe je de Helm package manager vanaf nul opzet op Windows. We hebben gekeken naar verschillende sleutelconcepten die duidelijk begrepen moeten worden om de kracht van Helm te benutten. We hebben ook verschillende functionaliteiten gezien die beschikbaar zijn binnen de verkende Helm-repositories. Je zou je nu vertrouwd moeten voelen met Helm en het kunnen implementeren in je volgende Kubernetes-project of -deployment.

Om je kennis van Kubernetes en de functionaliteiten ervan verder te vergroten, kun je een kijkje nemen bij meer handleidingen op onze blog:

Veel computerplezier!

author

Pranay Kapgate

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.