引导节点并在没有厨师服务器的情况下部署

时间:2017-05-17 17:43:59

标签: chef configuration-management

我希望引导一些节点并部署到它们,但我希望避免使用厨师服务器的开销。我可以研究哪些选项?我有一个相对静态的环境,但需要经常将一些更改推送到远程节点。我想从主机启动所有节点的配方。

3 个答案:

答案 0 :(得分:0)

如果您不打算使用厨师服务器,您可以使用工作站的独奏。它具有从初始化chef-repo到汇聚到目标节点的所有命令。

knife solo init chef-repo

然后,您可以在chef-repo的nodes子目录中创建node.json文件,该目录将包含您的运行列表。

然后,您通过中央工作站的独奏来引导特定节点,即

knife solo bootstrap ubuntu@172.0.0.1 nodes/node.json

它将安装chef-solo,然后将运行列表汇聚到目标节点上。

如果您只想收敛,可以通过以下方式完成:

knife solo cook ubuntu@172.0.0.1

如需更多参考,请参阅:

https://matschaffer.github.io/knife-solo/

http://markjberger.com/an-introduction-to-chef-solo/

答案 1 :(得分:0)

如果您想针对来自一个来源的节点列表运行配方,您可能需要使用业务流程工具来协助运行/审核这些操作。

我个人可以保证rundeck。您需要做一些小工作才能让rundeck能够进入每个节点,但是一旦你设置了它,创建一个运行的rundeck作业并不困难在你想要的那些节点的任何子集上,chef-solo / chef-zero。

答案 2 :(得分:0)

如果您的目标是仅在远程节点上运行配方(即在一组节点上运行任意命令),那么chef可能不是您特定用例的正确工具。 Chef旨在作为幂等配置管理系统运行,通过在节点上运行任意配方,您将与此范例相冲突。如果您不打算配置Chef服务器并遵循这种做法,我建议您查看Rundeck等工具以在服务器上运行任意命令。您还可以使用WinRM运行任意Powershell和批处理服务器上的命令。