Мне нужно администрировать большой кластер серверов в облаке, и теперь я хочу автоматизировать процесс установки этих машин. Поэтому я использую марионетку как систему управления конфигурацией.
Я хочу очень быстро передать конфигурации с главного узла на узлы кластера и слышал, что 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
в том числе для взаимодействия с марионеткой, службами, процессами и т. д.