我正在编写一个python应用程序来管理一组linux机器,我正在寻找一种向所有主机发送命令的有效方法。
该应用程序的一般架构是:
我开始在本地节点上使用简单的python脚本编写应用程序,然后从SSH调用它(因此使用shell命令调度命令)但我正在寻找更高效的本机解决方案。
如果我可以远程执行python代码而不使用SSH并传递(pickle)python对象,那将是很棒的。
考虑它应该能够通过网络与数百个主机通信并支持SSL / TLS。
作为参考考虑VmWare vCenter架构,因为我的目标是创建非常相似的东西,那么您将使用什么样的方法/技术?
答案 0 :(得分:0)
像@malangi一样,我也会建议Salt。如果你真的想要推出自己的解决方案而不是重用Salt,你可以使用ZeroMQ作为comms后端(这就是Salt所做的)。 ZeroMQ非常快,并且隐藏了一个非常简单但功能强大的套接字API背后的所有网络通信。
看起来ZeroMQ还没有进行SSL / TLS连接:请参阅此SO question。但请查看ZeroMQ wiki上的此页面了解替代方案。