How do I see what custom values were used in a Helm release?

Old Pro picture Old Pro · Sep 26, 2018 · Viewed 18.3k times · Source

When I use helm install to install a chart into a Kubernetes cluster, I can pass custom values to the command to configure the release. helm must store them somewhere, because I can later rollback to them. However, I cannot find a way to view the values in the deployed version or the previous one.

I want to see what values will change (and confirm what values are set) when I rollback a release. I thought inspect or status might help with that, but they do different things. How can I see the values that were actually deployed?

Answer

Old Pro picture Old Pro · Sep 26, 2018

To view what was actually deployed in a release, use helm get.

If you use helm -n <namespace> get all <release-name> you get all the information for the current release of <release-name> in namespace <namespace>. You can specify --revision to get the information for a specific version, which you can use to see what the effect of rollback will be.

You can use helm -n <namespace> get values <release-name> to just get the values install used/computed rather than the whole chart and everything, or helm -n <namespace> get manifest <release-name> to view the generated resource configurations††.

Where this information is stored depends on the version of helm you are using:

  • For version 2: it is in a configMap named <release-name>.<version>, in the kube-system namespace. You can get more detail on that here.
  • For version 3, it is (by default) in a secret named <release-name>.<version> in the namespace where the release was deployed. The content of the secret is about the same as what was in the helm version 2 configMap

For helm version 2, use helm get <release-name> instead of helm get all <release-name>

††For helm version 2, release names had to be unique cluster-wide. For helm version 3, release names are scoped to namespaces, and the helm command operates on the "current" namespace unless you specify a namespace using the -n or --namespace command line option.