65

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?

Old Pro
  • 24,624
  • 7
  • 58
  • 106

2 Answers2

104

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 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 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 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.

Old Pro
  • 24,624
  • 7
  • 58
  • 106
  • and don't forget specifying the namespace ```helm get values -n NAMESPACE``` – weshouman Feb 25 '20 at 10:44
  • for Helm 3 it is needed to give the namespace as well. From Helm 3 release names are not cluster wide. – Yeasin Ar Rahman Mar 08 '20 at 09:47
  • @YeasinArRahman @weshouman For helm 3, it is not necessarily required to specify the namespace. The "current" namespace (from the `KUBECONFIG` `context`) is assumed if you do not specify one. – Old Pro Mar 09 '20 at 19:32
12

helm get <release-name> no longer works with Helm3. helm get values <release-name> does show the custom values used for the release. Note: to get all possible values for reference, use helm show values <your-chart> - this doesn't show the custom values though.

bczoma
  • 181
  • 2
  • 10