-
Notifications
You must be signed in to change notification settings - Fork 580
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
Task(s) to manage kubernets resources in a cluster #233
Comments
/kind feature |
@afrittoli should this issue take over #37 ? 🙃 |
Oh, I. missed that one :) We, we could do that. I guess for deployments we might also have tasks that support provisioning a set of resources at once, so everything that is needed to deploy a service (including deployment, configmap, secrets, ingress etc). |
In order to streamline that implementation from a KFP-Tekton compiler perspective, we would like to follow the precedence laid out by Argo's ResourceTemplate, and create one generic task with the following parameters:
|
@vincent-pli @vdemeester @afrittoli this is a high priority requirement coming from our internal product teams. Would be good to know how can we get this prioritized? I have also discussed these with the OpenShift pipelines team, the relevance and importance of the work effort. |
Could we just use image with |
We want to use the new "ResourceTask" via a For implementing the task, I think a |
A quick searching of DockerHub brings up this There are also a few recipes to cook up a custom |
@ckadner catalog/knctl/knctl-deploy.yaml Line 16 in 270c833
|
In Argo it was done in the controller since they already have kubectl binary in the controller image. |
After we create/delete the resource, we also need to return a status to tell whether this is up running/deleted. |
@Tomcli
|
@vincent-pli is this something you want to take forward? Get this pushed in tekton, and we can leverage it as part of KFP? |
@animeshsingh |
Thanks for your PR @vincent-pli. I just took a quick look, but I only saw one parameter
Assuming your parameter |
Sorry for delay, involved in a tough project. Whatever, I will dig into and check if i can found something. |
Thanks @vincent-pli, maybe you can add you kubeclient task for this? We still have some edge cases for the results that we love to have support such as kubeflow/kfp-tekton#94 |
Thanks @Tomcli , I add some draft code to address your requirement, please check that:https://github.com/vincent-pli/kubectl-wrapper |
thanks folks - @vincent-pli great to see this coming in as a PR soon |
The requirements discussed in tektoncd#233 - action: ['get', 'create', 'apply', 'delete', 'replace', 'patch'] -- the action to perform to the resource - merge_strategy: ['strategic', 'merge', 'json'] -- the strategy used to merge a patch, defaults to "strategic" - success_condition: a label selector expression which describes the success condition - failure_condition: a label selector expression which describes the failure condition - manifest: the kubernetes manifest"
The requirements discussed in tektoncd#233 - action: ['get', 'create', 'apply', 'delete', 'replace', 'patch'] -- the action to perform to the resource - merge_strategy: ['strategic', 'merge', 'json'] -- the strategy used to merge a patch, defaults to "strategic" - success_condition: a label selector expression which describes the success condition - failure_condition: a label selector expression which describes the failure condition - manifest: the kubernetes manifest"
The requirements discussed in tektoncd#233 - action: ['get', 'create', 'apply', 'delete', 'replace', 'patch'] -- the action to perform to the resource - merge_strategy: ['strategic', 'merge', 'json'] -- the strategy used to merge a patch, defaults to "strategic" - success_condition: a label selector expression which describes the success condition - failure_condition: a label selector expression which describes the failure condition - manifest: the kubernetes manifest"
The requirements discussed in #233 - action: ['get', 'create', 'apply', 'delete', 'replace', 'patch'] -- the action to perform to the resource - merge_strategy: ['strategic', 'merge', 'json'] -- the strategy used to merge a patch, defaults to "strategic" - success_condition: a label selector expression which describes the success condition - failure_condition: a label selector expression which describes the failure condition - manifest: the kubernetes manifest"
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Feature description
In the context of MLOps, but most likely also beyond that, it's a common use case to create / update / delete kubernetes resources as part of a Tekton pipeline.
The proposal here is to have a task or set of tasks in the catalog that would define a standard way of doing that in Tekton, which a clear and re-usable interface.
Inputs would be:
cluster
PipelineResource or a set of paramsThis would be about managing single resources, so it shall not support provisioning the content of a folder or a generic YAML with multiple resources.
This could be implemented as one generic tasks that takes rather generic inputs, which could be usable for all resources, but have a weak validation - or a set of tasks, one per resource type, at least for common resources, which could have more strict checks on input params.
The text was updated successfully, but these errors were encountered: