Home / Keptn v1 Docs / Installation / Kubernetes support & Cluster size
This document describes the maximum version skew supported between Keptn and Kubernetes.
Keptn versions are expressed as x.y.z
, where x
is the major version, y
is the minor version, and z
is the patch version, following Semantic Versioning terminology. Please refer to the table below to determine what Keptn version is compatible with your cluster.
Keptn Installations:
Control plane: Keptn components to run a Keptn and to manage projects, stages, and services, to handle events, and to provide integration points. Install option: keptn install
Control & Execution plane: Keptn control plane including all Keptn-services for continuous delivery and automated operations. Install option: keptn install --use-case=continuous-delivery
Keptn Version /Installation | Kubernetes | AKS | EKS | GKE | OpenShift | K3s | Minishift |
---|---|---|---|---|---|---|---|
0.18.x, 0.19.x / Control & Execution planesee: (1) | 1.24 - 1.17 | 1.24 - 1.19 | 1.24 - 1.19 | 1.24 - 1.19 | 4, 3.11 | 1.24 - 1.19 | 1.34.2(K8s: 1.11) |
0.18.x, 0.19.x / Control plane | 1.24 - 1.17 | 1.24 - 1.19 | 1.24 - 1.19 | 1.24 - 1.19 | 4, 3.11 | 1.24 - 1.19 | 1.34.2(K8s: 1.11) |
Remarks:
Notes:
Abbreviations:
Test Strategy for Kubernetes support:
With a new Keptn release, Keptn is tested based on the default Kubernetes version of each Cloud Provider: AKS, EKS and GKE available at the release date.
Internally, a test pipeline with newer Kubernetes versions is verifying the master branch of Keptn. Known-limitations identified by these tests are referenced at the corresponding Keptn release.
The size of the Keptn control plane has been derived automatically and is also reported at the latest release; see Kubernetes Resource Data at: https://github.com/keptn/keptn/releases.
The predefined resource values for the Keptn services are available in the Helm Charts.
As a rule of thumb, Keptn control plane will run with 2 vCPUs, 4 GB of memory and roughly 10 GB of additional disk space (Docker Images + Persistent Volumes). For execution plane services with continuous-delivery support, your Kubernetes cluster requires additional resources. This depends on the number of projects and workloads you deploy, as well as the number of stages in your Shipyard, and whether you are using direct or blue-green deployments.
In particular, as you grow the number of projects and their size, it is recommended to increase:
As an example, we ran a stress test of a Keptn installation with 50 projects, each project having 5 stages and 50 services. Every second we ran an evaluation sequence, for a total of 5000 sequences. During the execution, we observed that the shipyard-controller required 1 full CPU and roughly 180MB of RAM. Similarly, the resource-service required around 3 CPUs and 240MB of RAM.