k8up icon indicating copy to clipboard operation
k8up copied to clipboard

Allow to set the priorityClassName of Backup pods

Open onjen opened this issue 1 year ago • 0 comments

Summary

For RWO backup pods allow to set the priorityClassName to allow other pods on the node to be preempted in case the node reached its resource capacity.

Context

With RWO backups pods, a node selector is set on the pod to make sure that the Backup pod is scheduled on the same node as the pod with the mounted volume. This is working fine. However if the resources requested by the backup pod are higher than the remaining resources on the node, the pod is not scheduled on the specified node. Other pods on the node are not preempted, because the backup pod has the default priority set (priority 0). The backup pod would stay in pending state.

Allowing to set a priorityClassName for the backup pod with a PriorityClass higher than the default priority would cause the scheduler to preempt pods on the node and schedule the backup pod instead.

Out of Scope

No response

Further links

  • https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#pod-priority

Acceptance Criteria

No response

Implementation Ideas

  • Add configuration option to set the priorityClassName in a schedule and on a backup object
  • By default no priorityClassName is set, therefore the pod is scheduled with a default priority of 0

onjen avatar Apr 24 '24 11:04 onjen