A per image node selector for the images pulled by the image puller.
To be more precise: Some images, specifically very large cuda-images for development, do not need to be present on nodes without any gpus. It would be great if we could instruct the image puller to only pull those images onto nodes where the workloads are actually running. So:
TPU Images onto TPU enabled or labeled nodes
GPU to GPU nodes
cpu only to cpu only nodes
etc...
Alternative options
The current best alternative, to not "waste" local node storage (which sometime can be limited if user storage is hosted else where)
is to do this job manually with some custom automation.
Who would use this feature?
Hopefully all users with a heterogeneous cluster.
(Optional): Suggest a solution
I am not familiar with go, but I would guess It's not too difficult to extract already existing fields in the profile list or single user config, such as "node_selector" and copy them to the pods/deamonsets generated by the image puller.
If not (and probably a better way altogether), a more general customization for the image puller would be required.
If you have a better or already working solution, I'm also keen to learn about it!
And ofc, thanks for your work !
Proposed change
A per image node selector for the images pulled by the image puller.
To be more precise: Some images, specifically very large cuda-images for development, do not need to be present on nodes without any gpus. It would be great if we could instruct the image puller to only pull those images onto nodes where the workloads are actually running. So: TPU Images onto TPU enabled or labeled nodes GPU to GPU nodes cpu only to cpu only nodes etc...
Alternative options
The current best alternative, to not "waste" local node storage (which sometime can be limited if user storage is hosted else where) is to do this job manually with some custom automation.
Who would use this feature?
Hopefully all users with a heterogeneous cluster.
(Optional): Suggest a solution
I am not familiar with go, but I would guess It's not too difficult to extract already existing fields in the profile list or single user config, such as "node_selector" and copy them to the pods/deamonsets generated by the image puller. If not (and probably a better way altogether), a more general customization for the image puller would be required.
If you have a better or already working solution, I'm also keen to learn about it! And ofc, thanks for your work !