在foreman-proxy的1.6.3版本,至少提供了以下五种触发puppet agent命令的工具,默认使用的是puppetrun,不过已经过时,这里介绍如何使用mcollective进行触发,下个章节会介绍如何使用puppetssh触发。

#   puppetrun   (for puppetrun/kick, deprecated in Puppet 3)
#   mcollective (uses mco puppet)
#   puppetssh   (run puppet over ssh)
#   salt        (uses salt puppet.run)
#   customrun   (calls a custom command with args)

在整个测试之前,首先要保障你的mco+mq在命令行操作的情况下是OK的。如果没有OK或者不懂什么是mco+mq,请参考之前的文章。

如何是OK的?如下:

[root@puppetmaster162 yum.repos.d]# mco puppet -v runonce
Discovering hosts using the mc method for 2 second(s) .... 1* [ ============================================================> ] 1 / 1
puppetmaster162.kisspuppet.com          : OK{:summary=>      "Started a Puppet run using the 'puppet agent --test --color=false --splay --splaylimit 30' command"}
---- rpc stats ----Nodes: 1 / 1Pass / Fail: 1 / 0Start Time: Wed Dec 17 16:22:15 +0800 2014Discovery Time: 2004.22msAgent Time: 71.49msTotal Time: 2075.70ms

1、在Foreman中开启puppet插件的puppetrun功能

Foreman安装

Foreman安装

2、配置foreman-proxy代理的puppet的puppet_provider

[root@puppetmaster162 ~]# vim /etc/foreman-proxy/settings.d/puppet.yml
---
# Puppet management
:enabled: true
:puppet_conf: /etc/puppet/puppet.conf
# valid providers:
#   puppetrun   (for puppetrun/kick, deprecated in Puppet 3)
#   mcollective (uses mco puppet)
#   puppetssh   (run puppet over ssh)
#   salt        (uses salt puppet.run)
#   customrun   (calls a custom command with args)
:puppet_provider: mcollective
...

3、配置sudoer,添加mco命令

[root@puppetmaster162 ~]# vim /etc/sudoers.d/foreman-proxy
foreman-proxy ALL = NOPASSWD : /usr/bin/puppet cert *, /usr/bin/mco puppet runonce *
Defaults:foreman-proxy !requiretty[root@puppetmaster162 ~]# /etc/init.d/foreman-proxy restart
Stopping foreman-proxy:                                    [  OK  ]
Starting foreman-proxy:                                    [  OK  ]

4、页面测试puppetrun按钮

Foreman安装

成功之后的显示

Foreman安装

5、查看报告看更详细的信息

