From 20c6f1e32ff17b5b9381765540473a7201340e28 Mon Sep 17 00:00:00 2001 From: Meg McRoberts Date: Tue, 31 Oct 2023 06:13:18 -0700 Subject: [PATCH] docs: how to make Keptn work with vCluster (#2382) Signed-off-by: Meg McRoberts Co-authored-by: Moritz Wiesinger --- README.md | 8 +++++-- docs/content/en/docs/install/install.md | 28 +++++++++++++++++++++++++ docs/content/en/docs/install/reqs.md | 18 ++++++++++++++-- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 39b4e9427a..4309df9a68 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,12 @@ The status follows the Keptn can be installed on any Kubernetes cluster running Kubernetes >=1.24. -Note that Keptn is not currently compatible with -[vcluster](https://github.com/loft-sh/vcluster). + +For users running [vCluster](https://www.vcluster.com/), +please note that you may need to modify +your configuration before installing Keptn; see +[Running Keptn with vCluster](https://main.lifecycle.keptn.sh/docs/install/install//#running-keptn-with-vcluster) +for more information. Use the following command sequence to install the latest release of Keptn: diff --git a/docs/content/en/docs/install/install.md b/docs/content/en/docs/install/install.md index 113da079c5..62ba2ef0cc 100644 --- a/docs/content/en/docs/install/install.md +++ b/docs/content/en/docs/install/install.md @@ -30,6 +30,34 @@ in order to run some Keptn functionality. You are then ready to [Integrate Keptn with your applications](../implementing/integrate). +## Running Keptn with vCluster + +Keptn running on Kubernetes versions 1.26 and older +uses a custom +[scheduler](../architecture/components/scheduler/), +so it does not work with +[Virtual Kubernetes Clusters](https://www.vcluster.com/) +("vClusters") out of the box. +This is also an issue +if the `schedulingGatesEnabled` Helm chart value is set to `false` +for Kubernetes version 1.27 and later. +See +[Keptn integration with Scheduling](../architecture/components/scheduler/) +for details. + +To solve this problem: + +1. Follow the instructions in + [Separate vCluster Scheduler](https://www.vcluster.com/docs/architecture/scheduling#separate-vcluster-scheduler) + to modify the vCluster `values.yaml` file + to use a virtual scheduler. + +1. Create or upgrade the vCluster, + following the instructions in that same document. + +1. Follow the instructions in the section below + to install Keptn in that vCluster. + ## Use Helm Chart Version v0.7.0 and later of Keptn diff --git a/docs/content/en/docs/install/reqs.md b/docs/content/en/docs/install/reqs.md index db4f436b0e..d6c843692a 100644 --- a/docs/content/en/docs/install/reqs.md +++ b/docs/content/en/docs/install/reqs.md @@ -24,8 +24,22 @@ Kustomize Version: v4.5.4 Server Version: v1.24.0 ``` -Keptn is not currently compatible with -[vcluster](). +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](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-scheduling-readiness/), +unless the `schedulingGatesEnabled` Helm value is set to `false`. +See +[Keptn integration with Scheduling](../architecture/components/scheduler/) +for details. + +If Keptn is installed on a [vCluster](https://www.vcluster.com/) with +Kubernetes v1.26 or earlier, some extra configuration +needs to be added for full compatibility. +See +[Running Keptn with vCluster](install.md/#running-keptn-with-vcluster) +for more information. ## Resource requirements