使用厨师独奏,直接调用它 - 尽可能高的记录设置,这是我在尾巴中看到的:
[2015-03-24T12:21:48+11:00] INFO: Forking chef instance to converge...
[2015-03-24T12:21:48+11:00] DEBUG: Fork successful. Waiting for new chef pid: 5571
[2015-03-24T12:21:48+11:00] DEBUG: Forked instance now converging
[2015-03-24T12:21:49+11:00] INFO: *** Chef 11.8.2 ***
[2015-03-24T12:21:49+11:00] INFO: Chef-client pid: 5571
[2015-03-24T12:25:41+11:00] DEBUG: Building node object for localhost.localdomain
...
然后它继续并继续完美地工作。请注意,在最后两行之间,有一个延迟在 3到5分钟之间变化!没有解释它在做什么,netstat或top上没有明显的东西 - 我对如何解决这个问题感到茫然。
我认为这可能是代理问题,但在/etc/chef/client.rb中设置正确的代理没有改变。我是如何摆脱这种延迟的?
答案 0 :(得分:3)
Chef开始时所做的第一件事 - 无论是chef-solo
还是chef-client
,都是使用ohai
对系统进行概要分析。
chef-solo
和chef-client
之间的主要区别在于,调试日志级别将显示带有chef-client
的ohai输出,但不会显示chef-solo
。
根据系统的配置,这可能需要很长时间才能完成,因为它会运行大量的插件。特别是,如果您的Linux系统连接到Active Directory,则可能需要一段时间才能通过AD检索用户/组记录,这就是Ohai支持disabling plugins的原因。此外,如果您在Windows系统上运行Chef和Ohai,则可能需要很长时间。
要禁用插件,您需要编辑相应应用程序的配置文件。
将以下行添加到相应的配置中:
Ohai::Config[:disabled_plugins] = [:Passwd]
禁用可能使用Active Directory的用户/组查找。
另外,我从输出中看到你正在使用2013年12月3日发布的Chef 11.8.2(一年多以前的答案)。从那时起,可能会引入性能改进。
但是,如果您没有特别感谢chef-solo
,则可以尝试在本地模式下使用chef-client
。有关如何切换a blog post by Julian Dunn on Chef's site的更多信息。如果您需要进一步的帮助,我强烈建议您使用irc.freenode.net上的Chef irc频道,或chef mailing list。