Quick Start

Learn how to get Keptn running in five minutes. We'll run Keptn on a local k3d cluster.


This quickstart is designed for Linux-based systems. Consequently, use Linux, MacOS, or Windows subsystem for Linux v2 with a full virtual machine (WSL2). Note that this tutorial has not been fully verified on non-amd64 architectures (including Arm-based Apple M1).

The following tools need to be installed for this tutorial:

All executables should be configured to be executable in the user space without sudo or equivalents.

Installing K3d

If you already have k3d installed, you can check its version by running k3d --version. This tutrial targets version 4.4.4 and may not work properly with older or newer versions.

curl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | TAG=v4.4.4 bash

Install Keptn

  1. Start a k3d cluster for Keptn

    k3d cluster create mykeptn -p "8082:80@loadbalancer" --k3s-server-arg "--kube-proxy-arg=conntrack-max-per-core=0"  --k3s-agent-arg "--kube-proxy-arg=conntrack-max-per-core=0" --agents 1
  2. Download and install the Keptn CLI

    curl -sL https://get.keptn.sh | KEPTN_VERSION=0.12.0 bash
  3. Install Keptn control-plane and execution-plane for continuous delivery use case or use the helm install version mentioned below.

    keptn install --use-case=continuous-delivery

    Keptn comes with different installation options, please have a look at the installation documentation for more details on cluster requirements, resource consumption, supported Kubernetes versions, and more. Please note that although during the installation procedure it might be mentioned that Istio is required, it is not required for this quickstart guide.

    Installation logs

    The installation logs will print the following output:

    Installing Keptn …
    Helm Chart used for Keptn installation: https://charts.keptn.sh/packages/keptn-0.12.0.tgz
    Start upgrading Helm Chart keptn in namespace keptn
    Finished upgrading Helm Chart keptn in namespace keptn
    Keptn control plane has been successfully set up on your cluster.
    Installing execution plane services for continuous-delivery use case.
    Start upgrading Helm Chart helm-service in namespace keptn
    Finished upgrading Helm Chart helm-service in namespace keptn
    Start upgrading Helm Chart jmeter-service in namespace keptn
    Finished upgrading Helm Chart jmeter-service in namespace keptn
     * To quickly access Keptn, you can use a port-forward and then authenticate your Keptn CLI:
     - kubectl -n keptn port-forward service/api-gateway-nginx 8080:80
     - keptn auth –endpoint=http://localhost:8080/api –api-token=$(kubectl get secret keptn-api-token -n keptn -ojsonpath={.data.keptn-api-token} | base64 –decode)
     * Alternatively, follow the instructions provided at: https://keptn.sh/docs/0.12.x/operate/install/#authenticate-keptn-cli
     * To expose Keptn on a public endpoint, please continue with the installation guidelines provided at:
     - https://keptn.sh/docs/0.12.x/operate/install#install-keptn
    There is no need to follow the instructions from the installation log - the quickstart guide will cover this!

  4. Configure Ingress and authenticate Keptn CLI

curl -SL https://raw.githubusercontent.com/keptn/examples/master/quickstart/expose-keptn.sh | bash

Try Multi-Stage Delivery

Perform a multi-stage delivery with SLO-based quality gates in place. Please note this will create a local repository examples/ in your current directory. Make sure to run it from a directory you are fine having the examples stored in.

curl -SL https://raw.githubusercontent.com/keptn/examples/master/quickstart/multistage-delivery.sh | bash

What you’ll see

In Keptn you’ll see one successful quality gate evaluation and one failed evaluation, that means a slow build will never reach production!

Try Auto-Remediation

Run automated operations with auto-remediation in action:

curl -SL https://raw.githubusercontent.com/keptn/examples/master/quickstart/automated-operations.sh | bash

What you’ll see

In Keptn you’ll see an executed remediation sequence in response to a problem event that has been sent to Keptn!

Explore Keptn

Now you have a running Keptn instance, keep exploring it! Please have a look at our tutorials and documentation to learn how you can use Keptn.

Explore tutorials to learn more about the Keptn use cases

With Keptn installed, have a look at the different tutorials to learn hands-on about the Keptn use cases:

A full tour through Keptn: Continuous Delivery & Automated Operations

Learn how to setup Keptn for a sample cloud native app where Keptn deploys, tests, validates, promotes and auto-remediates
Continuous Delivery with Deployment Validation

Keptn deploys, tests, validates and promotes your artifacts across a multi-stage delivery process
Automated Operations

Keptn automates problem remediation in production through self-healing and runbook automation
Performance as a Self-Service

Keptn deploys, tests and provides automated performance feedback of your artifacts
Performance Testing as a Self-Service

Let Keptn execute performance tests against your deployed software and provide automatic SLI/SLO based feedback
Deployment Validation (aka Quality Gates)

Integrate Keptn into your existing CI/CD by automatically validating your monitored environment based on SLIs/SLOs

Learn how Keptn works and how it can be adapted to your use cases

Review the documentation for a full reference on all Keptn capabilities and components and how they can be combined/extended to your needs:

Wrapping up

If you are finished exploring Keptn, you can always stop and start the cluster and delete it eventually.

k3d cluster stop mykeptn
k3d cluster start mykeptn

Or delete it if you don’t need it anymore

k3d cluster delete mykeptn


Kubernetes version not supported

In case keptn install prevents you from installing Keptn due to a (currently) unsupported Kubernetes version, you can bypass this check at your own risk by using the Helm installation option of Keptn.

helm install keptn https://github.com/keptn/keptn/releases/download/0.12.0/keptn-0.12.0.tgz -n keptn --create-namespace --set=continuous-delivery.enabled=true --wait
helm install helm-service https://github.com/keptn/keptn/releases/download/0.12.0/helm-service-0.12.0.tgz -n keptn --create-namespace --wait
helm install jmeter-service https://github.com/keptn/keptn/releases/download/0.12.0/jmeter-service-0.12.0.tgz -n keptn --create-namespace --wait

Now continue with step 4 from the quickstart guide.

Disk pressure on pods in Kubernetes

If the installation of Keptn is timing out, you can check if the root cause are low resources, such as disk space, by executing kubectl describe pod PODID -n keptn.executing

Please ensure that your local k3d environment has enough resources. You can verify this in your Docker resource settings. This quickstart guide has been tested with the following configuration:

Resources docker resources

Docker resources

Please make sure your Docker environment has been granted enough resources to run k3d and Keptn on top of it. This quickstart guide has been tested with the following configuration:

Resources docker resources

How to get more help?

Join our slack channel for any questions that may arise. There is a special #help channel for Keptn users when you can get help from the Keptn team.