天天看点

Puppet的安装和初使用

一个人管一百台服务器的时候,就要用到批量处理工具,这样可以把大量无聊重复的任务一口气完成,之前我一直用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

<code>[root@localhost chenshuo]</code><code># date</code>

<code>Sat May 28 16:38:02 EDT 2016</code>

<code>[root@localhost chenshuo]</code><code># yum install ntp</code>

<code>Loaded plugins: fastestmirror, refresh-packagekit, security</code>

<code>Setting up Install Process</code>

<code>Loading mirror speeds from cached hostfile</code>

<code> </code><code>* base: mirrors.aliyun.com</code>

<code> </code><code>* extras: mirrors.yun-idc.com</code>

<code> </code><code>* updates: mirrors.yun-idc.com</code>

<code>Package ntp-4.2.6p5-10.el6.centos.x86_64 already installed and latest version</code>

<code>Nothing to </code><code>do</code>

<code>[root@localhost chenshuo]</code><code># chkconfig ntpd on</code>

<code>[root@localhost chenshuo]</code><code># ntpdate pool.ntp.org</code>

<code>28 May 08:42:10 ntpdate[28852]: step </code><code>time</code> <code>server 182.92.12.11 offset -28590.133953 sec</code>

<code>Sat May 28 08:42:35 EDT 2016</code>

<code>[root@localhost chenshuo]</code><code># service ntpd start</code>

<code>Starting ntpd:                         [  OK  ]</code>

可见原本这个机器的时间是5月28日下午4点38分,现在已经改成了5月28日8点42分。

配置完时间之后,就是安装以下组件:

<code># yum install ruby ruby-libs ruby-rdoc   Puppet 需要 Ruby 的支持,如果要查看命令行帮助的话需要额外 ruby-rdoc 这个软件包:</code>

<code># yum -y install wget    安装(更新)wget功能</code>

<code># wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm</code>

<code># yum install puppetlabs-release-6-1.noarch.rpm    安装rpm包</code>

<code># yum update    yum升级,这个过程比较繁琐</code>

中心机与客户机的安装

然后在中心机上安装puppet-server。

<code># yum install puppet-server</code>

<code># chkconfig puppet on</code>

<code># service puppetmaster start</code>

<code>Starting puppetmaster:                                     [  OK  ]</code>

再使用# /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://www.jbxue.com/article/3196.html

 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1784142

继续阅读