-
Story
-
Resolution: Done
-
Critical
-
None
-
devex docs #208 Sep 30-Oct 21, devex docs #209 Oct 21-Nov 11, devex docs #210 Nov 11-Dec 2
-
8
-
Documentation (Ref Guide, User Guide, etc.), User Experience
From Dev Epic:
Goal
As an app operator, I want to specify the max amount of cpu/memory that a particular pipeline can consume so that the the sum of concurrent pods running for a specific pipelinerun associated with that pipeline do not exceed the quota set for that particular pipeline.
Problem
Tekton admins cannot define resource quota per pipeline in order to have granular control over how much resources (cpu, mem) a particular pipeline is allowed to consume on the cluster.
Using LimitRange does not help since it cannot distinguish pods running for the pipeline from the rest of the pods. For example a maven build task in a pipeline requires much more resources than the pod for the resulting application. App operators needs a way to be able to give enough quota for the maven build for that application, without giving too much quota to all pods in that namespace.
A per-Task resource limits does not help either since Task resource usage is dependent on what the task is being used for. A Maven task for two different applications would take vastly different amount of resources and a Task author cannot pre-determine that.
As a work around, customers currently define Task params for cpu and mem for all their tasks, and then define matching cpu and mem params with default values on their pipelines to be able to achieve the above scenario.
- documents
-
SRVKP-827 Pipeline resource quota
- To Do
- links to