Uninstall
How to uninstall Keptn
Keptn must be installed onto each Kubernetes cluster you want to monitor. Additionally, Keptn needs to be enabled on your namespaces. This gives you flexibility in how and where you want to use Keptn.
Keptn v0.9.0 and later is installed using Helm.
Note Earlier releases could also be installed using the manifest. See Upgrade to Helm from a manifest installation if you need to upgrade from a manifest installation.
After you install Keptn, you are ready to Integrate Keptn with your applications.
Keptn requires Kubernetes v1.24.0 or later.
Run the following to ensure that both client and server versions are running Kubernetes versions greater than or equal to v1.24. In this example, both client and server are at v1.24.0 so Keptn will work.
kubectl version --short
Client Version: v1.24.0
Kustomize Version: v4.5.4
Server Version: v1.24.0
Keptn makes use of a custom scheduler
when running on Kubernetes v1.26 and earlier.
For Kubernetes v1.27 and later, scheduling is
implemented using
Kubernetes scheduling gates,
unless the schedulingGatesEnabled
Helm value is set to false
.
See
Keptn integration with Scheduling
for details.
If Keptn is installed on a vCluster with Kubernetes v1.26 or earlier, some extra configuration needs to be added for full compatibility. See Running Keptn with vCluster for more information.
Keptn is installed onto an existing Kubernetes cluster
using a Helm chart.
To modify the Keptn configuration,
you must modify the values.yaml
file of the chart.
The command sequence to fetch and install the latest release of Keptn is:
helm repo add keptn https://charts.lifecycle.keptn.sh
helm repo update
helm upgrade --install keptn keptn/keptn \
-n keptn-system --create-namespace --wait
If you want to use Keptn to observe your deployments
or to enhance them with lifecycle management
you must enable Keptn in your
Namespace
via annotations.
For example, for the testy-test
namespace:
apiVersion: v1
kind: Namespace
metadata:
name: testy-test
annotations:
keptn.sh/lifecycle-toolkit: "enabled" # this tells Keptn to watch the namespace
Some helpful hints:
Use the --version <version>
flag on the
helm upgrade --install
command to specify a different Keptn Helm chart version.
To get the appropriate chart version for the Keptn version you want, use the following command:
helm search repo keptn --versions
You see that the “CHART VERSION” for keptn/keptn
v0.9.0 is 0.3.0
so use the following command to explicitly installs Keptn v0.9.0:
helm upgrade --install keptn keptn/keptn \
--version 0.3.0 \
-n keptn-system --create-namespace --wait
To view which Keptn components are installed in your cluster and verify that they are the correct ones, run the following command:
kubectl get pods -n keptn-system
The output shows all Keptn components that are running on your cluster.
The Keptn configuration is controlled by a set of Helm value files, summarized in the following table. The Keptn Helm chart is an umbrella chart that contains subcharts for all components of Keptn. Each component has its own Helm values file (documented in its own README file), that defines configurations specific to that component.
All configuration changes for all components
can be made in one values.yaml
file.
This is discussed more in
Customizing the configuration of components
below.
The following table summarizes the Keptn values.yaml
files.
Component | Used for | Configuration file |
---|---|---|
Keptn | Installs subcharts, global configuration | keptn/values.yaml |
lifecycle-operator | Observability, Release Lifecycle Management | keptn-lifecycle-operator/values.yaml |
metrics-operator | Keptn metrics, Analysis | keptn-metrics-operator/values.yaml |
cert-manager | TLS Certificate management for all Keptn components | keptn-cert-manager/values.yaml |
To modify configuration of the subcomponents of Keptn,
use the corresponding Helm values in your values.yaml
file.
Use the subcomponent’s parent value as the root for your configuration.
Here is an example values.yaml
altering global and metrics operator values:
global:
# change all installed operator registries
# e.g. the metrics operator image will be localhost:5000/keptn/metrics-operator:v0.0.0
imageRegistry: "localhost:5000"
commonLabels:
app.kubernetes.io/version: myversion # this label will be added to all installed resources
certManager:
enabled: true
lifecycleOperator:
enabled: false # lifecycle operator won't be installed
metricsOperator:
enabled: true
image:
tag: v0.0.0 # metrics operator will use this image tag
imagePullPolicy: Never
Note the additional values that are specified
in the metricsOperator
section.
These are documented in the README file for that operator,
which is linked from the metrics-operator
item under “Component”
in the table above.
To implement this:
values.yaml
file linked under “Configuration file”values.yaml
file
and modify their values in that file.To modify Helm values:
Download a copy of the Helm values file:
helm show values keptn/keptn > values.yaml
Edit your local copy to modify some values
Add the following string
to your helm upgrade
command to install Keptn
with your configuration changes:
--values=values.yaml
For example, if you create a my.values.yaml
and modify some configuration values,
use the following command to apply your configuration:
helm upgrade --install keptn keptn/keptn \
--values my.values.yaml \
-n keptn-system --create-namespace --wait
You can also use the --set
flag
to specify a value change for the helm upgrade --install
command.
Helm values are specified using the format:
--set key1=value1 \
--set key2=value2 ...
By default, all components are included when you install Keptn.
To specify the components that are included,
you need to modify the Keptn values.yaml
file
to disable the components you do not want to install.
Note that the Keptn Helm chart is quite flexible. You can install all Keptn components on your cluster, then modify the configuration to exclude some components and update your installation. Conversely, you can exclude some components when you install Keptn then later add them in.
If you wish to use your custom certificate manager,
you can disable Keptn cert-manager
by setting the
certificateManager.enabled
Helm value to false
:
certManager:
enabled: false
For more information on using cert-manager
with Keptn, see
Use Keptn with cert-manager.io.
For the full list of Helm values, see the keptn-cert-manager Helm chart README.
To uninstall Keptn from your cluster, please follow the steps on the Uninstall page.
How to uninstall Keptn
How to upgrade to the latest version of Keptn
Configuration
Supplemental installation information
Troubleshoot common problems with Keptn
Bring or install a Kubernetes cluster