Helm - Kubernetes Package Manager

Helm is a package manager for Kubernetes that helps you define, install, and upgrade complex Kubernetes applications.

Installation

Ubuntu/Debian

# Download Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
 
# Verify
helm version
 
# Add Helm repositories
helm repo add stable https://charts.helm.sh/stable
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

CentOS/RHEL

# Install Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
 
# Verify
helm version

Basic Usage

# Search for charts
helm search repo nginx
 
# Install chart
helm install my-release stable/nginx
 
# List releases
helm list
 
# Check release status
helm status my-release
 
# Upgrade release
helm upgrade my-release stable/nginx --values values.yaml
 
# Rollback release
helm rollback my-release 1
 
# Uninstall release
helm uninstall my-release
 
# Get values of running release
helm get values my-release

Create Custom Chart

# Create new chart
helm create mychart
 
# Chart structure
mychart/
├── Chart.yaml
├── values.yaml
├── templates/
   ├── deployment.yaml
   ├── service.yaml
   └── ingress.yaml
└── charts/
 
# Validate chart
helm lint mychart
 
# Package chart
helm package mychart
 
# Install from local chart
helm install my-app ./mychart

Advanced

# Install with custom values
helm install my-app bitnami/nginx -f values.yaml
 
# Dry run (preview what would be installed)
helm install my-app bitnami/nginx --dry-run --debug
 
# Install specific version
helm install my-app bitnami/nginx --version 15.0.0
 
# Add custom repository
helm repo add myrepo https://charts.example.com
helm repo update

Troubleshooting

# Check Helm chart syntax
helm lint mychart
 
# Get release history
helm history my-app
 
# View rendered templates
helm template my-app ./mychart
 
# Check pod status
kubectl get pods -l app=my-app