首页 > 解决方案 > 为什么 Dask 客户端说我的集群具有比实际可用总数更多的内核和内存?

问题描述

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

我目前的设置如下:

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

集群信息

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

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

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

dask分布式客户端信息

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

标签: kubernetesdask

解决方案


如果您不指定内核或内存的数量,那么每个 Dask 工作人员都会尝试占用它正在运行的整台机器。

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


推荐阅读