Skip to content

Can karpenter provide something like PodDisruptionBudget? #7853

Closed as not planned
@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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions