Installing Helm
A complete guide to installing Helm including Helm CLI installation, version management, configuration, and verification steps for Kubernetes package management.
Helm Installation
CLI Setup
Configuration
Before You Begin
Before installing Helm, ensure you have:
- A Kubernetes cluster - Helm needs access to a Kubernetes cluster (minikube, kind, cloud-based, or self-managed)
- kubectl installed - Helm uses kubectl to communicate with the cluster
- kubeconfig configured - Helm uses the same kubeconfig as kubectl
- Administrative access - Some operations may require cluster-admin permissions
Helm v3 Note: This guide covers Helm v3. Helm v2 is deprecated and no longer recommended. Always use Helm v3 for new projects.
Installation Steps
1. Install the Helm CLI
Choose your preferred method below. The official script is the simplest for most users.
2. Verify the Installation
Check that Helm is installed correctly and can communicate with your Kubernetes cluster.
3. Add a Chart Repository
Add the stable Helm repository or other chart repositories to start using Helm charts.
4. Install a Test Chart
Install a simple chart to verify that everything is working correctly.
Installation Methods
Method 1: Official Install Script (Recommended)
# Download and run the official install script
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
# Verify installation
helm version
# Check Helm client and server versions
helm version --short
Method 2: Package Managers
# macOS (Homebrew)
brew install helm
# macOS (MacPorts)
sudo port install helm
# Ubuntu/Debian (Snap)
sudo snap install helm --classic
# Ubuntu/Debian (APT)
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
# Windows (Chocolatey)
choco install kubernetes-helm
# Windows (Scoop)
scoop install helm
Method 3: Binary Release (Manual)
# Download the binary from GitHub releases
# Replace VERSION with the desired version
VERSION="v3.14.0"
# For Linux amd64
wget https://get.helm.sh/helm-${VERSION}-linux-amd64.tar.gz
tar -zxvf helm-${VERSION}-linux-amd64.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/helm
# For macOS amd64
wget https://get.helm.sh/helm-${VERSION}-darwin-amd64.tar.gz
tar -zxvf helm-${VERSION}-darwin-amd64.tar.gz
sudo mv darwin-amd64/helm /usr/local/bin/helm
# For Windows amd64
# Download helm-${VERSION}-windows-amd64.zip
# Extract and add helm.exe to your PATH
# Verify installation
helm version
Verification: After installation, run
helm version to verify. You should see both client and server version information.
Version Management
# Check Helm version
helm version
# Check client version only
helm version --client
# Check server version only
helm version --server
# Check version with output format
helm version --template '{{.Version}}'
# Upgrade Helm
# Using the install script
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Using Homebrew (macOS)
brew upgrade helm
# Using APT (Ubuntu)
sudo apt-get update
sudo apt-get install --only-upgrade helm
# Using Snap
sudo snap refresh helm
# Check for the latest version
helm version --client | grep -o 'v[0-9.]*' | head -1
# Use a specific version (via binary download)
# Download the desired version from https://github.com/helm/helm/releases
Version Compatibility: Ensure your Helm client version is compatible with your Kubernetes cluster version. Generally, Helm v3 works with Kubernetes 1.16+.
Helm Configuration
Helm Home Directory
# Helm stores configuration in $HELM_HOME
# Default location: ~/.helm (Helm v2) or ~/.config/helm (Helm v3)
# Check Helm home directory
helm env
# Set custom Helm home
export HELM_HOME=/path/to/helm-home
# List Helm environment variables
helm env
Repository Configuration
# Add a repository
helm repo add stable https://charts.helm.sh/stable
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
# List repositories
helm repo list
# Update repositories
helm repo update
# Remove a repository
helm repo remove stable
# Search repositories
helm search repo nginx
helm search repo --versions nginx
Registry Configuration
# Login to an OCI registry
helm registry login registry.example.com
# Logout from an OCI registry
helm registry logout registry.example.com
# Push a chart to an OCI registry
helm package ./my-chart
helm push my-chart-1.0.0.tgz oci://registry.example.com/helm-charts
# Install from OCI registry
helm install my-release oci://registry.example.com/helm-charts/my-chart --version 1.0.0
Verifying Installation
# Check Helm version
helm version
# Check Helm environment
helm env
# List repositories
helm repo list
# Add a test repository
helm repo add test https://charts.helm.sh/stable
# Update repositories
helm repo update
# Search for a test chart
helm search repo nginx
# Install a test chart
helm install test-nginx test/nginx --dry-run --debug
# Create a test chart
helm create test-chart
# Lint the test chart
helm lint ./test-chart
# Template the test chart
helm template test-chart
# Install a test release
helm install test-release ./test-chart
# List releases
helm list
# Uninstall the test release
helm uninstall test-release
# Clean up
helm repo remove test
rm -rf ./test-chart
All Set! If all commands above run without errors, Helm is installed and configured correctly. You're ready to start using Helm charts.
Frequently Asked Questions
What is the difference between Helm v2 and v3?
Helm v3 removed Tiller, the server-side component, for better security. It also added support for OCI registries, JSON Schema validation, and improved release management. Always use Helm v3.
Can I use Helm without a Kubernetes cluster?
Yes! You can use
helm template to render charts without a cluster. This is useful for CI/CD pipelines or to generate manifests for review. How do I upgrade Helm?
Run the install script again (
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash) or use your package manager (homebrew, apt, etc.). Where does Helm store its configuration?
Helm v3 stores configuration in
~/.config/helm (Linux/macOS) or %APPDATA%\helm (Windows). Use helm env to see all configuration paths. How do I check which Helm version I'm using?
Use
helm version to see both client and server versions. Use helm version --client for the client version only. Can I have multiple Helm versions installed?
Yes, you can install multiple versions side-by-side. Download the binaries and rename them (e.g., helm-v2, helm-v3). Use the version-specific binary for your commands.
How do I uninstall Helm?
Remove the helm binary (
sudo rm /usr/local/bin/helm) and delete the Helm home directory (rm -rf ~/.config/helm). Remove any added repositories and releases first. What are the system requirements for Helm?
Helm requires a Kubernetes cluster (v1.16+) and kubectl configured. The Helm CLI is lightweight and runs on Linux, macOS, and Windows.
Related Topics
Helm installation is straightforward. With Helm installed, you're ready to start packaging, deploying, and managing Kubernetes applications.