I am new at Kubernetes and completely new to setting it up in EKS
.
I am trying to achieve sharing of GPU
between multiple pods, but for that going through few of the documents and articles, I found out I should update the kube-scheduler configuration
with parameters which will then allow me the make the necessary changes for enabling sharing of GPU
between pods.
Question
How do I update the kube-scheduler
configuration in EKS
. If update for the configuration is not possible, is there some other way I can setup kube-scheduler
for only those pods which require GPU
?
I think you need a custom kubescheduler, and for your pods to be able to specify whether they want to use the default or the custom scheduler.
Kubernetes supports this: https://kubernetes.io/docs/tasks/extend-kubernetes/configure-multiple-schedulers/ -- basically, create a .yaml file, run kubectl create -f
on it, and you should see your scheduler. You'll want to run it in the kube-system
namespace, and give it a unique name (so your pods have a way of saying which scheduler they want).
I haven't done this in EKS myself, but would be very surprised if you couldn't run a custom scheduler in EKS. Moreover, this aws blog post https://aws.amazon.com/blogs/opensource/virtual-gpu-device-plugin-for-inference-workload-in-kubernetes/ , which sounds similar to what you're looking for, seems like it would require a custom scheduler.