Your choice of launchers and executors will depend on the level of isolation you need for each job and step. If scaling/isolation isn’t a huge concern yet, you’re likely fine sticking with the defaults for a while.
Using the k8s run launcher will launch each
job in its own pod. This is how most of our users choose to configure K8s.
https://docs.dagster.io/_apidocs/libraries/dagster-k8s#dagster_k8s.K8sRunLauncher
Using the k8s executor will launch each
step within that job in its own pod.
https://docs.dagster.io/_apidocs/libraries/dagster-k8s#dagster_k8s.k8s_job_executor
But the default multiprocess executor (launching each
step within that job in its own process in the same pod) is likely sufficient
https://docs.dagster.io/_apidocs/execution#dagster.multiprocess_executor
It’s not important to use Celery - just another option for deployment if your needs justify it. Some users prefer the level of customization it affords them, but most are comfortable with letting Dagster handle the execution.
tl;dr if you mostly just want to experiment working with asset graphs, you can safely stick to the defaults. And if/when you outgrow them, this channel can help you graduate to additional layers of customization.