-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
feat: manage PodDisruptionBudget
for SparkApplication
driver and executor
#2326
base: master
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
60b574d
to
f4bb934
Compare
@missedone looks like a useful PR! How would pod template control PDB definition? Are you suggesting to implement a single PDB that prevents a common pod label from being evicted? |
Ah right, it’s PDB which need a specific configuration item for it. My brain was stuck :( |
Happy to take a look at the PR as well because this may be a useful feature, but if this is specifically for node draining, you could add annotations to prevent eviction: |
Thanks! The context here is nodegroup upgrades, so we drain the nodes from the old nodegroup. so karpenter or cluster-autoscaler don't come into play. |
This would be a great addition - thanks @a7i |
f4bb934
to
62e73f3
Compare
…executor Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
62e73f3
to
9f054c3
Compare
Ah, so this is a user initiated drain and not one done automatically by either node provisioner e.g. Karpenter drift detection or node consolidation. In that case definitely understand your issue with needing to provision PDBs. Will review this tonight. |
Purpose of this PR
Provide the ability to create PodDisruptionBudget per Spark Application
Proposed changes:
PodDisruptionBudgetSpec
for driver definitionPodDisruptionBudgetSpec
for executor definitionChange Category
Rationale
Our spark pipelines cannot be interrupted and during node drain, we want to prevent eviction of executor and driver pods. Once the pipeline is complete, then the node can be drained. This is natively supported via PodDisruptionBudget with
maxUnavailable: 0
Checklist
Additional Notes