-
Notifications
You must be signed in to change notification settings - Fork 83
Closed
Description
What would you like added?
As described here: #111 (comment), a workflow pod can currently be placed on any Node of the given K8s cluster. I want to enforce having the pod scheduled via K8s Schedule on the same node.
Why is this needed?
Currently, there are 2 Options with various downsides:
- Bypassing the K8s Scheduler (default behaviour), which can lead to Pods failing with "OutOfCpu" and failing for example: Executing the custom container implementation failed due to Node out of resources #112
- Enable the "useK8sScheduler" Option: Add option to use the kubernetes scheduler for workflow pods #111. The downside of this feature is that the pods can be placed on any Node on the cluster, which further implies that the consumer has to provide read-write-many resources.
I suggest extending the "useK8sScheduler" option to generate podAfinities into this functionality. It should be rather straightforward to force the K8s Scheduler the pod on the same Node. The benefit is that if there are not enough resources on this node (at the moment of pod creation), the pod will go into a Pending state and will not fail.
Additional context
This could be easily achieved via a PodAfinity on the "hostname" label, which should be available by default on all K8s Distributions.
peter-fe, wolf-michl, CarinaBernscherer, schiasileon, georgblumenschein and 2 more
Metadata
Metadata
Assignees
Labels
No labels