0 / 15 lessons — 0%
Lesson 09 / 15
Helm basics
A real app is easily 5-10 YAML files — Deployment, Service, ConfigMap, Ingress, PVC... Helm packages all of that into one versioned bundle called a chart, with variables (values.yaml) so the same chart can be deployed differently per environment.
# a chart's shape mychart/ Chart.yaml # name, version values.yaml # defaults — replicaCount: 3, image.tag: "1.5.0" templates/ deployment.yaml # {{ .Values.replicaCount }} etc — filled in at install time service.yaml ingress.yaml
# installing a public chart (like installing a package) helm repo add bitnami https://charts.bitnami.com/bitnami helm install my-redis bitnami/redis # installing your own chart, overriding a default helm install web ./mychart --set replicaCount=5 # upgrading, and rolling back if it goes wrong helm upgrade web ./mychart --set image.tag=1.6.0 helm rollback web 1 helm list helm uninstall web
Think of Helm as apt/npm, but for whole Kubernetes applications instead of single binaries or libraries — one install command, one uninstall command, and a values file standing in for all the flags you'd otherwise have to remember.
Try it yourselfRun
helm show values bitnami/redis (no install needed) — it's a long list of every knob that chart exposes. That's the whole idea: sensible defaults, override only what you need.