'knife bootstrap'在不同的位置创建client.rb

时间:2018-05-17 10:08:34

标签: chef config knife

我正在使用工作站的knife bootstrap来配置使用cookbook的节点。 在节点中,默认情况下client.rb创建/etc/chef/文件。

如果我手动运行chef-client,我可以使用--config选项从不同位置加载client.rb

当我使用client.rb引导节点时,我想将knife bootstrap保存在不同的位置。可能吗?如果有,怎么样?

帮助我。

谢谢,

Thomas Alrin。

3 个答案:

答案 0 :(得分:0)

您需要制作自定义引导程序模板,因为此处路径是硬编码的:https://github.com/chef/chef/blob/master/lib/chef/knife/bootstrap/templates/chef-full.erb#L227

答案 1 :(得分:0)

实际上我在查找默认模板文件时遇到了问题,因为我正在使用Windows机器。

然后我在C:\opscode\chefdk\embedded\lib\ruby\gems\2.4.0\gems\chef-13.8.5-universal-mingw32\lib\chef\knife\bootstrap\templates\chef-full.erb找到了它。我将其复制并粘贴到chef-repo/bootstrap/chef-full.erb中,我只是将主厨文件夹/etc/chef/的默认位置更改为/to/my/path

然后我使用以下命令来引导节点 knife bootstrap NODE_IP -r 'recipe[COOKBOOK]' --bootstrap-template .\bootstrap\chef-full.erb

现在工作正常。

感谢大家的帮助: - )

答案 2 :(得分:0)

现在When refreshRequired Refresh Data A Refresh Data B Refresh Data C Stop Otherwise Stop 文件写在不同的位置(path / to / dir)。但是chef-client没有使用此位置的配置文件(client.rb)(path / to / dir)。它仍在从旧位置(/etc/chef/client.rb)

加载配置

如何配置chef-client从新位置加载配置文件(/path/to/dir/client.rb)?