Winkelwagen

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    De Helm Kubernetes package manager gebruiken

    Helm is een package manager voor Kubernetes. Helm gebruikt een package formaat genaamd 'Charts'. Een Chart is een verzameling bestanden die een gerelateerde set van Kubernetes resources beschrijft. Net zoals apt een packagemanager is die het beheer van software eenvoudiger maakt in Ubuntu en Debian, doet Helm dat voor Kubernetes resources.

    In deze handleiding laten we zien hoe je gebruik maakt van de Helm-packagemanager. Zorg ervoor dat je onze Helm-packagemanager installatiehandleiding hebt doorlopen op de computer waarop je je Kubernetes-cluster beheert voordat je deze handleiding gebruikt.

    • Op Artifact Hub vind je beschikbare Helm Charts en een aantal alternatieve repositories.
    • Voor deze handleiding gaan we ervan uit dat je de Bitnami Helm-repository gebruikt.

    Een Helm Chart gebruiken

     

    Stap 1

    Update voor je Helm gebruikt eerst (net als in Linux) de beschikbare repositories:

    helm repo update

     

    Stap 2

    Op de Artifact Hub-website kun je zoeken op beschikbare Helm Charts. Een alternatief is om dit rechtstreeks vanuit command-line te doen met Helm:

    helm search hub | grep softwarename

    Als je je zoekresultaat niet specificeert met grep, krijg je alle beschikbare charts te zien in alle beschikbare repositories.

    Alternatief kun je ook rechtstreeks de op jouw computer beschikbare repositories doorzoeken:

    helm search repo

    Je krijgt een vrij groot overzicht te zien, maar kunt je zoekopdracht altijd specificeren door een repository te specificeren en/of die te 'pipen' naar een grep-commando als volgt:

    helm search repo bitnami | grep mysql

     

    Stap 3

    Voor je een Helm-chart installeert wil je allicht eerst de inhoud van de Chart zien. Dit kan eenvoudig met het commando:

    helm show chart reponame/chartname

    Om bij ons eerdere voorbeeld te blijven, kun je bijvoorbeeld de Helm Chart voor MySQL in de Bitnami-repository als volgt bekijken:

    helm show chart bitnami/mysql

    De inhoud van de Helm Chart kan bijvoorbeeld als volgt eruit zien:

    annotations:
      category: Database
    apiVersion: v2
    appVersion: 8.0.31
    dependencies:
    - name: common
      repository: https://charts.bitnami.com/bitnami
      tags:
      - bitnami-common
      version: 2.x.x
    description: MySQL is a fast, reliable, scalable, and easy to use open source relational
      database system. Designed to handle mission-critical, heavy-load production applications.
    home: https://github.com/bitnami/charts/tree/main/bitnami/mysql
    icon: https://bitnami.com/assets/stacks/mysql/img/mysql-stack-220x234.png
    keywords:
    - mysql
    - database
    - sql
    - cluster
    - high availability
    maintainers:
    - name: Bitnami
      url: https://github.com/bitnami/charts
    name: mysql
    sources:
    - https://github.com/bitnami/containers/tree/main/bitnami/mysql
    - https://mysql.com
    version: 9.4.4

     

    Stap 4

    Zoals je gewend bent van een goede packagemanager, kun je een Helm Chart eenvoudig installeren. Hiervoor gebruik je het 'helm install'-commando, bijvoorbeeld:

    helm install bitnami/mysql --generate-name

    De output ziet er als volgt uit:

    NAME: mysql-1670407849
    LAST DEPLOYED: Wed Dec  7 11:10:51 2022
    NAMESPACE: default
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    NOTES:
    CHART NAME: mysql
    CHART VERSION: 9.4.4
    APP VERSION: 8.0.31
    
    ** Please be patient while the chart is being deployed **
    
    Tip:
    
      Watch the deployment status using the command: kubectl get pods -w --namespace default
    
    Services:
    
      echo Primary: mysql-1670407849.default.svc.cluster.local:3306
    
    Execute the following to get the administrator credentials:
    
      echo Username: root
      MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default mysql-1670407849 -o jsonpath="{.data.mysql-root-password}" | base64 -d)
    
    To connect to your database:
    
      1. Run a pod that you can use as a client:
    
          kubectl run mysql-1670407849-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.31-debian-11-r10 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
    
      2. To connect to primary service (read/write):
    
          mysql -h mysql-1670407849.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
    • In dit voorbeeld krijgen we de naam mysql-1670407849 toegewezen. Wanneer je een Chart op deze manier installeert maak je een nieuwe 'release'. Het nummer in de naam is uniek en wordt dankzij de --generate-name flag gegenereerd. Dit betekent dat je meerdere MySQL-releases kunt maken met dezelfde chart binnen hetzelfde Kubernetes-cluster. Deze krijgen een unieke release naam toegewezen dankzij de --generate-name toevoeging en kunnen onafhankelijk van elkaar beheerd worden.
    • Eventuele aanvullende stappen, zoals hier nodig zijn om met je database te verbinden, worden normaal gesproken getoond in de output van het installatie-commando.
    • Meer informatie over het helm install commando vind je hier.

    Alternatief kun je ook zelf een naam kiezen. Dit is handig wanneer je op een eenvoudigere manier wil onthouden welke namen je releases hebben en gebruik maakt van de --keep-history flag, zie de volgende paragraaf.

    helm install yourcustomname bitnami/mysql

    De installatie van je Helm Chart is daarmee voltooid.

    Let op: de MySQL Helm Chart van Bitnami bevat op moment van schrijven een bug waardoor de aangemaakte Pod niet kan starten. Voor enkele oplossingen, zie deze pagina.


    Helm Charts bewerken voor installatie

     

    In bepaalde gevallen is het wenselijk om een Helm Chart aan te passen, bijvoorbeeld als je de configuratie wil aanpassen, of er een bug zit in de Helm Chart. Gelukkig kun je Helm Charts relatief eenvoudig downloaden en aanpassen in enkele stappen:

     

    Stap 1

    Download de betreffende Helm Chart met het commando:

    helm pull repo/chartnaam --untar
    
    • Vervang hier repo door de naam van de repository en chartnaam door de naam van de Helm Chart, bijvoorbeeld bitnami/mysql.
    • De Chart wordt opgeslagen in een nieuwe directory binnen de directory waar je op dit moment vanuit werkt, bijvoorbeeld ~/mysql

     

    Stap 2

    In de zojuist aangemaakte folder (in ons voorbeeld ~/mysql) vind je alle bestanden die een onderdeel vormen van de Helm Chart. In de praktijk pas je meestal enkel het bestand values.yaml aan dat zich in de root-directory bevindt, in ons voorbeeld is dat ~/mysql/values.yaml.


     

    Stap 3

    Na het aanpassen van de Helm Chart pak je deze in met het commando:

    helm package chartnaam
    • Vervang chartnaam door de naam van de directory die in Stap 1 is aangemaakt, bijvoorbeeld mysql.
    • Je krijgt na het uitvoeren van dit commando de directory en naam van de ingepakte Helm Chart te zien. Deze heb je nodig in stap 4.

     

    Stap 4

    Installeer de Helm Chart met het commando:

    helm install chartnaam /directory/subdirectory/package-versie.tgz

    Vervang zoals eerder chartnaam door de naam van de chart en de directory en bestandsnaam door degene die in stap 3 getoond zijn.


    Helm releases beheren

     

    Wanneer een Helm Chart geïnstalleerd is, spreekt men over een 'release'. In deze paragraaf doorlopen we een aantal handige beheercommando's voor het managen van Helm Charts op jouw Kubernetes-cluster.

     

    Releases controleren

    Alle releases op je cluster zie je eenvoudig terug met het commando:

    helm list

    De output ziet er als volgt uit (let op de scroll balk):

    NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                     APP VERSION
    mysql-1670416172        default         1               2022-12-07 13:29:33.9111825 +0100 STD   deployed        mysql-9.4.4               8.0.31

    Specifiekere informatie vergelijkbaar met de output van het 'helm install'-commando vraag je op met:

    helm status releasename

     

    Een release verwijderen

    Een release verwijder je even eenvoudig als dat je hem installeert:

    helm uninstall releasename

    Vervang hierbij 'releasename' door de naam van de release zoals zichtbaar onder 'NAME' in de output van het 'helm list'-commando.

    Optioneel kun je de flag --keep-history toevoegen. Dit is een handige optie om de informatie over de release te behouden:

    helm uninstall releasename --keep-history

    Je kunt dan later de history van de release 'releasename' terugbekijken met het commando:

    helm history releasename

    Helm gaat zelfs nog een stapje verder: je kunt met deze informatie ook een release na de-installatie weer terugrollen met het commando:

    helm rollback releasename revision

    Het revision nummer zie je terug in de output van het helm history commando.


    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op