使用Helm设置dask集群时,config.yaml文件中有一组变量用于自定义工作程序的数量,我希望在术语方面有所帮助。例如,如果我设置一个具有16个虚拟机,8个核心/计算机和32GB /虚拟机的Kubernetes集群,那么最终我将拥有128个vCPU和512GB内存。如果我通过“ helm ... update -f config.yaml”
worker:
name: worker
allowed-failures: 2
replicas: 48
resources:
limits:
cpu: 2
memory: 8G
requests:
cpu: 2
memory: 8G
似乎我应该能够创建64个工作组,每个工作组具有2个cpus,并使用我所有的512 GB RAM。 (减去专用于调度程序的资源)。但是,实际上,分布式客户端最多可以容纳40个工作人员,80个内核和320 GB的总RAM。
是否有关于设置Pod以最大程度利用群集的最佳实践?我从这个post中知道,就每个工作人员的线程和进程的使用而言,工作负载是第一位的,但是工作人员的数量==内核的数量==容器的数量?如果是这样,上面的.yaml文件中cpu关键字的作用是什么?
答案 0 :(得分:0)
我的第一个猜测是,其他事情正在您的节点上运行,因此Kubernetes很难满足您的要求。例如,Kubernetes本身会占用一些内存。