Hi everyone, I’m running a K8s deployment of dagst...
# deployment-kubernetes
s
Hi everyone, I’m running a K8s deployment of dagster and I see that
multiprocess_executor
execute dagster job by k8s job so I wonder how is the
k8s_job_executor
different than the
multiprocess_executor
with
k8s_run_launcher
? Also how is
celetry_executor
different than
celery_k8s_job_executor
? And which one should I use on K8s? Is there any benchmark about these kinds of executor on K8s environment that I don’t know of?
And of course I read the docs but still don’t understand it very well. So any opinions are appreciated.
I think the it would be nice if the docs have the section that explains the benefits of an executor over another, and what use case fits the purpose of an executor.
j
multiprocess_executor
will create a subprocess per Op.
k8s_job_executor
will create a K8s Job per Op.
https://docs.dagster.io/deployment/executors has some of the descriptions but yeah we could fill in good times to use each
a
is there a performance advantage over either of these? we're currently investigating slow spin up times for some of our jobs.. sometimes taking over 90 secs from execution to start of the K8s Job.. would the multiprocess_executor be faster?
j
multiprocess would mean that all ops execute within one K8s Job, so you’d only pay the pod spinup cost once, compared to once per Op when using the
k8s_job_executor
a
so in a K8s ecosystem, we have one other pod that constantly runs, rather than having a new pod for each job??