一个人管一百台服务器的时候,就要用到批量处理工具,这样可以把大量无聊重复的任务一口气完成,之前我一直用pssh,因为pssh就是一个类似for in语句的工作原理,但是这玩意不能保证时时同步服务器组的内容,所以在这一点上puppet更牛,也是现代管理中puppet更受青睐的原因。
puppet跟 zabbix一样,也是管理员所操作的中心机是“服务器端”,需要安装一个puppet-server ,而被操作的那些机器叫“客户端”,每台机器都需要安装一个puppet-client。然后服务器和客户端都勾搭成功之后,每半个小时,服务器就会检查一下客户端们上的软件版本,然后第一时间把这些软件同步,嗯,有点类似rsync功能。
安装前的准备
刚刚说过,服务器和客户端每隔半个小时就会通信一次,那么可见puppet的基本条件就是要时间钟是一致的,如何一致?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@localhost chenshuo]
# date
Sat May 28 16:38:02 EDT 2016
[root@localhost chenshuo]
# yum install ntp
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.yun-idc.com
* updates: mirrors.yun-idc.com
Package ntp-4.2.6p5-10.el6.centos.x86_64 already installed and latest version
Nothing to
do
[root@localhost chenshuo]
# chkconfig ntpd on
[root@localhost chenshuo]
# ntpdate pool.ntp.org
28 May 08:42:10 ntpdate[28852]: step
time
server 182.92.12.11 offset -28590.133953 sec
[root@localhost chenshuo]
# date
Sat May 28 08:42:35 EDT 2016
[root@localhost chenshuo]
# service ntpd start
Starting ntpd: [ OK ]
|
可见原本这个机器的时间是5月28日下午4点38分,现在已经改成了5月28日8点42分。
配置完时间之后,就是安装以下组件:
1
2
3
4
5
|
# yum install ruby ruby-libs ruby-rdoc Puppet 需要 Ruby 的支持,如果要查看命令行帮助的话需要额外 ruby-rdoc 这个软件包:
# yum -y install wget 安装(更新)wget功能
# wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm
# yum install puppetlabs-release-6-1.noarch.rpm 安装rpm包
# yum update yum升级,这个过程比较繁琐
|
中心机与客户机的安装
然后在中心机上安装puppet-server。
1
2
3
4
|
# yum install puppet-server
# chkconfig puppet on
# service puppetmaster start
Starting puppetmaster: [ OK ]
|
再使用# /etc/init.d/iptables stop这个命令把防火墙关闭,这样就不会出现一些包丢弃的意外情况了。
在客户机上安装puppet-client。直接使用# yum install puppet就行。
Puppet 客户端使用 HTTPS 和服务端(master)通信,为了和服务器端通信必须有合法的 SSL 认证,第一次运行 puppet 客户端的时候会生成一个 SSL 证书并指定发给 Puppet 服务端。
# puppet agent --no-daemonize --onetime --verbose --debug --server=服务器的主机别名
Puppet 服务端接受到客户端的证书后必须签字(sign)才能允许客户端接入,sign 后用 puppet cert list –all 查看会发现 client.vpsee.com 前面多了一个 + 后,表示 “加入” 成功:
参考文章:http://blog.chinaunix.net/uid-24250828-id-3882898.html
参考文章:http://www.jbxue.com/article/3196.html