Introduce apply clientset for CRD in work group #6002
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
/kind feature
What this PR does / why we need it:
SSA (Server Side Apply) is a good design to avoid update resource conflict and k8s also has supported
Apply
client to support that, we can introduce these features to avoid update resource conflict, please see https://kubernetes.io/docs/reference/using-api/server-side-apply/, https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/2155-clientgo-apply, kubernetes/kubernetes#99214 for more detail.And also karmada has used many retry update mechanism, eg:
karmada/pkg/util/helper/workstatus.go
Line 77 in ba1e68d
this is not a good habit and will cause performance issue too, SSA can help a lot.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
This pr just introduced CRDs in work group, because the pr #5937 need that and we can add more CRD support in the future, we can add them as needed.
Does this PR introduce a user-facing change?: