目的
現在、オフィスには100を超えるシステムがあり、その数は増えると予想されます。すべてのシステムはPuppetによって管理されています。 PuppetコードがPuppetMasterで変更され、複数のシステムに実装する必要がある場合、PuppetはすべてのシステムでSudo puppet agent -t
を実行して手動で実行されます。 10を超えるシステムに変更を実装する必要がある場合があります。安全な時間を確保するために、MCollectiveを使用することをお勧めします。つまり、すべてのシステムでpuppetを実行するのではなく、すべてのシステムでpuppetを1回実行します。
試行
ActiveMQ、MCollective ServerおよびMCollective ClientがPuppetmasterにインストールされています。 mco ping
が実行されると、Puppetmasterが見つかります。 MCollective Puppet Agentをインストールし、mco rpc puppet runonce
を実行した後、PuppetはPuppetmasterで実行されます。
remotemcollective-clientに接続するためのアイデアは、activemqおよびmcollective-clientmco ping
を発行して2番目のホストを見つけるには、インストールして実行する必要があります。
/ var/log/mcollective.log
INFO -- : activemq.rb:114:in `on_connecting' TCP Connection attempt 23 to stomp://mcollective@stomp1:6163
/ etc/activemq/activemq.xml
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/>
</transportConnectors>
</broker>
/ etc/mcollective/server.cfg
connector = activemq
plugin.activemq.pool.size = 1
plugin.activemq.pool.1.Host = localhost
plugin.activemq.pool.1.port = 61613
plugin.activemq.pool.1.user = mcollective
plugin.activemq.pool.1.password = helloworld
前提条件の1つは、server.cfgで複数のホストを構成する必要があるというものでした。それを機能させようとしている間、アーキテクチャがどのように見えるべきかが不明確になりました。 One ActiveMQ、one MCollective Serverおよびmultiple MCollectiveクライアント(すべてのノードに1つ)が必要かどうか?
期待される結果
期待される結果は、mco ping
がPuppetmasterおよびリモートクライアントを検出することです。これが機能すると、MCollectiveを使用して両方のシステムでPuppetを実行できるようになります。 MCollectiveを使用してこれら2つのシステムでPuppetを実行できる場合、複数のノードが追加され、mco rpc puppet runonce
が実行されると、Puppetはこれらのシステムで実行されます。
現在の結果
mco ping
を実行してリモートクライアントを見つけることはできないため、MCollectiveを使用して両方のシステムでPuppetを実行することはできません。
One ActiveMQサーバーが必要であり、MCollectiveをすべてのノードにインストールする必要があり、plugin.activemq.pool.1.Host
スニペットにActiveMQサーバーのIPが含まれている必要があります。
[vagrant@localhost ~]$ mco ping
test time=225.70 ms
test2 time=488.51 ms
---- ping statistics ----
2 replies max: 488.51 min: 225.70 avg: 357.10
/ etc/mcollective/server.cfg
connector = activemq
plugin.activemq.pool.size = 1
plugin.activemq.pool.1.Host = IP_ACTIVEMQ_SERVER
plugin.activemq.pool.1.port = 61613
plugin.activemq.pool.1.user = mcollective
plugin.activemq.pool.1.password = helloworld
Puppetノードが見つかったら、mco rpc puppet runonce
を実行すると、すべてのシステムでPuppetが実行されます。