Helm Upgrade and Rollback¶
Let's see how you can upgrade or rollback a helm chart release.
Helm Upgrade¶
The helm upgrade
command is used to upgrade an existing release to a new version.
It takes the name of the release, the name of the chart to upgrade to, and any values or options to apply during the upgrade process.
For example, assume you have a release named myapp
and you want to upgrade it to a new version of the myapp
chart. You can use the following command to upgrade the release:
You can use --set
multiple times to set multiple values.
You can also use a YAML file instead of --set
argument as discussed earlier.
Helm Upgrade Flags¶
During the helm upgrade, you have the option to reset values using the --reset-values
flag or retain them with the --reuse-values
flag.
Reset Values¶
The --reset-values
flag resets the values to default, i.e, the values provided in the values.yaml
file of the chart.
For example, the following command will upgrade the chart by setting all values to default:
Reuse Values¶
The --reuse-values
allows you to reuse the previously set values.
For example, let's say you want to upgrade the chart by setting foo=bar
.
The above command will upgrade the chart by setting all values to default and foo=bar
. The previously set values will be lost.
Instead, you can use --reuse-values
flag to reuse the previously set values and set foo=bar
.
Helm Rollback¶
The helm rollback
command allows you to roll back to a previous version of a release.
For example, assume that you have a helm release named myapp
and you want to roll back to the previous version.
First, list the release history to see the available revisions:
The above command will show a list of all revisions for the myapp
release, along with the corresponding revision number.
Next, choose the revision you want to roll back to and use the helm rollback
command to perform the rollback:
For example, if you want to roll back to revision 2 of the "my-release" release, you would use the following command:
The above command will roll back the release to the state it was in at revision 3. Any changes made in subsequent revisions will be undone, and the release will be returned to the state it was in at revision 3.
You can also use the --wait
flag with the helm rollback
command to wait for the rollout to be complete before exiting, and the --force
flag to force resource updates through a delete/recreate
process rather than the default rolling upgrade process.
Note that you also need to provide -n
or --namespace
argument if myapp
is not in the default
namespace.