Quick Start

Learn how to get Keptn running in five minutes.

1. Setup your platform

Select one of the following options:

Azure Kubernetes Service (AKS)

  1. Install local tools

  2. Create AKS cluster

Amazon Elastic Kubernetes Service (EKS)

  1. Install local tools

  2. Create EKS cluster on AWS

    • Master version: 1.15 (tested version: 1.15)
    • One m5.2xlarge node
    • Sample script using eksctl to create such a cluster
    eksctl create cluster --version=1.15 --name=keptn-cluster --node-type=m5.2xlarge --nodes=1 --region=eu-west-3
    

    Known bug in EKS 1.13

    Please note that for EKS version 1.13 in our testing we learned that the default CoreDNS that comes with certain EKS versions has a bug. In order to solve that issue we can use eksctl to update the CoreDNS service like this:

    eksctl utils update-coredns --name=keptn-cluster --region=eu-west-3 --approve
    

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=nameofgcloudproject
    CLUSTER_NAME=nameofcluster
    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
    

OpenShift 3.11

  1. Install local tools

  2. On the OpenShift master node, execute the following steps:

    • Set up the required permissions for your user:
    oc adm policy --as system:admin add-cluster-role-to-user cluster-admin <OPENSHIFT_USER_NAME>
    
    • Set up the required permissions for the installer pod:
    oc adm policy  add-cluster-role-to-user cluster-admin system:serviceaccount:default:default
    oc adm policy  add-cluster-role-to-user cluster-admin system:serviceaccount:kube-system:default
    
    • Enable admission WebHooks on your OpenShift master node:
    sudo -i
    cp -n /etc/origin/master/master-config.yaml /etc/origin/master/master-config.yaml.backup
    oc ex config patch /etc/origin/master/master-config.yaml --type=merge -p '{
      "admissionConfig": {
        "pluginConfig": {
          "ValidatingAdmissionWebhook": {
            "configuration": {
              "apiVersion": "apiserver.config.k8s.io/v1alpha1",
              "kind": "WebhookAdmission",
              "kubeConfigFile": "/dev/null"
            }
          },
          "MutatingAdmissionWebhook": {
            "configuration": {
              "apiVersion": "apiserver.config.k8s.io/v1alpha1",
              "kind": "WebhookAdmission",
              "kubeConfigFile": "/dev/null"
            }
          }
        }
      }
    }' >/etc/origin/master/master-config.yaml.patched
    if [ $? == 0 ]; then
      mv -f /etc/origin/master/master-config.yaml.patched /etc/origin/master/master-config.yaml
      /usr/local/bin/master-restart api && /usr/local/bin/master-restart controllers
    else
      exit
    fi
    

Pivotal Container Service (PKS)

  1. Install local tools

  2. Create PKS cluster on GCP

    // set environment variables
    CLUSTER_NAME=name_of_cluster
    HOST_NAME=host_name
    PLAN=small
    
    pks create-cluster $CLUSTER_NAME --external-hostname $HOST_NAME --plan $PLAN
    

Minikube 1.2

  1. Install Minikube in version 1.2 (newer versions do not work).

  2. Setup a Minikube VM with at least 6 CPU cores and 12 GB memory using:

    minikube stop # optional
    minikube delete # optional
    minikube start --cpus 6 --memory 12200
    
  3. Start the Minikube LoadBalancer service in a second terminal by executing:

    minikube tunnel 
    

2. Install Keptn

The following instructions will install the latest stable Keptn CLI (0.6.2) in a quick way. Please also look at our detailed installation guide for Keptn 0.6.2 if you need more information.

2.1 Install the 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 release page

  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. Run the Keptn installer

Depending on the platform, Keptn install will prompt you different information needed to perform the installation.

keptn install --platform=[aks|eks|gke|openshift|pks|kubernetes]

Note: For a Minikube setup, use option --platform=kubernetes.

After a successful installation, you can verify that Keptn is working by executing

keptn status

Keptn is now ready to be used.

4. Explore the use cases

With Keptn installed, have a look at the different tutorials like:

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

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

6. You need help?

Join our slack channel for any questions that may arise.

7. Uninstall Keptn

keptn uninstall