首页 > 代码库 > forman安装和配置流程
forman安装和配置流程
目录(一)Foreman介绍
1. foreman概述
2. foreman架构
(二)安装配置过程
1. 安装环境
2. 安装包收集
3. 准备工作
4. 安装foreman和puppet
5. 修改配置文件
参考链接
(一)Foreman介绍
1. foreman概述
Foreman是一个集成的数据中心生命周期管理工具,提供了服务开通,配置管理以及报告功能,和Puppet Dahboard一样,Foreman也是一个Ruby on Rails程序,通过它可以很直观的查看puppet所有客户端的同步状态与facter参数。Foreman和 Dashboard不同的地方是在于,Foreman更多的关注服务开通和管理数据中心的能力,例如和引导工具,PXE启动服务器(集成了kickstart),DHCP服务器及服务器开通工具进行集成。
2. foreman架构
(二)安装配置过程
1. 安装环境:CentOS6.5-x86_64, basic-server
安装更新:yum –y update
master: foreman.test.com 172.19.146.27
agent: node1.test.com 172.19.146.28
2. 安装包收集:
httpd-2.2.15-30
puppet-server-3.6.2-1
puppet-3.6.2-1
facter-2.1.0-1
foreman-1.5.2-1
foreman-proxy-1.5.2-1
foreman-sqlite-1.5.2-1
用到的源:
puppet: https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
foreman: http://yum.theforeman.org/releases/1.5/el6/x86_64/foreman-1.5.2-1.el6.noarch.rpm
epel: http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
3. 准备工作
a. 关闭SElinux和防火墙(或者开放8140端口);
b. 设置hosts文件(master和agent端);
vim /etc/hosts
foreman.test.com 172.19.146.27
node1.test.com 172.19.146.28
c. 把需要安装的包及依赖包下载下来建立本地repo源: update+httpd+foreman+puppet+facter
d. 安装httpd并启动,设置开机自启;
yum install http
service httpd restart
chkconfig httpd on
4. 安装foreman和puppet
a. yum –y install puppet puppet-server facter
b. yum –y install foreman foreman-proxy foreman-sqlite
注:这里只安装了基本的foreman-proxy代理模块和foreman-sqlite数据库模块;
5. 修改配置文件
a. puppet配置: /etc/puppet/puppet.conf
agent端
[agent] 段添加
server = foreman.test.com
certname = node1.test.com
master端 :
service puppetmaster start
chkconfig puppetmaster on
agnet端申请认证: puppet agent --test
master端签名: puppet cert --sign node1.test.com
master 端查看认证情况:puppet cert –list --all
注:如果master和agent时间不同步,申请认证会发生错误。
b. foreman-proxy配置:/etc/foreman-proxy/settings.yml
:puppetca: true
:puppet: true
:puppet_conf: /etc/puppet/puppet.conf
注:暂时不配置tftp,dns,dhcp等;
c. 配置 foreman的Smart Proxies
(1) 启动foreman和foreman-proxy:
service foreman start
service foreman-proxy start
(2) 浏览器: http://foreman.test.com:3000 默认用户名和密码:admin changeme;
(3) 打开 Infrastructure --> Smart Proxies
New Smart Proxy :添加新的智能代理;
name: test
url: http://foreman.test.com:8443
注: 如果修改了/etc/foreman-proxy/settings.yml, 重启foreman-proxy服务之后需要在foreman控制面板的Smart-Proxy中Refresh feasures;
c. 数据库设置
(1) 这里使用sqlite数据库,如果使用mysql或其他数据库,需要修改/etc/foreman/database.yaml文件
(2) 数据库初始化
forman-rake db:migrate
foreman-rake db:seed
d. 从导入puppet数据
(1) 生成fact文件
master端和agent运行: puppet agent –test,会把facter信息发送至master端;
查看:ll /var/lib/puppet/yaml/facts
(2) 从puppet导入facter数据给foreman
旧版本的foreman使用命令:
foreman-rake puppet:import:hosts_and_facts dir=/var/lib/puppet/yaml/facts/ RAILS_ENV=production
导入,但是1.5.2中不会显示导入facter信息,也不报错!
新版本:通过ENC(External Nodes Interface)导入[–> f. 通过ENC导入facter数据给foreman]
e. Puppet 报告
(1) master端和agent端: puppet.conf [agent] 段添加: report = true;
(2) puppet默认报告类型为store,内置了如下几个报告处理器:store, log, tagmail, rrdgraph, http,
(3) Forman自定义了foreman报告处理器,需要手动下载并添加
下载链接:
https://raw.github.com/theforeman/puppet-foreman/2.1-stable/templates/foreman-report_v2.rb.erb
将foreman-report_v2.rb.erb重命名为foreman.rb移动到master端的/usr/lib/ruby/site_ruby/1.8/puppet/reports/下;
修改foreman.rd文件:
$foreman_url=‘http://foreman.test.com:3000‘
(4) 添加foreman报告类型
master端的 [master]段添:reports = foreman, log
f. 通过ENC导入facter数据给foreman
(1) 下载文件
https://raw.github.com/theforeman/puppet-foreman/2.1-stable/templates/external_node_v2.rb.erb
到: /etc/puppet/下,重命名为node.rb;
(2) 添加可执行权限: chomod +x /etc/puppet/node.rd
(3) 编辑node.rd (暂时不设置ssl)
(4) 在master端的puppet.conf的[master]段添加:
external_nodes = /etc/puppet/node.rb
node_terminus = exec
(5) 重启: puppetmaster, foreman, foreman-proxy服务;
在puppet agent端运行:puppet agent --test就可以在foreman的web界面(http://172.19.146.27:3000)看到各个节点的facter信息了。
参考链接:
[1] http://www.jsxubar.info/centos-6-install-puppet-foreman.html
[2] http://itnihao.blog.51cto.com/1741976/1143208
[3] http://os.51cto.com/art/201101/244173.htm
[4] http://longgeek.com/2012/10/23/puppet-console-foreman/
[5] http://dywer.blog.51cto.com/678776/415839
[6] http://www.thefarsideoffailure.com/blog/foreman_on_centos
[7] http://theforeman.org/manuals/1.5/index.html#Releasenotesfor1.5.2
forman安装和配置流程