Quick Start

Learn how to get Keptn running in five minutes.

1. Create Kubernetes cluster

Select one of the following options:

Google Kubernetes Engine (GKE)

Run your Keptn installation for free on GKE! If you sign up for a Google Cloud account, Google gives you an initial $300 credit. For deploying Keptn you can apply for an additional $200 credit, which you can use towards that GKE cluster needed to run Keptn.

Apply for your credit here

  1. Install local tools

  2. Create GKE cluster

    • Master version: 1.15.x (tested version: 1.15.9-gke.22)
    • One n1-standard-8 node
    • Image type Ubuntu or COS (Note: If you plan to use Dynatrace monitoring, select Ubuntu for a more convenient setup.)
    • Sample script to create such cluster:
    // set environment variables
    PROJECT=<NAME_OF_CLOUD_PROJECT>
    CLUSTER_NAME=<NAME_OF_CLUSTER>
    ZONE=us-central1-a
    REGION=us-central1
    GKE_VERSION="1.15"
    
    gcloud container clusters create $CLUSTER_NAME --project $PROJECT --zone $ZONE --no-enable-basic-auth --cluster-version $GKE_VERSION --machine-type "n1-standard-8" --image-type "UBUNTU" --disk-type "pd-standard" --disk-size "100" --metadata disable-legacy-endpoints=true --scopes "https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly","https://www.googleapis.com/auth/trace.append" --num-nodes "1" --enable-stackdriver-kubernetes --no-enable-ip-alias --network "projects/$PROJECT/global/networks/default" --subnetwork "projects/$PROJECT/regions/$REGION/subnetworks/default" --addons HorizontalPodAutoscaling,HttpLoadBalancing --no-enable-autoupgrade
    

K3s

Please refer to the official homepage of K3s for detailed installation instructions. Here, a short guide on how to run Keptn on K3s is provided for a Linux environment. Note: If you are using macOS, you will need to run K3s using multipass and as explained here.

  1. Download, install K3s (tested with versions 1.16 to 1.18) and run K3s using the following command:

    curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.18.3+k3s1 K3S_KUBECONFIG_MODE="644" sh -s - --no-deploy=traefik
    

    This installs version v1.18.3+k3s1 (please refer to the K3s GitHub releases page for newer releases), sets file permissions 644 on /etc/rancher/k3s/k3s.yaml and disables traefik as an ingress controller.

  2. Export the Kubernetes profile using

    export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
    
  3. Verify that the connection to the cluster works

    kubectl get nodes   
    

Other K8s options

We also support installation on:

  • AWS Elastic Kubernetes Service (EKS)
  • Azure Kubernetes Service (AKS)
  • Minikube
  • OpenShift 4 & 3.11

For details on the specific providers, please visit our detailed installation guide.

2. Install Keptn

The following instructions will install the latest stable Keptn CLI (0.7.3) in a quick way.

If you need more information, please look at the install Keptn CLI guide.

2.1 Install Keptn CLI

The Keptn CLI is the one-stop-shop for all operations related to Keptn.

Please make sure you have kubectl installed (see kubernetes.io/docs/tasks/tools/install-kubectl).

2.1.1 Automatic install of the Keptn CLI (Linux and Mac)
  1. This will download the latest stable Keptn version from GitHub, unpack it and move it to /usr/local/bin/keptn.

    curl -sL https://get.keptn.sh | sudo -E bash
    
  2. Verify that the installation has worked and that the version is correct by running:

    keptn version
    
2.1.2 Manual install of the Keptn CLI
  1. Download a release for your platform from the GitHub

  2. Unpack the binary and move it to a directory of your choice (e.g., /usr/local/bin/)

  3. Verify that the installation has worked and that the version is correct by running:

    keptn version
    

3. Install Keptn and authenticate Keptn CLI

  • By executing the keptn install command as shown next, Keptn will be installed on your Kuberentes cluster supporting all continuous delivery use cases (including quality gates and automated operations):

    keptn install --use-case=continuous-delivery
    
  • After a successful installation, you need to expose Keptn. The official install Keptn CLI guide provides different ways of exposing your Keptn. In this quick start, the port-forwarding mechanism from Kubernetes is applied:

    kubectl -n keptn port-forward service/api-gateway-nginx 8080:80
    
  • When Keptn is exposed, the CLI can get authenticated:

    keptn auth --endpoint=http://localhost:8080 --api-token=$(kubectl get secret keptn-api-token -n keptn -ojsonpath={.data.keptn-api-token} | base64 --decode)
    
  • Finally, verify that Keptn is working by executing:

    keptn status
    

🚀 Keptn is now ready to be used.

4. 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

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

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

6. Do you need help?

Join our slack channel for any questions that may arise.

7. Uninstall Keptn

keptn uninstall