so i naturally run nvidia-docker and the k8s-device-plugin as a daemonset
. as not all my kubernetes worker nodes have gpus, i use a nodeSelector
in the daemonset to run just on node
s that i've labeled with accelerator=nvidia
.
in another case, i also do the same for ingress-nginx: i label a few nodes that i want and run it as a daemonset
. i then have an external (f5) load balancer that holds the VIP to the relevant DNS records for the ingress endpoints (yeah, i know there's a f5 ingress available - its on the todo list).
i've noticed that many users state that daemonset
s should only be used for pods that should be running on ALL workers. is there anything inherently bad with my restriction of running daemonset
s on a subset of nodes?
It's a valid use case. You can restrict the daemonset to run on the nodes that you want by using node selectors.