puppet配置全解(有图,一步不多一步不少)

今天我们来做做Puppet实验:
什么是Puppet?它有什么功能?
说白了就是宿主机的维护管理,随着业务的发展,宿主机数量在不断增加,对于宿主机的管理,需要尽可能的做到自动化,将一些批量固定重复的事情交由自动化工具来实现,不仅提高了效率和准确性,还能让运维人员从枯燥的工作中脱身出来,把精力放到研究及解决疑难问题上面来。
Puppet无疑是目前最火最成熟的自动化运维工具之一,在生产过程中大量使用其来管理宿主机。Puppet有非常丰富的模块,类似一些面向对象的编程语言,通过简单的调用就能实现非常复杂的功能。
Puppet最突出的的地方,就是它对要做的事情做了一层抽象,把一件完整的事情分成多个步骤,在每个步骤中提供了很多实现这个基本功能的操作方法,最后将这些过程连起来,即完成了一个复杂的任务。
Puppet实验:
实验先知道

实验环境 两台Linux
服务端名称为puppet-server(如想更改下面实验请按照你自己设置的名称来做,要不然会出错) 主机ip:192.168.209.132
客户端名称为puppet-client(如想更改下面实验请按照你自己设置的名称来做,要不然会出错) 主机ip:192.168.209.135

这是我自己做的实验,如有错误请指正!
服务端配置:
1.首先我们来修改主机名(为puppet-server)和hosts文件(把服务端和客户端加入里面):
puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)
接着我们关掉防火墙(也可以把puppet的端口打开)和selnux。

puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)

接着我们进行ntp同步,如果时间不同步,相互通信不了(没有做同步ntp实验的可以看看我做的ntp实验,就在博客里面)。
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
2.之后我们先看看有没有安装puppet,如果安装了卸载掉,重新安装,使用下列命令查看和卸载,如果没有安装直接进行下一步。
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
接着我们来安装puppet(使用yum命令)。
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
3.接着我们来安装ruby和ruby库(puppet服务端通过内置的ruby的WEBrick库来提供完整的puppet Master服务)。
puppet配置全解(有图,一步不多一步不少)
接着我们来修改配置文件,在文件中加入服务端的主机名。
即添加[master]
certname=puppet-server两行。(请按照你自己设置的名称来做,要不然会出错)
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
接着我们创建一个文件ssl,这是证书的保存地址(需要我们手动创建)。
puppet配置全解(有图,一步不多一步不少)
接着我们将证书地址的拥有者改为puppet用户和组。
puppet配置全解(有图,一步不多一步不少)
接着我们查看puppet的权限,发现没问题。
puppet配置全解(有图,一步不多一步不少)
接着我们来修改配置文件puppet.conf中的证书地址。
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
4.之后我们来创建正常启动文件。
puppet配置全解(有图,一步不多一步不少)
我们来启动服务端puppet。
puppet配置全解(有图,一步不多一步不少)
客户端配置:
1.前面我就不讲了,和之前的一样。
puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
puppet配置全解(有图,一步不多一步不少)
2.我们将客户端的主机名加进去,还有服务端的主机名,并把生成报告report改成是,并更改ssldir选择证书地址,和服务端保持一致。(请按照你自己设置的名称来做,要不然会出错)
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)

3.创建证书的路径及文件名ssl。
puppet配置全解(有图,一步不多一步不少)
接着我们将拥有者改为puppet用户和组,并查看权限。
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
4.最后我们启动服务。
puppet配置全解(有图,一步不多一步不少)
测试:
客户端:puppet agent --server=puppet-server --verbose --no-daemonize –debug
注:(请按照你自己设置的名称来做,要不然会出错)
如果 server 端是 no-daemonize 模式启动的,client 也要加上这个选项这个指令的作用是将 puppet agent 不用守护进程的模式启动,好处是能看到与服务器端的通信及证书签名过程,方便 debug。默认 puppet 每 2 分钟向服务器端申请一次签名,直到获得服务器端发来的经过签名的证书才 start agent 服务。也可以通过–waitforcert=time 来设置等待时间,如果 time 为 0 则不等待。
puppet配置全解(有图,一步不多一步不少)
我们发现可以连接到服务端(客户端的主机名我们设置的为puppet-client)。
puppet配置全解(有图,一步不多一步不少)puppet配置全解(有图,一步不多一步不少)
服务端:使用puppet cert –list来查看签名证书。
puppet配置全解(有图,一步不多一步不少)
使用puppet cert –sing puppet-client给客户端(客户端主机名为puppet-client,按照你自己设置的来)签名。
puppet配置全解(有图,一步不多一步不少)
接着我们可以使用puppet cert –clean puppet-client来清除证书(按照你自己的主机名来),至此实验完成,有什么疑问欢迎向我提问。

puppet配置全解(有图,一步不多一步不少)