Dask 达斯克·库伯内特斯GKE上的零工人

Dask 达斯克·库伯内特斯GKE上的零工人,dask,dask-kubernetes,Dask,Dask Kubernetes,这里没有。我想安装一个带有工作池的Dask,该工作池可以根据当前需求增长和收缩。我按照zero to jupyterhub中的说明在GKE上安装,然后查看了dask kubernetes的安装说明: 我最初遇到了一些权限问题,因此我创建了一个具有所有权限的服务帐户,并将我的config.yaml更改为使用此服务帐户。这消除了权限问题,但现在,当我使用默认的worker-spec.yml运行此脚本时,我没有得到任何worker: cluster = KubeCluster.from_yaml('w

这里没有。我想安装一个带有工作池的Dask,该工作池可以根据当前需求增长和收缩。我按照zero to jupyterhub中的说明在GKE上安装,然后查看了dask kubernetes的安装说明:

我最初遇到了一些权限问题,因此我创建了一个具有所有权限的服务帐户,并将我的config.yaml更改为使用此服务帐户。这消除了权限问题,但现在,当我使用默认的worker-spec.yml运行此脚本时,我没有得到任何worker:

cluster = KubeCluster.from_yaml('worker-spec.yml')
cluster.scale_up(4)  # specify number of nodes explicitly

client = distributed.Client(cluster)
client
当我列出我的POD时,我看到很多工人处于待定状态:

patrick_mineault@cloudshell:~ (neuron-264716)$ kubectl get pod --namespace jhub                                                                                                                   
NAME                          READY   STATUS    RESTARTS   AGE
dask-jovyan-24034fcc-22qw7w   0/1     Pending   0          45m
dask-jovyan-24034fcc-25h89q   0/1     Pending   0          45m
dask-jovyan-24034fcc-2bpt25   0/1     Pending   0          45m
dask-jovyan-24034fcc-2dthg6   0/1     Pending   0          45m
dask-jovyan-25b11132-52rn6k   0/1     Pending   0          26m
...
当我描述每个pod时,我发现内存不足,cpu错误:

Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  69s (x22 over 30m)  default-scheduler  0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory.

我需要在GKE中手动创建一个新的自动缩放池吗?我现在只有一个池,一个运行jupyterlab的池,这个池已经完全提交。我无法确定是什么配置导致dask确定将工作线程放在哪个池中。

我确实需要创建一个灵活、可扩展的工作线程池来承载工作线程-Pangeo安装指南中有一个这样的示例:。这是相关的行:

gcloud container node-pools create worker-pool --zone=$ZONE --cluster=$CLUSTER_NAME \
    --machine-type=$WORKER_MACHINE_TYPE --preemptible --num-nodes=$MIN_WORKER_NODES

听起来您的自动缩放池中没有足够的可用资源来安排您的工作人员。默认的
worker-spec.yaml
文件要求每个worker有两个vCPU和6GB的RAM。如果在您的池中的任何计算机上都不可用,并且您的投票被放大到最大值,那么您将得到上面的错误。谢谢您-事实上,我发现没有节点可以容纳这些大的工作人员-我必须为此创建一个池。
gcloud container node-pools create worker-pool --zone=$ZONE --cluster=$CLUSTER_NAME \
    --machine-type=$WORKER_MACHINE_TYPE --preemptible --num-nodes=$MIN_WORKER_NODES