Aperçu
Helm est un outil essentiel pour déployer et gérer des applications sur un cluster Kubernetes. Il permet de rechercher des applications dans des dépôts de charts, de les installer, et de les mettre à niveau ou de les annuler grâce à la gestion des versions. Il permet de regrouper et de gérer des ressources Kubernetes complexes en une seule unité logique.
Fonctionnalités principales
Les fonctionnalités clés offertes par Helm sont les suivantes :
- Empaquetage d'applications Kubernetes (Charts)
- Gestion et recherche de dépôts de charts
- Déploiement, mise à niveau et annulation d'applications
- Gestion des releases et suivi de l'historique
- Configuration flexible via des modèles
Installation
Helm n'est généralement pas inclus par défaut dans la plupart des distributions Linux, il doit donc être installé manuellement. Voici les méthodes d'installation courantes.
Installation via script (recommandé)
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
La méthode la plus courante et recommandée pour installer Helm est d'utiliser le script d'installation officiel.
Installation via Homebrew (macOS/Linux)
brew install helm
Si vous utilisez le gestionnaire de paquets Homebrew, vous pouvez installer Helm avec la commande suivante.
Installation 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
Sur les systèmes basés sur Debian ou Ubuntu, vous pouvez installer Helm via le gestionnaire de paquets apt.
Sous-commandes principales
Les commandes Helm permettent une gestion flexible des applications Kubernetes grâce à diverses sous-commandes. Voici les sous-commandes principales fréquemment utilisées.
Gestion des releases
Gestion des charts
Obtenir des informations
Commande générée :
Essayez de combiner les commandes.
Description:
`helm` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Voici quelques exemples d'utilisation des fonctionnalités principales de Helm pour gérer des applications Kubernetes.
Ajouter un dépôt de charts
helm repo add bitnami https://charts.bitnami.com/bitnami
Ajoute le dépôt de charts Bitnami pour pouvoir utiliser divers charts d'applications.
Mettre à jour les dépôts de charts
helm repo update
Met à jour les informations de tous les dépôts de charts ajoutés vers leur état le plus récent.
Rechercher un chart
helm search repo nginx
Recherche des charts contenant le mot-clé 'nginx' dans les dépôts.
Installer un chart
helm install my-nginx bitnami/nginx
Installe le chart Nginx de Bitnami sous le nom 'my-nginx'.
Vérifier la liste des releases
helm list
Affiche la liste de toutes les releases Helm actuellement déployées sur le cluster Kubernetes.
Mettre à niveau une release
helm upgrade my-nginx bitnami/nginx --set service.type=NodePort
Met à niveau la release existante 'my-nginx' en changeant le type de service Nginx en NodePort.
Supprimer une release
helm uninstall my-nginx
Supprime la release nommée 'my-nginx' et toutes les ressources Kubernetes associées.
Conseils et précautions
Conseils et points à considérer pour utiliser Helm efficacement et éviter les problèmes potentiels.
Développement et validation de charts Helm
Conseils utiles lors du développement de vos propres charts ou de la modification de charts existants.
- Utilisez la commande
helm create <nom-du-chart>pour générer la structure de base d'un chart, puis modifiezvalues.yamlet les fichiers de modèles pour définir votre application. - Utilisez
helm lint <chemin-du-chart>pour valider votre chart et détecter à l'avance les erreurs ou avertissements potentiels. Cela aide grandement à résoudre les problèmes avant le déploiement.
Gestion sécurisée des releases
Méthodes pour réduire les risques lors du déploiement et des mises à niveau.
- Lors de
helm installouhelm upgrade, utilisez les options--dry-run --debugpour vérifier les manifestes YAML rendus avant le déploiement réel. Ceci est très utile pour identifier à l'avance les changements ou erreurs inattendus. - À partir de Helm 3, l'option
--purgen'est plus nécessaire pour désinstaller une release, et toutes les ressources sont supprimées par défaut. Pour conserver l'historique des releases, utilisezhelm uninstall --keep-history <nom-de-la-release>.
Spécifier un namespace
Comment déployer une release dans un namespace Kubernetes spécifique.
- Description: Utilisez l'option
--namespace <nom-du-namespace>lors dehelm installouhelm upgradepour déployer une release dans un namespace spécifique. Si le namespace n'existe pas, vous pouvez l'ajouter automatiquement en utilisant l'option--create-namespace.