Skip to content

Remove worker-template from dask-kubernetes config #163

@jhamman

Description

@jhamman

I'd like to propose dask-kubernetes deprecate the current usage of worker-template and worker-template-path from the config file. I suggest this for a few reasons:

  • Specification of the full cli executable sequence is implemented as a template in other cluster managers. Typically (e.g. dask-jobqueue, dask-yarn), keys like cores, processes, and memory are provided to the Cluster constructor.
  • It is easy to end up with templates that have misaligned specifications (i.e. a user may edit dask's memory-limit without editing the resource requirements.

Here's an example of the default dask-kubernetes setup:

worker-template-path: null
worker-template: {}
# kind: Pod
# metadata:
# labels:
# foo: bar
# baz: quux
# spec:
# restartPolicy: Never
# containers:
# - image: daskdev/dask:latest
# args:
# - dask-worker
# - --nthreads
# - '2'
# - --no-bokeh
# - --memory-limit
# - 6GB
# - --death-timeout
# - '60'
# resources:
# limits:
# cpu: "1.75"
# memory: 6G
# requests:
# cpu: "1.75"
# memory: 6G

Ideally, we can switch to something more concise:

kubernetes:
  worker:
    cores: 2
    processes: 1
    memory: 6G
    image: daskdev/dask:latest

Where the template and pod spec can be created on the fly.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions