我有以下简单的配方:
bash "start mongos" do
code <<-EOH
mongos --configdb cfg0.example.net:27019,cfg1.example.net:27019,cfg2.example.net:27019 --fork --logpath /var/log/mongodb.log
EOH
end
cfg0 / 1 / 2.example.net需要从我的厨师服务器中动态获取。应将它们分别替换为名为cfg1,cfg2和cfg3的节点的IP。
我怎样才能做到这一点?
您将需要使用厨师搜索。我不知道您的确切查询将是什么,但这是一个示例:
mongos = search(:node, 'role:mongo')
mongo_addresses = mongos.map { |mongo| "#{mongo['fqdn']}:#{mongo['mongo']['port']}" }
bash "start mongos" do
code "mongos --configdb #{mongo_addresses.join(',')} --fork --logpath /var/log/mongodb.log"
end
注意:这是出于演示目的。如果没有有关mongo Cookbook的结构和Chef Server安装程序的更多信息,我将无法为您提供“复制粘贴”代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句