Kubernetes Helm Charts Cheat Sheet
Packaging, templating, and deploying Kubernetes applications with Helm charts, values files, and releases.
2 PagesIntermediateFeb 2, 2026
Core Helm Commands
Everyday Helm CLI workflow.
bash
helm create mychart # Scaffold a new charthelm install myrelease ./mychart # Install a chart as a releasehelm upgrade myrelease ./mychart # Upgrade an existing releasehelm upgrade --install myrelease ./mychart # Upgrade or installhelm rollback myrelease 1 # Roll back to revision 1helm list # List releases in current namespacehelm uninstall myrelease # Remove a releasehelm template ./mychart # Render manifests locally without installing
Chart Directory Structure
Standard layout produced by `helm create`.
text
mychart/ Chart.yaml # Chart metadata (name, version, appVersion) values.yaml # Default configuration values charts/ # Subchart dependencies templates/ deployment.yaml service.yaml ingress.yaml _helpers.tpl # Reusable template snippets NOTES.txt # Post-install usage notes
Templated Deployment Snippet
Using values and helpers inside a template file.
yaml
apiVersion: apps/v1kind: Deploymentmetadata: name: {{ .Release.Name }}-webspec: replicas: {{ .Values.replicaCount }} template: spec: containers: - name: web image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" ports: - containerPort: {{ .Values.service.port }}
Overriding Values
Pass custom values at install time via file or flags.
bash
# Using a values filehelm install myrelease ./mychart -f values.prod.yaml# Inline overrideshelm install myrelease ./mychart \ --set replicaCount=3 \ --set image.tag=1.4.0
Key Concepts
Terminology used throughout Helm.
- Chart- A packaged collection of Kubernetes manifest templates
- Release- A specific deployed instance of a chart with its own revision history
- Repository- A location (HTTP server or OCI registry) hosting packaged charts (`.tgz`)
- Hooks- Templates annotated to run at specific lifecycle points, e.g. pre-install, post-upgrade
Pro Tip
Run `helm template` or `helm install --dry-run --debug` before applying to a real cluster — it renders the final manifests locally so you catch templating mistakes before they hit the API server.
Was this cheat sheet helpful?
Explore Topics
#KubernetesHelmCharts#KubernetesHelmChartsCheatSheet#DevOps#Intermediate#CoreHelmCommands#ChartDirectoryStructure#TemplatedDeploymentSnippet#OverridingValues#Kubernetes#CheatSheet#SkillVeris