我正在尝试在 Kubernetes/Azure 上部署一个 dask 应用程序。我有一个 Flask 应用程序服务器,它是 Dask 调度程序/工作程序的客户端。
我按照here的描述安装了Dask操作员:
helm install --repo https://helm.dask.org --create-namespace -n dask-operator --generate-name dask-kubernetes-operator
这创建了调度器和 worker pod,我让它们在 Kubernetes 上运行没有错误。
对于 Flask 应用程序,我有一个带有以下 Dockerfile 的 Docker 映像:
FROM daskdev/dask
RUN apt-get -y install python3-pip
RUN pip3 install flask
RUN pip3 install gunicorn
RUN pip3 install "dask[complete]"
RUN pip3 install "dask[distributed]" --upgrade
RUN pip3 install "dask-ml[complete]"
每当我尝试使用
Client
接口在 worker 中运行一个函数时,我会在调度程序 pod 中收到此错误:
TypeError: update_graph() got an unexpected keyword argument 'graph_header'
在我看来,用于运行 Flask 的 Dask 镜像和我安装的 Dask Kubernetes 不兼容或对齐。
如何为可以与 Dask Kubernetes 包集成的 Flask 服务器创建包含 Dask 的镜像?