lvm-localpv icon indicating copy to clipboard operation
lvm-localpv copied to clipboard

scheduler plugin for lvm

Open zwForrest opened this issue 3 years ago • 3 comments

Describe the problem/challenge you have [A description of the current limitation/problem/challenge that you are experiencing.] In the case of waitforfirstconsumer, the pod will be scheduled by default scheduler, then the node will be selected by scheduler, but lvm did not participate in default scheduling. This means that the node selected by lvm and the one selected by kubernetes scheduler may not be the same.

Describe the solution you'd like [A clear and concise description of what you want to happen.] In the waitforfirstconsumer mode, lvm information can participate in the filter and score phases of pod scheduling, so that the best node can be selected to start the pod

Anything else you would like to add: [Miscellaneous information that will assist in solving the issue.]

Environment:

  • LVM Driver version
  • Kubernetes version (use kubectl version):
  • Kubernetes installer & version:
  • Cloud provider or hardware configuration:
  • OS (e.g. from /etc/os-release):

zwForrest avatar Nov 22 '21 03:11 zwForrest

In the waitforfirstconsumer mode, lvm information can participate in the filter and score phases of pod scheduling, so that the best node can be selected to start the pod

@zwForrest LVM-LocalPV already has k8s StorageCapacity feature where the lvm information is shared with the k8s scheduler and it pick the node based on score that driver shares. See this https://kubernetes-csi.github.io/docs/storage-capacity-tracking.html.

pawanpraka1 avatar Nov 24 '21 11:11 pawanpraka1

@pawanpraka1 With storage capacity tracking can only guarantee that the node has enough capacity. But the selected node may not be the most suitable node. This feature does not score nodes based on resource capacity. See this https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1472-storage-capacity-tracking#drawbacks

zwForrest avatar Nov 30 '21 13:11 zwForrest

@zwForrest How about additionally using the allowed topologies in storage class to filter the suitable nodes first?

dsharma-dc avatar Jun 05 '24 06:06 dsharma-dc