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?
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.
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.
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.
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.
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:
configMap
named <release-name>.<version>
, in the kube-system
namespace. You can get more detail on that here.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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With