Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 307
Old Pro Avatar asked Sep 26 '18 06:09

Old Pro


People also ask

How do I check my helm history?

Using the -o json option with the history command, you can get the history in JSON format, which should help. However, there is a shortcut to avoid all that. Helm install and upgrade commands include an --atomic CLI option, which will cause the chart deployment to automatically rollback when it fails.

How do you check helm chart values?

You can run the pre-defined tests in Helm on a release using the command helm test <RELEASE_NAME> . For a chart consumer, this is a great way to check that their release of a chart (or application) works as expected.

Where is helm release information stored?

Release storage changed In Helm 2, releases are stored as ConfigMaps (default) or Secrets in the cluster under the Tiller namespace, kube-system (default). The Helm Release object is stored in the data. release field of the Configmap or Secret as a base-64 encoded, gzipped archive.


2 Answers

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.

like image 29
bczoma Avatar answered Sep 28 '22 04:09

bczoma


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.

like image 188
Old Pro Avatar answered Sep 28 '22 04:09

Old Pro