在使用Dask时,我试图了解Kubernetes pods与我的集群节点的核心和内存之间的关系。
我目前的设置如下:
每个节点有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 内存,但考虑到每个节点中实际内核和内存数量的限制,这怎么可能?
如果不指定内核或内存的数量,那么每个Dask worker都会试图占用运行它的整个机器。
对于 helm 包,您可以通过向工作线程 Pod 规范添加资源限制来指定每个工作线程的核心数和内存量。这些列在图表的配置选项中。