Foreman

目录

1. foreman简介

2. puppet run 执行流程

3. remote execution插件执行流程

4. 复杂网络环境下多smart-proxy

1. foreman简介

从官方流程图说起,foreman为我们提供了统一的管理界面,管理puppet, salt等。foreman 的流程图中,关键的一个部分就是smart proxy, 提供了foreman 与 puppet等相互通信的中间件。

2. puppet run 执行流程

网页上点击puppet run后,foreman 通过API调用smart proxy, 然后通过smart proxy 提供的smart proxy ssh插件去执行puppet modules,最后通过puppet server 将agent机器的facts上传到foreman,并保存在foreman的数据库中。

smart proxy ssh插件本质上是执行了puppet agent --onetime --no-usecacheonfailure命令,可参考smart proxy关于ssh部分的配置。执行该命令后,如果puppet server 中配置了ENC,然后puppet server就可以将该命令执行过程产生的report发送给foreman。

下图为执行puppet run所涉及到的部分数据库表:

3. remote execution插件执行流程

Remote Execution执行过程如下图,其中dynflow确保了命令的异步执行。

下图是Remote execution执行涉及的部分数据库表:


4. 复杂网络环境下多smart-proxy

所谓的复杂网络,只是模拟了foreman 与 puppet agent 网络上不联通的情况,在这种网络环境下,需要存在堡垒机确保能够同时连接foreman和agent机器。当存在大量几千甚至上万台堡垒机需要管理几万个agent设备的情况下,可生成如下网络结构图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • Puppet理论定义: Puppet 是一个跨平台的集中化配置管理系统,它使用自有的描述语言,可管理配置文件、用户...
    属于你的世界阅读 1,005评论 0 2
  • 1.puppet 是什么 puppet是一个开源的软件自动化配置和部署工具,很多大型IT公司均在使用puppet对...
    milo_e1ce阅读 4,965评论 0 4
  • CentOS6.9安装Foreman1.10+Puppet 安装puppet yum源: yum -y insta...
    kudidiwsq阅读 573评论 0 2
  • 谨以此文献给伟大的中师生! 一大早来到学校,情绪被小学部群里的一条信息立刻影响了,就像这淅淅沥沥不停地下着的雨。我...
    优雅地撒野吧阅读 915评论 0 2