我有一个 Vagrant (1.7.2),其中设置了 2 个虚拟机。我想使用 chef(现在最新版本是 12?)来配置它们。我试图让其中一个成为 nagios 服务器,另一个成为使用 nagios 监控的机器。
使用时内置 chef-zero vagrant provisioner,每个节点都可以配置得很好。但是社区 nagios 手册搜索要监控的节点。由于每个 vagrant vm 都会获得一个新的本地 chef-zero,因此它不知道其他主机,因此它不是对“chef-powered nagios”的真正测试。
这篇博文(使用 Vagrant 和 chef-zero 的多节点拓扑) 似乎涵盖了我想要做的事情,并建议我在本地机器上运行 chef-zero 服务器,并将其设置为chef_server_url
Vagrantfile 中的。
但是当我这样做时,我从 chef_client 配置程序收到一个错误:
==> nagiosserver: [2015-01-23T15:59:09+00:00] INFO: *** Chef 12.0.3 ***
==> nagiosserver: [2015-01-23T15:59:09+00:00] INFO: Chef-client pid: 6916
==> nagiosserver: [2015-01-23T15:59:12+00:00] INFO: Setting the run_list to ["role[rorytestvm1]"] from CLI options
==> nagiosserver: [2015-01-23T15:59:12+00:00] INFO: HTTP Request Returned 404 Not Found : Object not found: http://192.168.33.1:8889/roles/rorytestvm1
解决方案是什么?
(有一个vagrant chef-zero 插件但它已经有 8 个月没有更新了,我和其他人一样,也遇到了 bug)
答案1
我已经解决了这个问题。问题是我启动chef-zero
后就把它留在那里了。我没有用 上传任何 cookbooks/nodes/etc 到它knife
。这是一个空服务器。我以为 chef-zero 会使用当前目录中的 nodes/cookbooks/etc,但事实并非如此。
我创建了一个新knife.rb
文件,其中以 localhost 作为服务器 URL,并且执行了操作,knife upload . -c /path/to/new/knife.rb
它运行良好。