上篇博客介绍了在单机环境下的puppet应用,这次我们基于C/S模式来介绍下puppet!
一、实验环境
服务器角色
IP地址
安装软件
主机名
服务器端
172.16.8.1
puppet-server
www.gulong.com
客户机端
172.16.8.2
puppet
node1.gulong.com
172.16.8.3
node2.gulong.com
三台主机时间同步:
三台主机可以相互解析:
二、master端的配置
1、安装puppet-server
2、配置模板
创建模板目录:
注:
files/ : 文件存储目录
manifests/ : 清单存储目录
templates/ : 模板存储目录
创建清单文件:
创建是需要的配置文件:
创建模板文件:
将服务器端的配置信息输入puppet.conf文件中
创建节点文件:
创建后端主机节点文件:
启动master服务:
三、客户机端的配置
这里只以node1.gulong.com这个主机做演示
1、安装puppet客户端软件:
2、修改puppet.conf配置文件
3、启动puppet
四、签署证书并测试
1、在服务器端所有此命令,查看申请签署的证书请求:
2、使用此命令签署:
也可以编辑配置文件,使之自动签署:
3、签署完成后,查看客户端是否自动安装nginx
从图看出,已经自动安装nginx了!
4、puppet kick功能实现
puppet客户端默认每30分钟很服务器通讯一次,但是有时,我们希望服务器能够给客户端紧急推送一些事务,于是就有了puppet kick。
1、编辑客户端配置文件/etc/puppet/puppet.conf
2、在客户端编辑或创建新文件/etc/puppet/namespaceauth.conf,包含下面内容
3、在客户端编辑文件auth.conf,添加如下内容
客户端重启puppet
4、在服务器端运行推送命令
5、在客户端查看配置文件是否改变
从上图看出,已经推送成功!
5、安装配置puppet-dashboard
1、安装puppet-dashboard包
2、安装rake
可能会出现以下错误:
解决方法:此错误是网络故障,连不了外网,可以通过修改默认网关等方法来连接外网!
3、数据库授权
4、修改dashboard配置文件
dashboard的配置文件为/usr/share/puppet-dashboard/config/database.yml,修改如下参数
5、为dashboard导入依赖的数据表
出现上图即为导入成功!
6、测试服务器是否能正常工作
默认其监听于3000/tcp端口,现在可以通过此端口访问相应的服务了。
现在就可以在页面中添加节点和类文件!
至此,puppet的c/s模式应用已经介绍完毕,不足之处,请多加指点!