puppet安装准备工作
准备两台机器:192.168.0.188(服务端)192.168.0.189(客户端)
两台机器关闭selinux(临时关闭setenforce 0),清空iptables规则(iptables -F ,service iptables save),并保存,设置hostname
188上hostname web9.xuan.com,vi /etc/sysconfig/network定义hostname
189上hostname web10.xuan.com,vi /etc/sysconfig/network定义hostname
编辑hosts文件,188和189全部为(vi /etc/hosts)
192.168.0.188 web9.xuan.com
192.168.0.189 web10.xuan.com
两台机器安装ntpdata,并建立自动同步时间的任务计划:
yum install -y ntp
crontab -e //加入
*/10 * * * * ntpdate time.windows.com >/dev/null 2>&1 (每隔十分钟执行一下)
puppet安装
188服务端上
安装puppet源 rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"
安装服务端程序 yum install -y puppet-server
启动服务 service puppetmaster start
开机启动 chkconfig puppetmaster on
ps aux|grep puppet 查看一下它的进程 netstat -lnp 查看它启用了哪些端口
189客户端上
安装puppet源 rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"
安装客户端程序 yum install -y puppet
修改配置文件 vi /etc/puppet/puppet.conf //在最后面添加
listen = ture
server = web9.xuan.com
runinterval = 10 //主动更新,每隔10秒
启动服务 service puppet start
开机启动 chkconfig puppet on
puppet配置证书
服务端查看客户端证书列表 puppet cert list --all //如果签发的证书,会在本行最前面带一个+
客户端上生成的ssl证书 puppet agent --test --server web9.xuan.com
服务端签发指定客户端证书 puppet cert --sign web10
服务端可以删除指定客户端证书 puppet cert clean web10
删除所有证书 puppet cert --clean --all
web9:puppet cert --clean --all
web10:/etc/init.d/puppet stop
rm -rf /var/lib/puppet/ssl/* (删除它原来的证书,它的证书是在这个路径下)
/etc/init.d/puppet start
web9:puppet cert --sign web10 (重新签发证书)
puppet配置自动签发证书
服务端删除客户端证书 puppet cert clean --all
客户端删除ssl相关文件 rm -rf /var/lib/puppet/ssl/*
服务端增加配置vim /etc/puppet/puppet.conf //在【main】的最后一行加上autosign = true
服务端创建自动签发的配置文件 vim /etc/puppet/autpsign.conf //加入如下内容
*.xuan.com
服务端重启puppetmaster服务 /etc/init.d/puppetmaster restart
客户端重启puppet服务 /etc/init.d/puppet restart
服务端puppet cert list --all //可以看到web10.xuan.com已经签名
如果客户端不重启puppet服务,也可以通过命令来自动签发
puppet agent --test --server web9.xuan.com
puppet测试证书
服务端编辑配置文件 vi /etc/puppet/manifests/site.pp //添加如下内容
node default {
file {"/tmp/123.txt":
content => "test,test";
}}
说明:如果不配置该文件,则客户端不会同步任何数据。
服务端重启puppetmaster服务 /etc/init.d/puppetmaster restart
客户端上稍等一会(每隔10s会自动执行服务端上的任务),或者直接命令行
puppet agent --test --server web9.xuan.com
这样在客户端的/tmp/下会有个123.txt文件,内容为test,test