-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FR: Task-level (and maybe Pipeline-level) resource requests and limits #4470
Comments
/kind design |
a bit of a wrinkle here. Let's say we want to allow people to specify the total resource requests and limits that should be used by all steps in their task:
One way around this is to support only Task-level resource requests, not limits. Another option is to run Steps as init containers rather than containers (instead of supporting this feature). As a result, k8s will correctly determine the effective pod resource requirements. We would have to rework our entrypoint but I imagine it would be doable. However, we would have no way to support Sidecars. |
We used to run Tekton in init containers before, init containers have some nice characteristics but also come with a bunch of drawbacks: see #224 |
imo, #4176 made defining cpu/mem requests much less intuitive. assuming steps in a task will never run in parallel, task-level resource definition would definitely alleviate some of that pain. |
Must join tekton-dev or tekton-users to view/comment |
/kind tep |
Opened TEP-0104 to propose this feature. |
Hi @lbernick, perhaps I could pick this issue up? digesting the required logic from TEP and target to raise a draft PR in this week. |
/assign @austinzhao-go Thanks Austin! |
I want to amend what I said in #4470 (comment); since the container limits are enforced on individual containers by the container runtime, and pod effective limits seem less relevant than pod effective requests, I've updated the design in tektoncd/community#703 to propose support for Task-level limits as well. |
thanks this update @lbernick just confirm my understanding about the update:
not change:
|
Yup that's correct @austinzhao-go ! |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/remove-lifecycle stale |
/lifecycle frozen This should be ready soon :) |
This feature is available on main now and will be out in the next release. We won't be implementing Pipeline-level resource requirements for the foreseeable future (it's hard to have a non confusing API for this when some components are running in parallel and some sequentially), although if there's a strong use case for it we can reconsider. |
Feature request
Currently, users can set resource requests and limits at the Step level, which are summed to determine the resource requests of the pod that runs a TaskRun. However, some users want to be able to directly specify the resource requests for a Task, rather than per Step.
Related issues
The text was updated successfully, but these errors were encountered: