-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
An option for disabling Pod disruption budget #6996
Comments
Why do they deny it? PDB is quite essential for running an application like Kafka. I don't think you can have any availability guarantees without it, might impact reliability as well. In any case, if you would want to disable it, a global flag similar to the one for NEtwork Policies is probably better idea than something in the custom resources as you would need to add it to every single custom resource. |
Triaged on 18.8.2022: Having an environment variable to disable the PDBs globally would make sense (I don't think the flag in CRD makes much sense here). But in anycase, this should have a proposal similar to the Network policies one. |
@scholzj proposal added |
@m-yosefpor Do you plan to implement the proposal you wrote? Or should we try to get someone else to implement it? |
@scholzj Yes I will submit a PR for the implementation. |
Hi,
Operator create min available as five for me:
This vale is too much for me, when we upgrading our kubernates nodes, this PDB blocked our nodes to restart. |
nvm, i found below piece of code, setup max can help.
|
Keep in mind that increasing the number of nodes that can be down at the same time can cause your Kafka cluster to be unavailable. |
Disabling PDB would be helpful for local development environments, where we care more about staying within resource constrains (e.g. 16 Gb for everything from OS till dev environment and test workloads) than about availability. |
We recently had a similar scenario as given above:
Issues after migration:
Our workaround: matchLabels:
strimzi.io/cluster: <cluster-name>
strimzi.io/kind: Kafka
strimzi.io/pool-name: <nodepool-name> So the default PDB becomes obsolete. Because
Internally this is actually calculated in some Helm templates, so one can simply resize the pools with convenience for the budgets. Not very elegant, but it seems to do the job for some test clusters. Default PDB generation per pool might be a handy feature for such cases. Disabling it completely ... I agree, that's probably not the best idea in most cases. My preferred solution would be fine granular control on Kafka and KafkaNodePool level, maybe with defaults like this: ---
kind: Kafka
spec:
kafka:
template:
podDisruptionBudget:
create: true
maxUnavailable: 1
---
kind: KafkaNodePool
spec:
podDisruptionBudget:
create: false
maxUnavailable: 1 |
@m-yosefpor Do you still plan to implement the proposal? Or should we try to get someone else to implement it? |
Due to my current workload, I don’t have the bandwidth to implement the proposal right now. It might be better to look for someone else who can take it on. Thanks. |
@m-yosefpor No worries, I will try to find someone else to look into it. The proposal is approved, this just needs the implementation: https://github.com/strimzi/proposals/blob/main/063-pdb-generation-environment-variable.md The implementation should cover:
|
Closes strimzi#6996 Signed-off-by: Katherine Stanley <[email protected]>
Closes strimzi#6996 Signed-off-by: Katherine Stanley <[email protected]>
Closes strimzi#6996 Signed-off-by: Katherine Stanley <[email protected]>
Done in #10614 |
Is your feature request related to a problem? Please describe.
Many infrustructures deny PDB creations for users, so operator will face issues. There should be an option to disable podDisruptionBudget creation in strimzi, to opt-out for creating PDB in such cases.
Describe the solution you'd like
There should be an option in CRD (e.g.e here: https://github.com/strimzi/strimzi-kafka-operator/blob/main/install/cluster-operator/040-Crd-kafka.yaml#L1450) to disable podDisruptionBudget creation (podDisruptionBudget.disabled: true/false) in strimzi, to opt-out for creating PDB in such cases. The default value should be false to conserve current behavior by default.
Describe alternatives you've considered
It can be disabled globally as a flag
--disable-pdb-creation
in strimzi (not a good solution).Additional context
The text was updated successfully, but these errors were encountered: