Overzicht
Helm is een essentieel hulpmiddel voor het implementeren en beheren van applicaties op een Kubernetes-cluster. U kunt applicaties zoeken in chart repositories, ze installeren en upgrades en rollbacks uitvoeren via versiebeheer. Hiermee kunt u complexe Kubernetes-resources bundelen en beheren als één logische eenheid.
Belangrijkste functies
De kernfuncties die Helm biedt, zijn als volgt:
- Verpakking van Kubernetes-applicaties (Charts)
- Beheer en zoeken van chart repositories
- Implementatie, upgrade en rollback van applicaties
- Releasebeheer en geschiedenis bijhouden
- Flexibele configuratie via templates
Installatie
Helm is niet standaard inbegrepen in de meeste Linux-distributies, dus u moet het handmatig installeren. Hieronder vindt u de algemene installatiemethoden.
Installatie via script (aanbevolen)
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Dit is de meest gebruikelijke en aanbevolen methode om Helm te installeren met behulp van het officiële installatiescript.
Installatie via Homebrew (macOS/Linux)
brew install helm
Als u de Homebrew-pakketbeheerder gebruikt, kunt u Helm installeren met het volgende commando.
Installatie via apt (Debian/Ubuntu)
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
Op Debian- of Ubuntu-gebaseerde systemen kunt u Helm installeren via de apt-pakketbeheerder.
Belangrijkste subcommando's
Helm-commando's bieden flexibiliteit in het beheer van Kubernetes-applicaties via diverse subcommando's. Hieronder vindt u de meest gebruikte subcommando's.
Releasebeheer
Chartbeheer
Informatie opvragen
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`helm` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Hier zijn enkele voorbeelden van het beheren van Kubernetes-applicaties met behulp van de belangrijkste functies van Helm.
Chart repository toevoegen
helm repo add bitnami https://charts.bitnami.com/bitnami
Voegt de Bitnami chart repository toe, zodat u toegang krijgt tot diverse applicatiecharts.
Chart repository bijwerken
helm repo update
Werkt de informatie van alle toegevoegde chart repositories bij naar de meest recente status.
Charts zoeken
helm search repo nginx
Zoekt naar charts die het trefwoord 'nginx' bevatten in de repositories.
Chart installeren
helm install my-nginx bitnami/nginx
Installeert de Nginx chart van Bitnami met de naam 'my-nginx'.
Release lijst controleren
helm list
Controleert de lijst van alle Helm releases die momenteel op het Kubernetes-cluster zijn geïmplementeerd.
Release upgraden
helm upgrade my-nginx bitnami/nginx --set service.type=NodePort
Upgrade de bestaande 'my-nginx' release en wijzig het Nginx-servicetype naar NodePort.
Release verwijderen
helm uninstall my-nginx
Verwijdert de release met de naam 'my-nginx' en alle bijbehorende Kubernetes-resources.
Tips & Aandachtspunten
Tips en aandachtspunten voor het effectief gebruiken van Helm en het voorkomen van potentiële problemen.
Helm chart ontwikkeling en validatie
Handige tips bij het ontwikkelen van uw eigen charts of het aanpassen van bestaande charts.
- Gebruik het commando `helm create <chartnaam>` om een basis chartstructuur te genereren en pas vervolgens `values.yaml` en de templatebestanden aan om uw applicatie te definiëren.
- Gebruik `helm lint <chartpad>` om de geldigheid van uw chart te controleren en potentiële fouten of waarschuwingen vooraf te detecteren. Dit helpt aanzienlijk bij het oplossen van problemen vóór de implementatie.
Veilig releasebeheer
Manieren om de risico's tijdens implementatie en upgrades te verminderen.
- Gebruik de opties `--dry-run --debug` samen met `helm install` of `helm upgrade` om de gerenderde YAML-manifesten te controleren voordat u daadwerkelijk implementeert. Dit is zeer nuttig om onverwachte wijzigingen of fouten vooraf te identificeren.
- Vanaf Helm 3 is de `--purge` optie niet meer nodig voor het verwijderen van releases; alle resources worden standaard verwijderd. Om de releasegeschiedenis te behouden, gebruikt u `helm uninstall --keep-history <releasenaam>`.
Namespace specificeren
Hoe u een release in een specifieke Kubernetes-namespace kunt implementeren.
- Beschrijving: Gebruik de optie `--namespace <naam_van_namespace>` bij `helm install` of `helm upgrade` om de release in een specifieke namespace te implementeren. Als de namespace niet bestaat, kunt u deze automatisch laten aanmaken door de optie `--create-namespace` toe te voegen.