提问者:小点点

为什么Dask客户端会说我的集群拥有比实际可用总量更多的内核和内存?


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

我目前的设置如下:

  • 使用 GCP 的 Kubernetes Engine 的 Kubernetes 集群
  • 用于在集群上安装 Dask 的 Helm 包管理器

每个节点有8个内核和30 gb的ram。我的集群中有5个节点:

然后我通过执行将pod的数量扩展到50

kubectl scale --replicas 50 deployment/nuanced-armadillo-dask-worker

当我使用 dask.distributed 在 Dask 中初始化客户端时,我看到以下内容

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


共1个答案

匿名用户

如果不指定内核或内存的数量,那么每个Dask worker都会试图占用运行它的整个机器。

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