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.
Previous: Helm vs Kustomize Next: Chart Structure

Helm installation is straightforward. With Helm installed, you're ready to start packaging, deploying, and managing Kubernetes applications.