Puppet
嘗試使用 MCollective 執行 Puppet 時如何解決“未發送請求,我們沒有發現任何節點”?
M集體
[vagrant@localhost ~]$ mco ping localhost.localdomain time=117.12 ms ---- ping statistics ---- 1 replies max: 117.12 min: 117.12 avg: 117.12 [vagrant@localhost ~]$ mco inventory localhost.localdomain Inventory for localhost.localdomain: Server Statistics: Version: 2.6.1 Start Time: Sat Nov 22 23:59:59 +0000 2014 Config File: /etc/mcollective/server.cfg Collectives: mcollective Main Collective: mcollective Process ID: 3364 Total Messages: 3 Messages Passed Filters: 3 Messages Filtered: 0 Expired Messages: 0 Replies Sent: 2 Total Processor Time: 1.23 seconds System Time: 0.39 seconds Agents: discovery rpcutil Data Plugins: agent fact fstat Configuration Management Classes: No classes applied Facts: mcollective => 1
Puppet 和 MCollective
一旦服務重新啟動,MCollective 就會添加一個puppet.dll並被 MCollective 辨識。
/usr/libexec/mcollective/mcollective/agent
[vagrant@localhost ~]$ mco plugin doc Please specify a plugin. Available plugins are: Agents: puppet Run Puppet agent, get its status, and enable/disable it rpcutil General helpful actions that expose stats and internals to SimpleRPC clients Aggregate:
問題
雖然可以辨識主機,但無法使用 MCollective 在主機上執行 Puppet。
[vagrant@localhost ~]$ mco rpc puppet runonce Discovering hosts using the mc method for 2 second(s) .... 0 No request sent, we did not discover any nodes. [vagrant@localhost ~]$ mco ping localhost.localdomain time=106.18 ms ---- ping statistics ---- 1 replies max: 106.18 min: 106.18 avg: 106.18
更新
如果 Puppet Agent 正在執行,問題仍然存在。
[root@localhost vagrant]# mco ping localhost.localdomain time=257.15 ms ---- ping statistics ---- 1 replies max: 257.15 min: 257.15 avg: 257.15 [root@localhost vagrant]# mco rpc puppet runonce Discovering hosts using the mc method for 2 second(s) .... 0 No request sent, we did not discover any nodes. [root@localhost vagrant]# ps -ef | grep puppet root 2578 1 0 11:03 ? 00:00:03 /usr/bin/ruby /usr/bin/puppet agent root 3129 2783 0 11:12 pts/0 00:00:00 grep puppet [root@localhost vagrant]# sudo service puppet stop Stopping puppet agent: [ OK ] [root@localhost vagrant]# ps -ef | grep puppet root 3145 2783 0 11:13 pts/0 00:00:00 grep puppet [root@localhost vagrant]#
目前正在嘗試通過閱讀本指南來解決問題。
客戶端似乎無法辨識 Puppet 外掛。
[root@localhost mcollective]# mco inventory localhost.localdomain Inventory for localhost.localdomain: Server Statistics: Version: 2.6.1 Start Time: Sun Nov 23 12:15:07 +0000 2014 Config File: /etc/mcollective/server.cfg Collectives: mcollective Main Collective: mcollective Process ID: 5110 Total Messages: 5 Messages Passed Filters: 3 Messages Filtered: 2 Expired Messages: 0 Replies Sent: 2 Total Processor Time: 11.05 seconds System Time: 4.09 seconds Agents: discovery rpcutil Data Plugins: agent fact fstat Configuration Management Classes: No classes applied Facts: mcollective => 1
該問題是由於未正確安裝 Puppet 外掛引起的。
The plugin has been superseded by a new Puppet agent: https://github.com/puppetlabs/mcollective-puppet-agent and is available as packages from apt.puppetlabs.com and yum.puppetlabs.com as mcollective-puppet-agent This version will stay up here till a new Puppet Commander has been written and then it will be removed.
sudo yum -y install mcollective-puppet-agent
並重新啟動服務解決了這個問題。[vagrant@localhost ~]$ mco rpc puppet runonce Discovering hosts using the mc method for 2 second(s) .... 1 * [ ===========================================================> ] 1 / 1 Finished processing 1 / 1 hosts in 747.09 ms