Как выполнить Марионетку на нескольких узлах сразу с помощью MCollective?

Нацелиться

В данный момент существует больше чем 100 систем в офисе, и ожидание состоит в том, что число увеличится. Всеми системами управляет Марионетка. Если Марионеточный код изменяется на Марионеточном Ведущем устройстве и должен быть реализован в нескольких системах, Марионетка выполняется вручную путем выполнения sudo puppet agent -t в каждой системе. Иногда изменение должно быть реализовано больше чем в 10 системах. Чтобы к безопасному времени идея состоит в том, чтобы использовать MCollective, т.е. выполнять марионетку одно время во всех системах вместо рабочей марионетки в каждой системе.


Попытка

ActiveMQ, Сервер MCollective и Клиент MCollective были установлены на Puppetmaster. Однажды mco ping выполняется Puppetmaster может быть найден. После установки Агента Марионетки MCollective и выполнения mco rpc puppet runonce Марионетка выполняется на Puppetmaster.

Для соединения удаленного mcollective-клиента, идея состояла в том, что activemq и mcollective-клиент должны быть установлены и выполнены для нахождения второго хоста путем издания mco ping.

/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

Одно из предположений было то, что несколько хостов должны быть настроены в server.cfg. При попытке заставить его работать стало неясно, как архитектура должна быть похожей. Один ActiveMQ, один Сервер MCollective и несколько Клиентов MCollective (один на каждом узле) требуются или нет?


Ожидаемый результат

Ожидаемый результат - это mco ping находит Puppetmaster и удаленный клиент. После того как это работает, было бы возможно выполнить Марионетку в обеих системах с помощью MCollective. Когда будет возможно выполнить Марионетку в этих двух системах с помощью MCollective, несколько узлов будут добавлены, и Марионетка будет работать на этих системах однажды mco rpc puppet runonce был выполнен.


Текущий результат

Поскольку не возможно найти удаленный клиент путем выполнения mco ping не возможно выполнить Марионетку в обеих системах с помощью MCollective.

6
задан 21 December 2014 в 23:50
1 ответ

Требуется один сервер ActiveMQ, MCollective должен быть установлен на каждом узле, а фрагмент plugin.activemq.pool.1.host должен содержать IP сервера ActiveMQ.

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
ответ дан 3 December 2019 в 00:32

Теги

Похожие вопросы