Chef infra 如何使用ruby或shell脚本在chef中引导多个节点

Chef infra 如何使用ruby或shell脚本在chef中引导多个节点,chef-infra,Chef Infra,在我的环境中,我拥有100多个系统。我想使用ruby或shell脚本在chef中引导多个节点 File.readlines('hosts').each do |line| <pre><strong> knife bootstrap line -x ec2-user -i ~/Downloads/ram123456.pem -N node-#{line} -r 'recipe[day2]' --sudo end</strong></pre> Fi

在我的环境中,我拥有100多个系统。我想使用ruby或shell脚本在chef中引导多个节点

File.readlines('hosts').each do |line|
<pre><strong>
knife bootstrap line -x ec2-user -i ~/Downloads/ram123456.pem -N node-#{line} -r 'recipe[day2]' --sudo

end</strong></pre>
File.readlines('hosts')。每个do |行|

刀引导行-x ec2 user-i~/Downloads/ram123456.pem-N node-#{line}-r'recipe[day2]--sudo
结束

确保它能正常工作。您可能需要一些更健壮的错误处理等等,但这取决于您
knife bootstrap
是一个相对简单的工具,如果您需要非常高的规模或其他特殊的东西,您可能希望查看其他项目,例如用于处理系统引导的Cobbler或Razor,或者查看Fog的机器引导API。

不,您必须自己在Bash.shell脚本中编写for循环,如果可能的话,给出如何传递主机名和节点名的概要。你只是在问如何在bash中编写循环吗?#/bin/bash file=“hosts”OLDIFS=$IFS而IFS=:read-r f1 f2 f3 f4 f5刀引导$f1-x$f2-P$f3-N$f4-r“配方[$f5]”——sudo done