Home / Keptn v1 Docs / Release 1.y.z / Installation / Upgrade Keptn
Keptn only supports upgrading from one release to the next; we recommend that you not skip releases since mitigation strategies for changes in each release are often baked into the code.
This page has the following information:
To upgrade the control plane:
Back up your Keptn instance, following Keptn’s backup instructions
Make sure you are connected to the Kubernetes cluster where Keptn is installed.
Fetch your current Helm values into a file with the follwoing command:
helm get values -n <your-keptn-namespace> <your-keptn-release-name> \
> keptn-values.yaml
For namespace keptn-test
and release name keptn
(the default release name),
the command would look like this:
helm get values -n keptn-test keptn
Download the released Helm chart using the following command
replacing <release>
with the release number to which you are upgrading,
such as 1.3.0
:
helm pull https://charts.keptn.sh/packages/keptn-<release>.tgz
Unpack the tar file.
Use a merge tool to merge the values.yaml
file from the unpacked chart
and your previously downloaded keptn-values.yaml
together.
Before upgrading the Keptn execution plane, you should check the documentation for any services that you are using to ensure that the version you are using is compatible with the new Keptn control plane version you installed. You may find that a new version of the service is available and the documentation may include special upgrade instructions.
For most services, the upgrade procedure is similar to the procedure used
to upgrade the Keptn control plane:
download your existing values.yaml
file for the service
then merge it with the new values.yaml
file
and use that merged file to upgrade the service:
Make sure you are connected to the Kubernetes cluster where Keptn is installed.
Fetch your current Helm values with:
helm get values -n <your-exec-plane-namespace>
<your-exec-plane-service-release-name> > old-values.yaml`
For example, for namespace exec-plane
and service release name helm-service
(the default release name), the command is:
helm get values -n exec-plane helm-service
Download the released Helm chart using:
helm pull https://charts.keptn.sh/packages/<exec-plane-service>-<release>.tgz`
For example, to download the Helm chart for helm-service
, Release 0.18.1,
the command is:
helm pull https://charts.keptn.sh/packages/helm-service-0.18.1.tgz`
Unpack the downloaded file.
Use a merge tool to merge the values.yaml
file from the unpacked chart
and your previously downloaded old-values.yaml
together.
Use the merged values
file and the helm
command to do the upgrade
to upgrade to the new version of your execution plane service.
For the helm-service
example, the command to upgrade to version 0.18.1 is:
helm upgrade <your-exec-plane-service> -n exec-plane --version 0.18.1 \
--values <your-adjusted-values-file>
Multi-cluster setup gives details about setting up a Keptn installation with multiple execution planes that run on different clusters than the Keptn control plane. Some additional configurations are required in recent releases.
K8S_DEPLOYMENT_NAME
environment variable on each execution plane to a unique name.cp-connector
or go-sdk
to subscribe to events,
you may need to define the NATS_URL
environment variable to identify the NATS cluster to use.
See the distributor
and NATS behavior on a multi-cluster instance
pages for more information.No special steps are required to upgrade from Keptn 0.19.x to Keptn 1.0.x-LTS.
No special steps are required to upgrade from Keptn 0.18.x to Keptn 0.19.x.
No special steps are required to upgrade from Keptn 0.17.x to Keptn 0.18.x.
With Keptn 0.17.x, the Keptn CLI commands for install
, uninstall
and upgrade
were deprecated.
We should instead use the helm upgrade command
from the Helm CLI to upgrade.
The Keptn Helm chart has also been refactored heavily in Release 0.17.x, to prepare it for future features and structural changes. To upgrade, we recommend getting your old Helm values file, and then merging it together with the default Keptn Helm values to get any new default values that were introduced. You can then use your new values file to follow the Helm installation instructions.
To upgrade the Keptn control plane to Release 0.17.x, follow the steps in Upgrade the Keptn control plane.
You will notice that some Helm values have changed compared to your previous keptn-values.yaml
file:
continuous-delivery
-> continuousDelivery
control-plane
: Since the control-plane
and continuous-delivery
charts were merged into one,
all values previously under control-plane
are now just directly in the values root
without the control-plane
key.
All values under control-plane.common
were moved to the root level of the values.
e.g. control-plane.common.strategy.type
-> strategy.type
After adjusting your Helm values you are ready to upgrade to the new version of Keptn. use a command like the following to do the upgrade:
helm upgrade keptn keptn/keptn -n keptn-test --version 0.17.0 --values <your-adjusted-values-file>
To upgrade the Keptn execution plane to Release 0.17.x, follow the instructions in Upgrade the Execution Plane.
You will notice that some Helm values have changed compared to your old-values.yaml
file:
resources
-> helm-service.resources
/jmeter-service.resources
resources
in the values file.
You can adjust them or leave them at the sensible defaults.