我一直在使用Chef来管理我们的服务器。
我的角色/ app.rb如下所示:
name "app"
description "App server"
run_list [
"recipe[apt]",
...,
...,
"recipe[nginx]"
...,
...,
]
现在我想从机器上删除nginx包。 如果我在run_list中删除nginx recipie,它会从节点中删除nginx吗?如果没有,请告诉我在节点上进行变更管理的最佳策略是什么。
答案 0 :(得分:9)
如果从run_list中删除nginx,则特定配方将无法运行。它实际上不会从节点中删除nginx,因为它不知道如何操作。我昨天实际上在考虑这个问题。
你可以编写自己的配方,取消配方[nginx]也许食谱[remove_nginx]或类似的东西。然后,您可以删除配方[remove_nginx]。
其他人也认为这是做一些至少有点让人放心的事情的好方法:
http://community.opscode.com/questions/6
显然你可以从ruby_block中的run_list中删除一个配方,这样就可以省去使用刀子在运行后自行删除它的麻烦: