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

Helm chart: be able to set update strategy #1626

Closed
JeroenVanOort opened this issue May 25, 2021 · 6 comments
Closed

Helm chart: be able to set update strategy #1626

JeroenVanOort opened this issue May 25, 2021 · 6 comments
Labels
enhancement Pull requests for new features/feature enhancements proposal An issue that proposes a feature request
Milestone

Comments

@JeroenVanOort
Copy link

JeroenVanOort commented May 25, 2021

Is your feature request related to a problem? Please describe.
Using the helm chart, I installed the nginx Ingress Controller on a 3 node cluster. Because I want the controller to run on every node, I set controller.replicaCount to 3. But when I update the helm deployment, it will try to start a 4th pod to replace one of the first 3. The update fails, because that new pod will try to bind to a specific port on the node, which already has an old pod bound to it.

Describe the solution you'd like
What I would like to do, is to set .spec.strategy.rollingUpdate.maxUnavailable to 1 and set .spec.strategy.rollingUpdate.maxSurge to 0. I believe this would make Kubernetes remove one of the old pods, create a new pod after that, and continue doing so until all pods have been replaced by new ones. But the total number of pods is never above the value of replicaCount.

In order to do this, I'd like to be able to specify .spec.strategy.rollingUpdate as a value in the Helm chart.

Describe alternatives you've considered
I've tried lowering the replicaCount, in order to allow a new container to be started and then setting the replicaCount back to 3 again. It works, but feels more like a hack than a solid solution.

Additional context
I'm willing to put time in creating a PR, but I would like to know how you think about this first.

Aha! Link: https://nginx.aha.io/features/IC-99

@github-actions
Copy link

Hi @JeroenVanOort thanks for reporting!

Be sure to check out the docs while you wait for a human to take a look at this 🙂

Cheers!

@pleshakov
Copy link
Contributor

Hi @JeroenVanOort

I wonder if it makes sense to deploy Ingress Controller as a daemonset in your case, via controller.kind paramerer. Would it solve your issue?

@wd
Copy link
Contributor

wd commented Jun 7, 2021

I am using daemonset now, but I also want to set the .spec.strategy.type to onDelete , so that I can control the pod terminate/create process manually.

@JeroenVanOort
Copy link
Author

I wonder if it makes sense to deploy Ingress Controller as a daemonset in your case, via controller.kind paramerer. Would it solve your issue?

It does! Thank you very much. For me, this issue can be closed. However, others might still like to influence the strategy.

@pleshakov pleshakov added the proposal An issue that proposes a feature request label Jun 8, 2021
@pleshakov
Copy link
Contributor

Thanks. We'll keep it issue open for the strategy related parameters.

@brianehlert brianehlert added the enhancement Pull requests for new features/feature enhancements label Jul 2, 2021
@brianehlert brianehlert added this to the Candidates milestone Aug 10, 2021
@pdabelf5
Copy link
Collaborator

The ability to add the strategy to the helm chart was added in #2672

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Pull requests for new features/feature enhancements proposal An issue that proposes a feature request
Projects
None yet
Development

No branches or pull requests

5 participants