Kubernetes 为什么Dask客户机说我的集群的内核和内存比实际可用的总内核和内存多?

Kubernetes 为什么Dask客户机说我的集群的内核和内存比实际可用的总内核和内存多?,kubernetes,dask,Kubernetes,Dask,我试图了解Kubernetes吊舱与使用Dask时集群节点的核心和内存之间的关系 我当前的设置如下: 使用GCP的Kubernetes引擎的Kubernetes群集 Helm package manager在群集上安装Dask 每个节点有8个内核和30 gb的ram。我的群集中有5个节点: 然后我通过执行 kubectl scale --replicas 50 deployment/nuanced-armadillo-dask-worker 当我使用Dask.distributed在Da

我试图了解Kubernetes吊舱与使用Dask时集群节点的核心和内存之间的关系

我当前的设置如下:

  • 使用GCP的Kubernetes引擎的Kubernetes群集
  • Helm package manager在群集上安装Dask
每个节点有8个内核和30 gb的ram。我的群集中有5个节点:

然后我通过执行

kubectl scale --replicas 50 deployment/nuanced-armadillo-dask-worker
当我使用
Dask.distributed
在Dask中初始化客户机时,我看到了以下内容


让我困惑的是,客户端说我的集群中有400个内核和1.58 tb的内存(见屏幕截图)。我怀疑默认情况下每个pod分配了8个内核和30 gb内存,但是考虑到每个节点中实际的内核和内存数量的限制,这怎么可能呢?

如果您没有指定内核或内存的数量,那么每个Dask工作进程都会尝试占用运行它的整个机器


对于helm包,您可以通过向worker-pod规范添加资源限制来指定每个worker的内核数和内存量。这些都列在图表的配置选项中。

上面的评论被错误地发布了。道歉鉴于每个节点中可用的资源,您能否提供一些关于分配给工人(POD?)的适当资源量的指南(或参考指南)?例如,对于大多数数据预处理问题,是否有一个规则(例如每个工作线程1个内核或每个工作线程X个内存量)是可以接受的?这是一个很好的问题。它最终取决于你的工作量。如果这个问题包含在文档中,我不会感到惊讶,但我手头上没有任何指针。