0

我对 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)

我进入ValueError: missing port number in address '$(DASK_SCHEDULER_ADDRESS)'调度程序 pod 日志

调度程序 pod 的完整日志

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

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

我将非常感谢任何建议来实施这一点

4

1 回答 1

0

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

于 2021-04-20T20:06:57.760 回答