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