web-dev-qa-db-ja.com

MCollectiveを使用して複数のノードでPuppetを一度に実行するにはどうすればよいですか?

目的

現在、オフィスには100を超えるシステムがあり、その数は増えると予想されます。すべてのシステムはPuppetによって管理されています。 PuppetコードがPuppetMasterで変更され、複数のシステムに実装する必要がある場合、PuppetはすべてのシステムでSudo puppet agent -tを実行して手動で実行されます。 10を超えるシステムに変更を実装する必要がある場合があります。安全な時間を確保するために、MCollectiveを使用することをお勧めします。つまり、すべてのシステムでpuppetを実行するのではなく、すべてのシステムでpuppetを1回実行します。


試行

ActiveMQMCollective ServerおよびMCollective ClientPuppetmasterにインストールされています。 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 pingPuppetmasterおよびリモートクライアントを検出することです。これが機能すると、MCollectiveを使用して両方のシステムでPuppetを実行できるようになります。 MCollectiveを使用してこれら2つのシステムでPuppetを実行できる場合、複数のノードが追加され、mco rpc puppet runonceが実行されると、Puppetはこれらのシステムで実行されます。


現在の結果

mco pingを実行してリモートクライアントを見つけることはできないため、MCollectiveを使用して両方のシステムでPuppetを実行することはできません。

6
030

One ActiveMQサーバーが必要であり、MCollectiveをすべてのノードにインストールする必要があり、plugin.activemq.pool.1.HostスニペットにActiveMQサーバーのIPが含まれている必要があります。

enter image description here

[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が実行されます。

5
030