-
Notifications
You must be signed in to change notification settings - Fork 237
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
Enable Server Side Apply for Client Patch Calls #779
Comments
/assign |
Hi @jonathan-innis ,Tried looking at it I guess it considers our crd's as unstructured object . so we would have to make some more changes such as converting the crd resources into unstructured and also pulling dynamicclient and then applying them and since we have multiple controllers we really need to very cautions about the ownership which might be a bit prone to errors . One example I've found is https://github.com/pkbhowmick/k8s-server-side-apply/blob/master/main.go |
I'd consider looking deeper into how controller-runtime directly handles this as well as look into how CAPI (Cluster API) does SSA. I believe they should have paths forward to enable us to do the same in Karpenter. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close not-planned |
@k8s-triage-robot: Closing this issue, marking it as "Not Planned". 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-sigs/prow repository. |
/reopen |
@jonathan-innis: Reopened 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-sigs/prow repository. |
/triage accepted |
/remove-lifecycle rotten |
Description
What problem are you trying to solve?
Karpenter currently doesn't use Server Side Apply when making patch calls to the apiserver. This doesn't cause a ton of issues today since there aren't a ton of writers to the objects that we own (although the Node is a bit of an exception to this rule)
We should use Server Side Apply since then we can declare a set of managed fields that we own and ensure that only these fields are updated when we make a
Patch
call to the apiserver and no other updates are made to the object.Server Side Apply Docs: https://kubernetes.io/docs/reference/using-api/server-side-apply/
How important is this feature to you?
It will prevent us from fighting and overwriting with other controllers that may also be trying to write different fields to the same object.
Related Issues
#660
The text was updated successfully, but these errors were encountered: