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

support canary release #4421

Closed
CharlesQQ opened this issue Dec 14, 2023 · 13 comments
Closed

support canary release #4421

CharlesQQ opened this issue Dec 14, 2023 · 13 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@CharlesQQ
Copy link
Contributor

What would you like to be added:

  1. karmada allow pause work object propagate to member cluster until user want to
  2. during propagation is paused, user changed the overriepolicy By API, such as annotationsOverrider field
  3. user set and allow new work object be to propagated to member cluster

Why is this needed:
Our canary release strategy is declare by deployment.metedata.annotation, process is controller by our owner custom controller;
So before the latest deployment is synced to member cluster, deployment.metedata.annotation must be set

@CharlesQQ CharlesQQ added the kind/feature Categorizes issue or PR as related to a new feature. label Dec 14, 2023
@chaosi-zju
Copy link
Member

/assign

@chaosi-zju
Copy link
Member

Hi @CharlesQQ, I am very interested in your feature

Actually, rather than just implement this feature, I am more interested in how you use canary release strategy by in karmada.

Can you share more info with me on how using canary release strategy in karmada? Thanks very much~

@chaunceyjiang
Copy link
Member

I believe it's time to push forward with this feature. This is a feature that has been discussed for a long time.
@RainbowMango @XiShanYongYe-Chang @CharlesQQ

@chaosi-zju
Copy link
Member

chaosi-zju commented Dec 15, 2023

I believe it's time to push forward with this feature. This is a feature that has been discussed for a long time.

@chaunceyjiang is there any related issue or meeting notes?

@XiShanYongYe-Chang
Copy link
Member

I believe it's time to push forward with this feature. This is a feature that has been discussed for a long time.

I agree with this.

@CharlesQQ
Copy link
Contributor Author

CharlesQQ commented Dec 15, 2023

Hi @CharlesQQ, I am very interested in your feature

Actually, rather than just implement this feature, I am more interested in how you use canary release strategy by in karmada.

Can you share more info with me on how using canary release strategy in karmada? Thanks very much~

This has nothing to do with karmada, it's related to deployment Annotation, as Annotation‘s value changed, custom controller calculate newRS's replicas and oldRS's Replicas; before deployment synced to member cluster, Annotation's value must be changed by our owner controller, so needed paused sync work feature

image

灰度发布

@CharlesQQ
Copy link
Contributor Author

CharlesQQ commented Apr 2, 2024

is there any related issue or meeting notes?

#4688
#1567

There are two way to achieve pause workload to member cluster

  1. Extend the API field of pp、rb and work.
  2. Add resourceTemplate Annotation field.

@zach593
Copy link
Contributor

zach593 commented Jul 26, 2024

After reading the proposal https://github.com/karmada-io/karmada/pull/5118/files, I have some questions.
Of course, the proposal focuses on cluster-level pauses, so how to implement application-level pauses mentioned in this issue? To be determined?

Using pp/cpp for application-level pauses is OK, but not good enough.
pp/cpp may be owned by the cluster administrator and the application owner cannot touch them. Even if we can let the application owner operate pp/cpp, one pp/cpp per application will make us lose the large-scale scope management ability of pp/cpp

@XiShanYongYe-Chang
Copy link
Member

Hi @zach593 thanks for your feedback. We can continue to iterate on this feature.

How do you use PP/CPP now?

@zach593
Copy link
Contributor

zach593 commented Jul 26, 2024

How do you use PP/CPP now?

pp/cpp owned by the cluster administrator, the application owners can only touch the workload(resource template).

we don't need this pause function at the moment, it's just that I personally have doubts about this design. @XiShanYongYe-Chang

@XiShanYongYe-Chang
Copy link
Member

@zach593 Thanks for your use case.

We designed it with this in mind, and we plan to orchestrate applications in the future through the new CRD API. For some current user stories, the suspension field in PP/CPP can meet the requirements. If the field cannot meet the user requirements in the future, the field may be deprecated.

@CharlesQQ
Copy link
Contributor Author

CharlesQQ commented Aug 9, 2024

/close

@XiShanYongYe-Chang
Copy link
Member

#5217 can cover this feature.
Thanks all. If you have more requirements, you can submit a new issue.

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

5 participants