helm install: Usage, Options & Common CI Errors
Deploy a chart as a fresh, named release.
helm install renders a chart with your values and creates a new release in the cluster. In CI it is usually written as helm upgrade --install for idempotency, but understanding install's flags is the foundation.
What it does
helm install NAME CHART renders the chart's templates with the merged values, applies the resulting manifests, and records a release revision. --set / --values inject configuration; --namespace --create-namespace targets and creates the namespace; --wait blocks until resources are Ready; --atomic rolls everything back if the install fails.
Common usage
helm install web ./charts/web -n prod --create-namespace
helm install web bitnami/nginx --set replicaCount=3
helm install web ./charts/web -f values.prod.yaml --wait --timeout 5m
helm install web ./charts/web --dry-run --debug # render, no applyCommon errors in CI
"Error: INSTALLATION FAILED: cannot re-use a name that is still in use" is the re-run trap: install is not idempotent, so a retried pipeline fails on the existing release. Use helm upgrade --install instead. "timed out waiting for the condition" with --wait means a resource never became Ready (failing probe, ImagePullBackOff). Pair --atomic with --wait so a failed install auto-rolls-back instead of leaving a broken release. A bad --set path silently sets nothing useful; verify with helm install --dry-run --debug first.
Options
| Flag | Effect |
|---|---|
| --install (on upgrade) | Create if release is absent (idempotent) |
| --set / -f, --values | Override chart values |
| --wait | Block until resources are Ready |
| --atomic | Roll back on failure |
| --create-namespace | Create the target namespace |
| --dry-run | Render without applying |