我已经使用 puppet 设置了一个集群。现在我需要为 puppet master 调用 call puppet agent。为此,我打算使用 MCollective。我有另一个要求,需要从 java 客户端调用 MCollective 以实现从 master 更改客户端配置并重新启动服务器。有没有办法做到这一点?谢谢,伊拉姆
问问题
200 次
1 回答
1
我通过使用 jruby 解决了这个问题。我使用 rvm 安装了 ruby gems mcollective-client、json 和 jruby-openssl。在以下示例中,我调用了一个简单的 mco puppet runonce
Java 代码
ScriptingContainer ruby = new ScriptingContainer(LocalVariableBehavior.PERSISTENT);
Object result = ruby.runScriptlet(PathType.ABSOLUTE,"/opt/ruby_test.rb");
红宝石代码
require 'rubygems'
require 'mcollective'
include MCollective::RPC
mc = rpcclient("puppet")
printrpc mc.runonce()
mc.disconnect
于 2015-08-25T09:10:26.180 回答