Helm packages a set of Kubernetes manifests as a versioned, templated chart, and tracks each install as a numbered release you can upgrade or roll back.
Repositories
helm repo add bitnami https://charts.bitnami.com/bitnamiAdds a chart repository under a local name.
helm repo updateRefreshes the local cache of available charts and versions from every added repository.
helm search repo nginxSearches added repositories for charts matching a name.
Install
helm install my-release bitnami/nginxInstalls a chart under the release name my-release.
helm install my-release ./my-chart -f values-prod.yamlInstalls from a local chart directory, overriding default values with a values file.
helm install my-release ./my-chart --set replicaCount=3Overrides a single value from the command line without a separate values file.
helm install my-release ./my-chart --dry-run --debugRenders the final manifests without installing anything — the fastest way to check templating output before it touches the cluster.
Upgrade & Rollback
helm upgrade my-release ./my-chart -f values-prod.yamlUpgrades an existing release to a new chart version or values.
helm upgrade --install my-release ./my-chartUpgrades the release if it exists, or installs it if it doesn't — the standard pattern for idempotent CI/CD deploy steps.
helm upgrade my-release ./my-chart --atomicAutomatically rolls back to the previous release if the upgrade fails, instead of leaving the cluster in a half-upgraded state.
helm history my-releaseLists every revision of a release with its status and chart version.
helm rollback my-release 3Rolls back a release to a specific revision number. Omit the number to roll back to the previous one.
Inspecting Releases
helm listLists releases in the current namespace.
helm list -ALists releases across every namespace.
helm status my-releaseShows the current state and notes for a release.
helm get values my-releaseShows the values actually in effect for a deployed release, merged from defaults and overrides.
helm get manifest my-releasePrints the exact Kubernetes manifests Helm applied for a release.
Uninstall
helm uninstall my-releaseDeletes every resource the release created and removes its release history. Not reversible through Helm itself — the resources are gone unless recreated.
Chart Development
helm create my-chartScaffolds a new chart with the standard directory layout and a starter set of templates.
helm lint ./my-chartChecks a chart for structural and templating problems before packaging it.
helm template ./my-chart -f values.yamlRenders a chart's templates to plain YAML locally, without needing a cluster connection at all — useful in CI to diff rendered output.
helm package ./my-chartPackages a chart directory into a versioned .tgz archive for distribution.