![如何使用 Knife solo 来更新 Chef?](https://linux22.com/image/801561/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Knife%20solo%20%E6%9D%A5%E6%9B%B4%E6%96%B0%20Chef%EF%BC%9F.png)
我knife solo bootstrap [myserverssh]
首先在服务器上安装了配方。一切都安装正确。
然后我修改了食谱。我运行knife solo cook [myserverssh]
更新我的服务器。但是 Chef 似乎没有找到更改/更新服务器。输出是:
Checking Chef version...
Starting Chef Client, version 11.4.4
Compiling Cookbooks...
Converging 0 resources
Chef Client finished, 0 resources updated
我需要做些什么来让厨师知道发生了什么变化以及需要在服务器上更新什么?
我所做的更改是将以下内容添加到 site-cookbooks/nginx/recipes/main_conf.rb:
# Make Secure Site
template "#{node['nginx']['dir']}/sites-available/default-secure" do
source "cakephp-secure-site.erb"
owner "root"
group "root"
mode 00644
notifies :reload, 'service[nginx]'
end
# Enable Secure Site
nginx_site 'default-secure' do
enable true
end
附注:我也在使用图书管理员。不确定是否有区别。我试过运行,librarian-chef clean
但没有帮助。
答案1
啊哈!明白了。
第一次我这么做了knife solo bootstrap [ec2's public address]
。第二次我也这么做了knife solo cook [ip address of my server]
。
第二次它创建了一个新的节点文件(在 nodes/ 文件夹中)。该文件是空的,没有为主机分配任何配方/角色。
我将第一个节点文件的内容复制到第二个节点文件中。