无法通过 dask 扩展集群

时间:2021-04-17 11:11:31

标签: python kubernetes dask dask-kubernetes

我对 kubernetes 和 dask 非常陌生,正在尝试实现一些 kube 集群,并且已经创建了带有一些服务的 minikube 集群,并希望通过灵活的 dask 功能对其进行扩展。

我打算稍后以某种方式将它部署到 gcloud,所以我试图从带有 RBAC 和 python 脚本的 pod 初始化 dask 集群(调度程序和工作人员到我的 minikube 集群),但我的尝试没有成功。

我在 KubeCluster 中尝试了本地和远程 deploy_mode 只是为了找到一些可行的解决方案,但我想它必须是远程的。

运行这个python脚本后

pod_spec = make_pod_spec(image='daskdev/dask:latest',
                         memory_limit='2G', memory_request='2G',
                         cpu_limit=1, cpu_request=1, threads_per_worker=1,
                         env={'EXTRA_PIP_PACKAGES': 'git+https://github.com/dask/distributed'})

scheduler = make_pod_spec(image='daskdev/dask:latest',
                          memory_limit='1G', memory_request='1G',
                          cpu_limit=1, cpu_request=1, threads_per_worker=1,
                          env={'EXTRA_PIP_PACKAGES': 'git+https://github.com/dask/distributed'},
                          )

cluster = KubeCluster(scheduler_pod_template=scheduler, pod_template=pod_spec, n_workers=2,
                      auth=auth.InCluster())

cluster.adapt(minimum=1, maximum=4)

我在调度程序 pod 日志中得到 ValueError: missing port number in address '$(DASK_SCHEDULER_ADDRESS)'

Full logs of a scheduler pod

我是否错过了在 pod 规范中设置一些环境变量?不是必须自动设置吗?

如果有帮助,当我将部署模式设置为本地时,客户端构造函数会引发错误,表示未设置调度程序端口或类似的内容。我尝试手动设置它,但它不断引发此错误。

我将非常感谢您提供任何实施此建议的建议

1 个答案:

答案 0 :(得分:0)

我发现不可能使用 make_pod_spec 作为 scheduler_pod_template。对于那些想要该功能的人,我已经打开了 pull request

相关问题