Puppetlinux
sever:172.25.23.1 server1.example.com puppet masternginx
client:172.25.23.2 server2.example.com puppet agentjson
client:172.25.23.3 server3.example.com puppet agentvim
server 与全部 client 之间须要解析,以及时间同步,iptables selinux disabledruby
一.基础配置ide
1.安装软件spa
(1) server3d
[root@server1 ~]# yum install -y puppet-server-3.0.1-1.el6.noarch.rpm puppet-3.0.1-1.el6.noarch.rpm facter-2.4.4-1.el6.x86_64.rpm ruby-shadow-2.2.0-2.el6.x86_64.rpm hiera-1.3.4-1.el6.noarch.rpm ruby-augeas-0.4.1-3.el6.x86_64.rpm rubygem-json-1.5.5-3.el6.x86_64.rpm rubygems-1.3.7-5.el6.noarch.rpm orm
[root@server1 ~]# /etc/init.d/puppetmaster startserver
(2) client
[root@server2 ~]# yum install -y puppet-3.0.1-1.el6.noarch.rpm facter-2.4.4-1.el6.x86_64.rpm ruby-shadow-2.2.0-2.el6.x86_64.rpm hiera-1.3.4-1.el6.noarch.rpm ruby-augeas-0.4.1-3.el6.x86_64.rpm rubygem-json-1.5.5-3.el6.x86_64.rpm rubygems-1.3.7-5.el6.noarch.rpm
注意:客户端先不开启服务
2.获取证书
server
# puppet 的第一个执行的代码是在/etc/puppet/manifest/site.pp,所以这个文件必须存在,并且其余的代码也要经过该文件来调用
(1) server手动生成签名
a)client先向服务端发送请求
# 会显示失败,是由于,server端没有client的证书,所以,server须要手动生成
b)server端手动进行签证
c) client再次获取证书
client 向 master 发出证书验证请求,而后等待 master 签名并返回证书。
参数--server 指定了须要链接的 puppet master 的名字或是地址,默认链接名为puppet的主机如要修改默认链接主机能够修改/etc/sysconfig/puppet 文件中的 PUPPET_SERVER=puppet 选项
参数--no-daemonize 是 puppet 客户端运行在前台
参数--verbose 使客户端输出详细的日
(2) server自动生成签名
a)修改server的配置文件
vim /etc/puppet/puppet.conf
vim /etc/puppet/autosign.conf
/etc/init.d/puppetmaster reload
b)将server原有的签名删除
c)client端删掉原有证书的记录,再从新获取
rm -fr /var/lib/puppet/ssl
在实际中有时会修改 client 端的主机名,这样就须要从新生成证书
3.资源定义
资源定义在 /etc/puppet/manifest/site.pp
(1) 建立文件
Server
Vim /etc/puppet/manifest/site.pp
client
puppet agent --server server1.example.com --no-daemonize -vt
cat /tmp/wang
(2) 当改变资源内容时,Hash码也会发生变化
server
Passwd存储在 /etc/puppet/files(本身建立的)
vim /etc/puppet/fileserver.con
Vim /etc/puppet/manifest/site.pp
Client
puppet agent --server server1.example.com --no-daemonize -vt
生成的新的Hash会和server端中的资源相同
(3)安装包
(4)服务
service { "httpd": ensure => running;
"vsftpd": ensure => stopped
}
(5) 用户
(6)文件系统挂载
server
在172.25.23.250上,须要设置nfs分享
且在client须要安装 nfs-utils软件
自动挂载文件系统,并同步 fstab 文件,若是须要卸载,改成 absent
(7) crontab任务
任务会在 client 上/var/spool/cron 目录中生成
二.安装vsftpd,httpd及启动服务
Server
Vim /etc/puppet/manifest/site.pp
Client
puppet agent --server server1.example.com --no-daemonize -vt
三.编写httpd 模块
server
vim site.pp
vim server3.pp
各部份内容以下
注意:若出现以下报错,则是资源中文件的权限不够,最少为644
四.编写nginx模块
server:
vim nginx.sh
vim nginx.conf
vim init.pp
vim install.pp
vim config.pp
vim service.pp
vim site.pp
vim server2.pp
Client:
做业:课后完成lnmp的搭建