我正在使用工作站的knife bootstrap
来配置使用cookbook的节点。
在节点中,默认情况下client.rb
创建/etc/chef/
文件。
如果我手动运行chef-client,我可以使用--config
选项从不同位置加载client.rb
。
当我使用client.rb
引导节点时,我想将knife bootstrap
保存在不同的位置。可能吗?如果有,怎么样?
帮助我。
谢谢,
Thomas Alrin。
答案 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)?