-
Notifications
You must be signed in to change notification settings - Fork 742
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
Switching between canary and k8s rollout with no downtime #388
Comments
You can disable the canary rollout by setting skipAnalysis to true inside the canary spec. The canary deletion is handled by Kubernetes GC, you need some kind of script to make the removal work without downtime, I’ve explained the removal process here #308 (comment) |
I'm also facing the same problem, while I'm getting around I cannot found where it's happening in flagger's code but to me if flagger is doing so when the canary resource is deployed, it should remove the |
@n0rad Helm3 might help you with that problem because of it's 3-way Strategic Merge Patches. https://helm.sh/docs/faq/ |
thx @tega90, indeed helm3 will simplify the templating on the I'm still wondering what to do with the The process describe in #308 does not look friendly to me and I do not expect anyone here @blablacar to remember to do manual steps while wanted to remove canary on a live system. Especially since we are using gitops and any other resource deletion only needs removing the file from git. |
I just tested 1.0.0-rc.5 on gke 1.15.11 and removing canary resource still leave the deployment with a |
I don't know if it's linked but the deployment I'm using do not have an initial replica value and is using an HPA |
I tested with a replicas value without HPA and it's the same. I think this issue should be re-open |
@n0rad have you enabled the finalizers? https://docs.flagger.app/usage/how-it-works#canary-finalizers |
thx @stefanprodan, I thought it would be the default behavior, why it's not ? I did tests with podinfo and it's working ok with few changes to the chart : #595 |
Because finalizers can have grave side-affects, for example, if Flagger is down or it has been removed from the cluster, deleting a namespace with canaries will block forever. You shouldn't be creating services since Flagger does it for you. The finalizers are meant to be used while you're evaluating Flagger, on the long run you should remove the ClusterIPs from your charts and let Flagger bootstrap the app instead of patching existing objects. |
The finalizer can be enable with a flag, so it's ok for me. let's talk about the global lifecycle in #595, especially since this ticket is closed and working as the doc is expected it. |
Is it possible to switch between canary and k8s rollout with no downtime?
Currently, when I delete Canary object, my original deployment is left with 0 replicas.
I use Helm for deployment and Linkerd as service mesh
The text was updated successfully, but these errors were encountered: