【问题标题】:Dask Gateway - Dask Workers Dying Due to PermissionErrorDask Gateway - Dask 工作人员因 PermissionError 而死
【发布时间】:2020-11-26 22:43:30
【问题描述】:

我正在尝试在 Google Kubernetes Engine 上部署 Dask Gateway。部署没有问题。但是,我在使用继承自 dockerhub 的默认 docker 映像的自定义 dask-gateway dockerfile 时遇到问题;然后将容器提交到 Google Container Registry (GCR)。它似乎导致以下 PermissionError。

PermissionError: [Errno 13] Permission denied: '/home/dask/dask-worker-space

(完整的堆栈跟踪请参见下面的屏幕截图)

有趣的是,当 dask 工作人员直接从 dockerhub 而不是 GCR 使用 docker 映像时,黑暗工作人员启动时没有任何问题。我需要使用自定义的 dockerfile 来为黑暗工作者添加更多的 python 包,但除此之外,没有其他配置更改。就好像将 docker 容器发送到 GCR 对权限做了一些奇怪的事情。

这是错误的完整堆栈跟踪:

这是我用于 dask 工作人员的 dockerfile:

FROM daskgateway/dask-gateway:0.9.0

RUN pip --no-cache-dir install --upgrade cloudpickle dask-ml scikit-learn \
nltk gensim spacy keras asyncio google-cloud-storage SQLAlchemy snowflake-sqlalchemy google-api-core gcsfs pyarrow mlflow \
tensorflow prefect hvac aiofile google-cloud-logging

任何帮助将不胜感激,因为我不知道如何调试。

【问题讨论】:

    标签: python google-cloud-platform dask dask-distributed dask-gateway


    【解决方案1】:

    当您使用 GKE 集群时,请确保您为集群设置的服务帐号在 Container Registry 上具有正确的权限。

    您正在创建一个映像,并将其提交到 Container Registry,因此您需要那里的写入权限。如果您使用的是默认服务帐户或自定义服务帐户,则该过程会有所不同。

    1. 如果您使用默认服务帐户,则至少需要存储读取器和写入器范围才能执行此操作。 (默认情况下,GKE 集群仅在读取器范围内创建)。
    • 如果您有一个正在运行的集群,则需要更改每个节点池的范围

        gcloud container node-pools create [new pool name] \
        --cluster [cluster name] \
        --machine-type [your desired machine type] \
        --num-nodes [the same amount of nodes you have] \
        --scopes [your new set of scopes]
      

      (所有可能的选项都可以在命令gcloud container node-pools create --help中找到)

      完成后,需要清空节点kubectl drain [node],并删除旧的节点池

        gcloud container node-pools delete [POOL_NAME] \
        --cluster [CLUSTER_NAME]
      
    • 如果您没有集群,您可以在创建集群时在控制台上编辑范围,或者,如果您将使用 gcloud 创建它,则使用您想要的范围 (full list)

    1. 如果您使用的是自定义服务帐户,请确保已授予其角色“roles/storage.admin”。 (source)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      相关资源
      最近更新 更多