Skip to content
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

Built-in Tekton PipelineRun Support #4167

Open
2 of 3 tasks
adambkaplan opened this issue Feb 6, 2025 · 8 comments
Open
2 of 3 tasks

Built-in Tekton PipelineRun Support #4167

adambkaplan opened this issue Feb 6, 2025 · 8 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@adambkaplan
Copy link

adambkaplan commented Feb 6, 2025

What would you like to be added:

Support Tekton Pipelines as a built-in Kueue integration. Tekton PipelineRun objects can be potentially supported because it has a "suspended" equivalent through the Pending PipelineRun feature.

Why is this needed:

At scale, Tekton PipelineRun objects can overwhelm a Kubernetes cluster due to the chain of objects it creates (child TaskRun objects + Pods). Even with pruning mechanisms in place, a cluster that uses webhooks or other mechanisms to launch Tekton PipelineRuns can lead to cluster failure.

This is split out from #74, which also includes Argo Workflows. The latter is a different project with an entirely different set of APIs.

Completion requirements:

This enhancement requires the following artifacts:

  • Design doc
  • API change
  • Docs update

The artifacts should be linked in subsequent comments.

@adambkaplan adambkaplan added the kind/feature Categorizes issue or PR as related to a new feature. label Feb 6, 2025
@kannon92
Copy link
Contributor

kannon92 commented Feb 7, 2025

This sounds great! I wrote up a external integration here using pod integration.

It would probably be best to have someone from the tekton community to lead this implementation with a KEP. I'm not sure how many folks in the Kueue community are familar with Tekton.

@vdemeester
Copy link

@kannon92 you are right, I think someone from the Tekton Community should definitely help / drive this. This will require a KEP right ?

@kannon92
Copy link
Contributor

I'm not sure actually. @mimowo @tenzen-y WDYT? Can we add an integration for Tekton without a KEP?

I'd prefer to see some kind of KEP to at least document the plan but I'll leave that decision to @tenzen-y and @mimowo.

It would also be worth seeing how this work would play with #74 as the hope was to have a general solution for workflows in Kueue.

@mimowo
Copy link
Contributor

mimowo commented Feb 11, 2025

Can we add an integration for Tekton without a KEP?

Historically we added some integrations without KEP, but this is always tricky.

Plus, we don't have much expertise in Tekton so the KEP will be very much appreciated in this case to also describe the higher-level ideas.

@tenzen-y
Copy link
Member

I also think that KEP would be better since in case of workflow supporting, it is obviously required to prepare additional mechanism similar to ArgoWorkflow supporting KEP

@gbenhaim
Copy link

Does the integration with Tekton should be added to kueue''s code base? I think that an external integration would be better.

@mimowo
Copy link
Contributor

mimowo commented Feb 13, 2025

Staring externally is even better as Appswrapper started, or incubate it in kueue under cmd/experimental

@gbenhaim
Copy link

I created a simple external integration of Kueue and Tekton for supporting PipelineRuns. It's very basic but I think it provide a POC. You can find the code in https://github.com/konflux-ci/tekton-kueue and a short demo in https://www.youtube.com/watch?v=ppXd38CEhoE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

6 participants