Skip to content

Can karpenter provide something like PodDisruptionBudget? #7853

Open
@zwwhdls

Description

@zwwhdls

Description

What problem are you trying to solve?
JuiceFS users using JuiceFS CSI Driver in Kubernetes with karpenter have encountered the following problem:

I have pods on the same node that are depend on each other.

For example pod B depends on pod A and they are on the same node. And when B is deleted, A will be deleted by its controller(kubelet will trigger A's controller). But when A is deleted before B, B will not run well and result in Error.

But when I did a disruption in node. A and B are evicted in the same time, and B will cause Error which can not be accepted by consumers.

I tried two methods:

  1. setup PodDisruptionBudget for A (which is proven to be effective in Kubernetes without karpenter), but karpenter ignored it, and evict both A and B.
  2. set annotation karpenter.sh/do-not-disrupt in A , but karpenter do not trigger disruption anymore.

PDB will prevent A from be evicted during drain, and A will be deleted by its controller after B is deleted, so the entire drain can be successful. But it seems not work in karpenter.

Can karpenter provide something like PDB? It will help a lot in JuiceFS's case. Thanks!

How important is this feature to you?

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or requesttriage/needs-informationMarks that the issue still needs more information to properly triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions