一、安装puppet
- 安装依赖包
yum -y install ruby ruby-libs ruby-shadow
- 安装epel仓库
yum -y install epel-release
- 在master主机上安装puppet、puppet-server和facter
yum -y install puppet puppet-server facter
4.在agent机器上安装puppet和facter
yum -y install puppet facter
二、配置puppet
- 配置puppet.conf
puppet.conf配置文件分为[master] – 配置puppet-master、[agent] – 配置puppet-agent以及[main] – 全局配置
[root@192 ~]# vim /etc/puppet/puppet.conf [main] vardir = /var/lib/puppet logdir = /var/log/puppet rundir = /var/run/puppet ssldir = $vardir/ssl pluginsync = true [master] certname=192.168.0.100 reports = log,foreman
2.配置site.pp
[root@192 ~]# touch /etc/puppet/manifests/site.pp [root@192 ~]# vim /etc/puppet/manifests/site.pp #site.pp - all agent configure #设置环境变量 Exec {path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"} #$fileserver = "192.168.0.100" $puppetserver = hiera('puppetserver') $ntpserver = "cn.ntp.org.cn" Package { allow_virtual => true, } #hiera_include('classes') node default{ hiera_include('classes') }
3.启动puppet
service puppetmaster start
三、签发和申请证书
1.服务端查看证书列表
puppet cert — listlist
2.签发授权证书
puppet cert — sign xxxx
3.清除证书
Master:puppet cert clean all
Agent :rm -rf /var/lib/puppet/ssl/
4.重启服务
5.Agent测试: puppet agent server=192.168.0.100 -test
四、错误日志处理
1.Ssl 报错
err: /File[/var/lib/puppet/lib]: Failed to generate additional resources using ‘eval_generate’: SSL_connect returned=1 errno=0 state=SSLv3
处理方法:
find /var/lib/puppet -type f -print0 |xargs -0r rm Master:puppet cert clean all Agent :rm -rf /var/lib/puppet/ssl/
2.puppet 3.6 警告信息:
Warning: The package type’s allow_virtual parameter will be changing its default value from false to true in a future release. If you do not want to allow virtual packages, please explicitly set allow_virtual to false.
(at /usr/share/ruby/vendor_ruby/puppet/type.rb:816:in `set_default’)
处理方法:
配置 site.pp,添加:
Package {allow_virtual => ture,}
多看错误日志信息,多查询资料。
五、puppet相关命令
# puppet 语法检查 puppet parser validate init.pp # puppet 模块查找 puppet module search apache # puppet 模块安装 puppet module install puppetlabs-apache –version 0.0.2 # puppet 模块删除 puppet module uninstall puppetlabs-apache # 列出已安装 puppet模块 Puppet module list