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

时间:2019-03-05 20:02:39

标签: kubernetes dask

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

我当前的设置如下:

  • 使用GCP的Kubernetes引擎的Kubernetes集群
  • Helm软件包管理器,用于在群集上安装Dask

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

cluster info

然后我通过执行将豆荚的数量缩放到50个

var contosoChatHubProxy = $.connection.contosoChatHub;
contosoChatHubProxy.client.addContosoChatMessageToPage = function (name, message) {
console.log(name + ' ' + message);     
};
$.connection.hub.start().done(function () {
// Wire up Send button to call NewContosoChatMessage on the server.
$('#newContosoChatMessage').click(function () {
     contosoChatHubProxy.server.newContosoChatMessage($('#displayname').val(), $('#message').val());
     $('#message').val('').focus();
  });
});

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

dask distributed client info

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

1 个答案:

答案 0 :(得分:2)

如果您未指定内核数或内存数,那么每个Dask工作人员都会尝试占用其正在运行的整个计算机。

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