我希望引导一些节点并将其部署到它们,但是我想避免厨师服务器的开销。 我可以考虑哪些选择? 我有一个相对静态的环境,但是需要经常对远程节点进行一些更改。 我想为主机上的所有节点启动一个配方。
如果您不打算使用厨师服务器,则可以从工作站使用刀单。 它具有从初始化chef-repo开始的所有命令,以在目标节点上收敛。
knife solo init chef-repo
然后,您可以在chef-repo的nodes子目录中创建node.json
文件,其中将包含您的运行列表。
然后,您可以从中央工作站通过小刀引导引导特定的节点,即
knife solo bootstrap [email protected] nodes/node.json
它将安装chef-solo,然后将运行列表聚合到目标节点上。
如果您只想收敛,可以通过以下方法完成:
knife solo cook [email protected]
有关更多参考,请参考:
如果要针对来自一个来源的节点列表运行配方,则可能需要使用编排工具来帮助运行/审核这些操作。
我可以亲自担保矮人 。 您需要花些力气才能使Rundeck能够进入每个节点,但是一旦完成设置,创建运行Chef-solo / chef-您想要的那些节点的任何子集上为零。
如果您的目标是仅在远程节点上运行配方(即在一组节点上运行任意命令),那么Chef可能不是您特定用例的正确工具。 Chef被设计为作为幂等配置管理系统运行,并且通过在节点上运行任意配方,您将与该范例冲突。 如果您不想配置Chef服务器并遵循这种做法,建议您使用Rundeck之类的工具在服务器上运行任意命令。也可以使用WinRM在服务器上运行任意Powershell和批处理命令。