首页 > 解决方案 > chef-client 错误“JSON 必须不超过 1000000 字节”

问题描述

我有一个与之前讨论过的问题略有不同的问题。这是一个类似于JSON must be not more than 1000000 bytes的问题,但不是在上传食谱时发生,而是在我的厨师客户端运行结束时发生。运行 chef-client --log_level 调试,我可以看到 chef-client 运行收集的关于我的工作站的 JSON。而且,是的,它运行到 1016064 字节。

现在,当我之前成功运行 chef-client 时,导致我超过 1000000 字节限制的一些膨胀来自我当时拥有的一组额外的临时 NFS 挂载,但我们的大量的企业 /etc/group 文件等等。因此,我们显然已经在这个极限附近跳舞了一段时间了。

所以,假设在上面提到的问题中没有办法增加这个任意限制,有没有办法限制厨师客户端运行试图向服务器报告的信息?

标签: chef-infra

解决方案


--minimal-ohai 的建议绝对是一种选择。不幸的是,我实际上使用了一些 ohai 的东西,所以对于我的目的来说这有点太大了。

我在这里找到了答案https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/1027。有一种方法可以增加允许的数据有效负载大小。修复方法是将以下行添加到 /etc/opscode/chef-server.rb 文件中:

opscode_erchef['max_request_size'] = "4000000"
opscode_solr4['max_field_length'] = "300000"

您的尺寸需求可能会有所不同。


推荐阅读