#可以通过日志查看执行情况
[root@puppetmaster162 yum.repos.d]# tailf  /var/log/foreman-proxy/proxy.log
192.168.20.11 - - [17/Dec/2014 16:25:36] "POST /run HTTP/1.1" 200 - 0.5454以上[root@puppetmaster162 ~]# cat /etc/foreman-proxy/settings.yml
...
:log_file: /var/log/foreman-proxy/proxy.log
# valid options are
# WARN, DEBUG, Error, Fatal, INFO, UNKNOWN
:log_level: DEBUG  #开启debug模式,显示更详细的信息,排错的时候使用。1.5版本之前默认是开启的[root@puppetmaster162 yum.repos.d]# tailf  /var/log/foreman-proxy/proxy.log
I, [2014-12-17T16:27:43.148519 #24337]  INFO -- : 'foreman_proxy' settings were initialized with default values: :enabled: true
W, [2014-12-17T16:27:43.155592 #24337]  WARN -- : Couldn't find settings file /etc/foreman-proxy/settings.d/facts.yml. Using default settings.
I, [2014-12-17T16:27:43.155860 #24337]  INFO -- : 'facts' settings were initialized with default values: :enabled: true
I, [2014-12-17T16:27:43.163012 #24337]  INFO -- : 'dns' module is disabled.
I, [2014-12-17T16:27:43.163513 #24337]  INFO -- : 'tftp' module is disabled.
I, [2014-12-17T16:27:43.163933 #24337]  INFO -- : 'dhcp' module is disabled.
I, [2014-12-17T16:27:43.579571 #24337]  INFO -- : 'puppet' settings were initialized with default values: :puppetdir: /etc/puppet
I, [2014-12-17T16:27:43.583486 #24337]  INFO -- : 'bmc' module is disabled.
I, [2014-12-17T16:27:43.583655 #24337]  INFO -- : 'chefproxy' module is disabled.
I, [2014-12-17T16:27:43.583934 #24337]  INFO -- : 'realm' module is disabled.
D, [2014-12-17T16:28:15.059328 #24344] DEBUG -- : about to execute: /usr/bin/sudo -u root /usr/bin/mco puppet runonce -I puppetmaster162.kisspuppet.com
192.168.20.11 - - [17/Dec/2014 16:28:15] "POST /run HTTP/1.1" 200 - 0.5468

失败的情况如下:

Foreman安装

[root@puppetmaster162 ~]# tailf  /var/log/foreman-proxy/proxy.log
I, [2014-12-17T16:27:43.163933 #24337]  INFO -- : 'dhcp' module is disabled.
I, [2014-12-17T16:27:43.579571 #24337]  INFO -- : 'puppet' settings were initialized with default values: :puppetdir: /etc/puppet
I, [2014-12-17T16:27:43.583486 #24337]  INFO -- : 'bmc' module is disabled.
I, [2014-12-17T16:27:43.583655 #24337]  INFO -- : 'chefproxy' module is disabled.
I, [2014-12-17T16:27:43.583934 #24337]  INFO -- : 'realm' module is disabled.
D, [2014-12-17T16:28:15.059328 #24344] DEBUG -- : about to execute: /usr/bin/sudo -u root /usr/bin/mco puppet runonce -I puppetmaster162.kisspuppet.com
192.168.20.11 - - [17/Dec/2014 16:28:15] "POST /run HTTP/1.1" 200 - 0.5468
D, [2014-12-17T16:32:56.924849 #24344] DEBUG -- : about to execute: /usr/bin/sudo -u root /usr/bin/mco puppet runonce -I puppetmaster162.kisspuppet.com
192.168.20.11 - - [17/Dec/2014 16:32:57] "POST /run HTTP/1.1" 200 - 0.6095
D, [2014-12-17T16:32:57.878231 #24344] DEBUG -- : about to execute: /usr/bin/sudo -u root /usr/bin/mco puppet runonce -I foreman163.kisspuppet.com
W, [2014-12-17T16:33:20.364704 #24344]  WARN -- : Non-null exit code when executing '/usr/bin/sudo-uroot/usr/bin/mcopuppetrunonce-Iforeman163.kisspuppet.com'
E, [2014-12-17T16:33:20.368673 #24344] ERROR -- : Failed puppet run: Check Log files
192.168.20.11 - - [17/Dec/2014 16:33:20] "POST /run HTTP/1.1" 500 34 22.4920

备注:Foreman在命令执行后的显示这块做的其实很不好的,如何能够将所有节点执行的情况动态或者显示在界面上就更好了!

本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1591389,如需转载请自行联系原作者

foreman架构的引入7-Foreman结合mcollective完成push动作相关推荐

  1. foreman架构的引入1-foreman作为自动化运维工具为什么会如此强大

    零基础学习Puppet自动化配置管理系列文档 在引入foreman之前,笔者曾经大幅度测试过puppet的另外一个生态圈前端软件,那就是KermIT(kermit.fr需要墙).说实话基于KermIT ...

  2. foreman架构的引入6-整合puppetmaster

    零基础学习Puppet自动化配置管理系列文档 注:以下内容是在foreman1.6.3+puppet2.6.2环境下进行操作.更多配置请参考官网http://theforeman.org/manual ...

  3. foreman架构的引入10-hostgroup如何转换为本地的fact

    零基础学习Puppet自动化配置管理系列文档 在Foreman上可以根据业务逻辑设置多个主机组(Host Groups),并且可以将不同的节点加入到不同的主机组,这样在每次操作"puppet ...

  4. foreman架构的引入3-安装Foreman1.5.3架构(all-in-one)

    零基础学习Puppet自动化配置管理系列文档 注意:本实验是在离线情况下安装的,所以需要在本地创建自己的yum仓库,创建方法可参考<如何根据版本制作属于自己的puppet yum源>,如何 ...

  5. foreman架构的引入2-安装前环境准备

    零基础学习Puppet自动化配置管理系列文档 Foreman官网提供了每个版本非常完善的安装步骤,无论是源码安装还是rpm包安装都变得非常方便.而且Foreman通过puppet模块对安装步骤进行了封 ...

  6. MCollective架构篇1-MCollective架构的引入

    零基础学习Puppet自动化配置管理系列文档 Marionette Collective(MCollective)是一个与Puppet关系密切的服务运行框架.Puppet擅长管理系统的状态,但agen ...

  7. YOLOv5/v8改进主干GhostNetV2系列:首发结合最新NIPS2022华为诺亚的GhostNetV2 架构:引入长距离注意力机制增强廉价操作,构建更强端侧轻量型骨干,打造高效轻量级检测器

  8. CVPR 2022 3月3日论文速递(19 篇打包下载)涵盖网络架构设计、姿态估计、三维视觉、动作检测、语义分割等方向

    以下CVPR2022论文打包合集:下载地址 神经网络架构设计 [1] An Image Patch is a Wave: Quantum Inspired Vision MLP(图像补丁是波浪:量子启 ...

  9. [转]微博后台架构浅析——读扩散pull、写扩散push、混合模式(push+pull)——相关cache(redis,memcache)...

    原文地址:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552013430114959121/ 之前在网上看到关于Twitter.Si ...

最新文章

  1. .NET基础示例系列之十六:制做进程监视器
  2. ashx session 使用注意要点。
  3. android 之ViewStub
  4. [云炬创业学笔记]第二章决定成为创业者测试12
  5. 深入php-fpm的两种进程管理模式详解
  6. java中HashMap遍历详解
  7. hihocoder1457
  8. 蔡骏:17年前,我也只是个做着无聊工作的小青年
  9. Hadoop 基础系列一Hadoop 系列之 1.0 和2.0 架构
  10. 计算机二级34套word答案,全国计算机二级C选择题题库第34套
  11. 动词ing基本用法_哪些动词后面只能接动名词背诵口诀
  12. 5. php 基本数据类型
  13. 超全!JAVA基础知识点总结
  14. 考勤打卡记录数据库表结构_中控zktime5.0考勤管理系统数据库表结构.doc
  15. 阿里云,腾讯云,保利威视,金山云,七牛云的视频云方案有什么不同啊?
  16. steam饥荒mod编写,基础的lua语言学习笔记——第一期
  17. [DP优化之平行四边形不等式]例题
  18. Advanced COM Interop
  19. C++智能指针入门之unique_ptr
  20. 20220624 登录和代理ip

热门文章

  1. ISO14229附录D(DTC相关)
  2. Mac系统服务器管理工具倾情推荐
  3. 人工智能导论 --- 绪论
  4. java学习--while和if的区别
  5. 如清风可感知 恳请你万里送上我心事。
  6. chkconfig(check config)命令详解
  7. MySQL高级语句简单介绍
  8. 人脸识别项目openface
  9. STM32 |显示:API is not found, corresponding pack is missing or not selected
  10. 支付宝APP支付回调问题