Helm is a tool for managing Charts. Charts are packages of pre-configured Kubernetes resources.
Key Use Cases
- Find and use popular software packaged as Helm Charts to run in Kubernetes
- Share your own applications as Helm Charts
- Create reproducible builds of your Kubernetes applications
- Intelligently manage your Kubernetes manifest files
- Manage releases of Helm packages
Popularity & Stats
- 24.1K+ GitHub Stars
- 7.2K+ Forks
- 1000+ Contributors
- 40K+ Weekly Docker Downloads
- Used by 65% of Kubernetes users (CNCF Survey 2023)
This cheatsheet provides a quick reference for common Helm commands and configurations.
Basic Commands
Command | Description |
---|
helm create mychart | Initialize a new Helm chart |
helm install release-name chart-name | Install a chart |
helm install release-name chart-name --namespace my-namespace | Install a chart in specific namespace |
helm install release-name chart-name --values values.yaml | Install with custom values |
helm upgrade release-name chart-name | Upgrade a release |
helm upgrade --install release-name chart-name | Install or upgrade if exists |
helm rollback release-name revision-number | Rollback to a previous version |
helm list | List all releases |
helm ls --all-namespaces | List releases across all namespaces |
helm ls -n namespace | List releases in a namespace |
helm uninstall release-name | Uninstall a release |
Repository Management
Command | Description |
---|
helm repo add repo-name repo-url | Add a repository |
helm repo update | Update repositories |
helm repo list | List repositories |
helm repo remove repo-name | Remove a repository |
helm search repo chart-name | Search in repositories |
helm search hub chart-name | Search in Artifact Hub |
Chart Management
Command | Description |
---|
helm package chart-path/ | Package a chart |
helm lint chart-path/ | Verify chart |
helm show chart chart-name | Show chart details |
helm show values chart-name | Show chart values |
helm show all chart-name | Show all chart information |
helm pull repo-name/chart-name | Pull a chart |
helm pull repo-name/chart-name --untar | Pull and extract a chart |
Testing and Debugging
Command | Description |
---|
helm install release-name chart-name --dry-run --debug | Test installation |
helm get manifest release-name | Get manifest |
helm get values release-name | Get release values |
helm history release-name | Get release history |
helm status release-name | Get release status |
Template Commands
Command | Description |
---|
helm template release-name chart-name | Render templates locally |
helm template release-name chart-name --values values.yaml | Render with values |
helm lint chart-path/ | Validate templates |
helm get manifest release-name | Show computed templates |
Dependencies
Command | Description |
---|
helm dependency update chart-path/ | Update dependencies |
helm dependency list chart-path/ | List dependencies |
helm dependency build chart-path/ | Build dependencies |
Chart Structure
File/Directory | Purpose |
---|
Chart.yaml | Chart metadata |
values.yaml | Default values |
values.schema.json | Values schema |
charts/ | Chart dependencies |
templates/ | Template files |
templates/NOTES.txt | Usage notes |
templates/_helpers.tpl | Named templates |
templates/deployment.yaml | Kubernetes manifests |
Environment Values
Command | Description |
---|
helm install -f values-dev.yaml | Install with dev values |
helm install -f values-prod.yaml | Install with prod values |
helm install -f values.yaml -f values-prod.yaml | Install with multiple values |
Common Configuration Values
Field | Description |
---|
replicaCount | Number of replicas |
image.repository | Container image repository |
image.tag | Container image tag |
image.pullPolicy | Image pull policy |
service.type | Service type |
service.port | Service port |
resources.limits | Resource limits |
resources.requests | Resource requests |
ingress.enabled | Enable ingress |
ingress.className | Ingress class |
Be First to Comment