首页 > 代码库 > 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安装和配置流程