Назад | Перейти на главную страницу

Использование MCollective для запуска Puppet

Мне нужно администрировать большой кластер серверов в облаке, и теперь я хочу автоматизировать процесс установки этих машин. Поэтому я использую марионетку как систему управления конфигурацией.

Я хочу очень быстро передать конфигурации с главного узла на узлы кластера и слышал, что MCollective может это сделать. Но я не знаю, как должно быть взаимодействие и настройка между MCollective, RabbitMQ и Puppet.

Есть ли в Интернете хорошее руководство по этому поводу или кто-нибудь может дать мне краткое введение по этому поводу?

Это было бы здорово!

Спасибо, Маркус

Самая простая интеграция между puppet и mcollective - с Puppetd Agent и, необязательно, с командиром марионеток -

http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/AgentPuppetd

http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/ToolPuppetcommander

Не используйте rabbitmq, особенно если у вас большой масштаб. ActiveMQ - это лучшая поддерживаемая и документированная система очередей для использования с mcollective.

Для начала загляните в RI Pienaar's страница скринкастов - документация довольно хороша, но скринкасты помогут вам разобраться в концепциях намного быстрее. Я особенно рекомендую Поток сообщений, компоненты и промежуточное ПО скринкаст.

Мой совет - сначала начать изучать Puppet, а потом беспокоиться о реализации MCollective. Пока у вас не будет достаточно полной настройки среды Puppet, mcollective действительно не лучше, чем cssh. http://sourceforge.net/projects/clusterssh/

Когда у вас есть Puppet, и вы внедрили пользовательские факты и классификацию, MCollective действительно будет полезен.

Итак, начните с простого, с Puppet.

Я недавно настроил puppet + mcollective + rabbitmq. У Stack Exchange есть и другие ответы, сравнивающие RabbitMQ и ActiveMQ. Google предлагает множество анекдотов, свидетельствующих о том, что RabbitMQ хорошо масштабируется. Я предпочел его, потому что я мог apt-get установить пакеты Ubuntu с сайта rabbitmq и быстро начать работу, и, похоже, до сих пор он работает нормально.

Некоторые предложения:

. Установите пакеты puppet и mcollective из puppetlabs и настройте параметры apt для закрепления в их репозитории. . Установите пакеты rabbitmq из репозитория rabbitmq apt, аналогично закрепленным.

В Ubuntu Lucid с установленным rabbitmq вы настраиваете файл конфигурации:

/etc/rabbitmq/rabbitmq.config:

 [
   {
    rabbitmq_stomp, [{tcp_listeners, [{"127.0.0.1", 6163}]},
                     {default_user, [{login, "guest"},{passcode, "guest"}]}
                    ]
   }
 ].

Затем для mcollective у вас есть /etc/mcollective/{server,client}.cfg, в котором указываются хост, порт и учетные данные для разговора с кроликом:

... snip ...
connector = stomp
plugin.stomp.host = rabbitmq.yourdomain
plugin.stomp.port = 6163
plugin.stomp.user = guest
plugin.stomp.password = guest

Тогда вы сможете увидеть их взаимодействие:

mco ping
mc-find-hosts

Mcollective не так уж и много, вам нужно добавить плагины:

http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/InstallingPlugins

в том числе для взаимодействия с марионеткой, службами, процессами и т. д.