puppet的web管理工具foreman安装配置简明步骤

简介:

  foreman概述

    Foreman是一个集成的数据中心生命周期管理工具,提供了服务开通,配置管理以及报告 功能,和Puppet Dahboard一样,Foreman也是一个Ruby on Rails程序.Foreman和 Dashboard不同的地方是在于,Foreman更多的关注服务开通和管理数据中心的能力,例如和引导工具,PXE启动服务器,DHCP服务器及服务 器开通工具进行集成.

Foreman 机器统一管理平台

  • Foreman可以与Puppet集成使用,通常是作为puppet的前端接入.
  • Foreman takes care of provisioning until the point puppet is running, allowing Puppet to do what it does best.(太难翻了 -_-!!)
  • Foreman能够通过Facter组件显示系统目录信息,并且可以从Puppet主机报表中提供实时信息
  • Foreman能够准备你管理新机器的所有工作.它的设计目标是能够自动化的完成所有手工管理的工作,通过Foreman可以重新配置机器.
  • Foreman能够管理大规模(当然也包括小规模)的,企业级的的网络,可能有很多域,子网和很多puppet master节点.Foreman也可以实现配置版本的回溯.
  • 上述内容引自oschina
  • foreman架构

 

安装配置过程 

一,操作系统环境 


 
 
  1. Centos6.3_X64 
  2. 主机名的配置 
  3. [root@test puppet]#cat /etc/hosts 
  4. puppet.test.com  192.168.1.89 
  5. [root@test puppet]#hostname 
  6. puppet.test.com 
  7. 注意:此处的主机名必须要设置,且可以解析,至于是用DNS解析,还是hosts解析,可以自己选择 
  8.      由于puppet采用证书验证,所以主机名不要轻易改动,否则会造成一些麻烦,证书存储目录为/var/lib/puppet/ssl/ 
  9. 如果你想重新生成证书,可以删除此目录下面的文件,服务端重启puppetmaster进程会重新生成证书,客户端如重新获取
  10. 证书,删除此目录下文件,会重新从客户端获取。证书不成功会报N多错误,此处不列举了。
  11. 2.配置yum源 【epel源,puppet官方源】
  12. rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
  13. rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-6.noarch.rpm 
  14. 注意:
  15. 由于epel目前只提供了2.X的源,而此处想采用最新的3.X版本,所以下面指定了安装版本
  16. 3.安装puppet-server 
  17. yum install puppet-3.1.0-1 puppet-server-3.1.0-1
  18. 注意:
  19. 本文只会讲解基本的foreman,不涉及整合passenger,在玩会基本的功能后,再去研究passenger就比较容易了
  20. 4.安装foreman  foreman-proxy 
  21. yum -y install http://yum.theforeman.org/releases/1.1/el6/x86_64/foreman-release-1.1stable-3.el6.noarch.rpm 
  22. yum -y install foreman-installer 
  23. ruby /usr/share/foreman-installer/generate_answers.rb 
  24. [root@test puppet]# ruby /usr/share/foreman-installer/generate_answers.rb 
  25. Welcome to the Foreman Installer! 
  26. --------------------------------- 
  27.  
  28. This installer will help you set up Foreman and the associated extra 
  29. configuration necessary to get you up and running. There is an interactive shell 
  30. which will ask you questions, but if you just want to get up and running as fast 
  31. as possible, answer 'yes' to the all-in-one install at the beginning 
  32.  
  33.  
  34. Ready to start? (y/n) 
  35. y   输入y 
  36. Do you want to use the default all-in-one setup? 
  37. This will configure Foreman, Foreman-Proxy, Puppet (including a puppetmaster), 
  38. several puppet environments, TFTP (for provisioning) and sudo (for puppet 
  39. certificate management) (y/n) 
  40. y   输入y 
  41. Do you want to run Puppet now with these settings? (y/n) 
  42. y   输入y 
  43.  
  44.  
  45. [root@test ~]# ls /usr/share/ |grep fore 
  46. foreman-installer 
  47.  
  48. [root@test ~]# rpm -qa|grep foreman 
  49. foreman-installer-1.1.1-1.noarch 
  50.  
  51. ========================================================== 
  52. yum install ruby-mysql  
  53. yum -y install foreman  foreman-proxy 
  54.  
  55. ******************************************************************************** 
  56. chown foreman.foreman -R /usr/share/foreman 
  57. chown foreman.foreman -R /usr/share/foreman/db/schema.rb 
  58.  
  59.  
  60. su - foreman -s /bin/bash -c /usr/share/foreman/extras/dbmigrate 
  61. ******************************************************************************** 
  62.  
  63. vim /usr/share/foreman/config/database.yml   
  64. 原文件为sqllite的配置,此处改为mysql作为数据库存储 
  65. ================================================= 
  66. production: 
  67.   adapter: mysql 
  68.   database: puppet 
  69.   username: puppet 
  70.   password: puppet 
  71.   host: localhost 
  72.   socket: "/var/lib/mysql/mysql.sock" 
  73. ================================================= 
  74. mysql> create database puppet CHARACTER SET utf8; 
  75. mysql> grant all privileges on puppet.* to puppet@'localhost' identified by 'puppet'; 
  76. mysql>  flush privileges; 
  77.  
  78. cd /usr/share/foreman/ 
  79. RAILS_ENV=production rake db:migrate 
  80. rake puppet:migrate:populate_hosts RAILS_ENV=production 
  81.  
  82. chown foreman.foreman /usr/share/foreman/tmp/secret_token 
  83. vim /etc/foreman-proxy/settings.yml 
  84. ========================================================== 
  85. :trusted_hosts: 
  86. - puppet.test.com 
  87. :puppetca: true 
  88. :puppet: true 
  89. :puppet_conf: /etc/puppet/puppet.conf 
  90. =========================================================== 
  91.  
  92. /etc/init.d/puppetmaster restart  
  93. /etc/init.d/foreman restart  
  94. /etc/init.d/foreman-proxy restart 
  95.  
  96. http://192.168.1.89:3000/users/login登陆 
  97. 用户admin  密码changeme 
  98. 进入之后配置more-configureation-smart proxies---- 
  99. name        名称 
  100. proxy的地址 http://puppet.test.com:8443 
  101. 注意:此处必须要foreman-proxy服务器上面可以解析的地址 
  102.  
  103. 可以在本机添加hosts 
  104. 导入puppet存在的模板 
  105. RAILS_ENV=production rake puppet:import:puppet_classes 
  106. rake puppet:migrate:populate_hosts RAILS_ENV=production 
  107. 请注意此处的顺序,当时我配置的时候,在网上上参考2.X的方法,结果一直提示proxy功能没有打开
  108.  
  109. #vim /etc/puppet/node.rb  
  110. :url          => "http://puppet.test.com:3000", 
  111. 【注意:此处也可以采用https】
  112.  
  113.  
  114.  
  115. 打开报告功能 
  116. 服务器端#cp /usr/share/foreman-installer/foreman/templates/foreman-report.rb.erb /usr/lib/ruby/site_ruby/1.8/puppet/reports/foreman.rb
  117. 客户端需修改
  118. agent配置如下
  119. [agent]
  120. classfile = $vardir/classes.txt
  121. localconfig = $vardir/localconfig
  122. report = true
  123. pluginsync = true
  124. masterport = 8140
  125. environment = production
  126. certname = puppet.test.com
  127. server = puppet.test.com
  128. listen = true
  129.  
  130. #vim /usr/lib/ruby/site_ruby/1.8/puppet/reports/foreman.rb
  131. $foreman_url='http://puppet.test.com:3000'
  132. chown foreman.foreman -R /usr/share/foreman/
  133. /etc/init.d/puppetmaster restart  
  134. /etc/init.d/foreman restart  
  135. /etc/init.d/foreman-proxy restart 
  136. 在客户端测试 
  137. #puppet agent --verbose --test  

后续的web界面管理和功能使用不再介绍,参考官方文档


 
 
  1. 默认用户  admin 
  2. 默认密码  changeme 

界面如下

 

 

官方文档为http://theforeman.org/manuals/1.1/index.html

总结一下:

     虽然用yum安装,但是会遇到各种问题,官方手册也没有详细的说明,以上细节为本人安装配置过程的简单总结,各位可能会遇到其他问题。

     foreman功能并没有想象中的强大,无法代替命令行编辑的功能,很多底层的功能还是要用命令行完成。不过其web界面功能提供了很好的交互式操作,让puppet展示的具体,一目了然。

      注意:本文只是一个简单的安装应用概述,更多功能请大家阅读官方原文。

================================================================================

更正一下:由于之前文档的步骤是在安装成功后写的,存在顺序问题

今天重新整理并截图,文档为install_foreman_on_centos6.4_X64.pdf,见附件



本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1143208,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
前端开发 安全 JavaScript
构建高效Web应用的五个关键步骤
【9月更文挑战第21天】本文将引导读者通过五个核心步骤来构建一个高效的Web应用。我们将从选择合适的技术栈开始,到实现响应式设计、优化性能、保证安全性,最后确保可维护性和扩展性。每个步骤都配备了具体的代码示例,帮助理解如何在实践中应用这些概念。
164 10
|
4月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
375 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
7月前
|
XML 安全 前端开发
一行代码搞定禁用 web 开发者工具
在如今的互联网时代,网页源码的保护显得尤为重要,特别是前端代码,几乎就是明文展示,很容易造成源码泄露,黑客和恶意用户往往会利用浏览器的开发者工具来窃取网站的敏感信息。为了有效防止用户打开浏览器的 Web 开发者工具面板,今天推荐一个不错的 npm 库,可以帮助开发者更好地保护自己的网站源码,本文将介绍该库的功能和使用方法。 功能介绍 npm 库名称:disable-devtool,github 路径:/theajack/disable-devtool。从 f12 按钮,右键单击和浏览器菜单都可以禁用 Web 开发工具。 🚀 一行代码搞定禁用 web 开发者工具 该库有以下特性: • 支持可配
514 22
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
520 3
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
301 4
|
运维 Linux Apache
Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例
【10月更文挑战第8天】本文介绍了Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例。Puppet通过定义资源状态和关系,确保系统配置始终如一,支持高效管理基础设施。文章详细讲解了Puppet的安装步骤、配置方法及DSL语言示例,帮助读者快速掌握Puppet的使用技巧。
855 2
|
11月前
|
人工智能 前端开发 API
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
Gemini Coder 是一款基于 Google Gemini API 的 AI 应用生成工具,支持通过文本描述快速生成代码,并提供实时代码编辑和预览功能,简化开发流程。
814 38
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
740 17
Selenium:强大的 Web 自动化测试工具
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
800 7
Spring Boot 入门:简化 Java Web 开发的强大工具
|
人工智能 前端开发 计算机视觉
Inpaint-Web:纯浏览器端实现的开源图像处理工具
在刷短视频时,常看到情侣在景区拍照被路人“抢镜”,男朋友用手机将路人“P”掉,既贴心又有趣。最近我发现了一个纯前端实现的开源项目——inpaint-web,可在浏览器端删除照片中的部分内容,非常酷。该项目基于 WebGPU 和 WASM 技术,支持图像修复与放大,已在 GitHub 上获得 5.1k Star。项目地址:[GitHub](https://github.com/lxfater/inpaint-web)。
763 3
 Inpaint-Web:纯浏览器端实现的开源图像处理工具

推荐镜像

更多