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
[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


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


相关文章
|
关系型数据库 网络安全 PostgreSQL
puppet连载14:安装puppetdb
yum install puppetdb puppetdb-terminus -y service puppetdb start vi /etc/puppet/puppet.
1061 0
|
网络协议 应用服务中间件 Shell
puppet连载12:linux安装nginx、openresty
服务端在/puppet/soft 里建nginx1102setup.sh,内容: !/bin/bash yum -y install wget libtool expat-devel gcc gcc-c++ glibc automake autocon...
929 0
|
Java 应用服务中间件 Linux
puppet连载九:linux安装jdk、tomcat模块
安装jdk1.8.0_91和tomcat8.0.36 mkdir -p /etc/puppet/modules/linuxjdktomcat/{manifests,templates,files} vi /etc/puppet/modules/linuxjdktomcat/manifests/init.
1078 0
|
MySQL 关系型数据库 Linux
puppet连载10:linux安装percona57/56/55、sysbench、tpcc模块
在服务端/puppet/soft下建my.cnf,内容为https://www.jianshu.com/p/c63fc6c71279 在服务端/puppet/soft下建changemysql57pass.
1074 0
|
关系型数据库 MySQL Linux
puppet连载四:服务端安装dashboard
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - curl -L get.rvm.io | bash -s stable source /etc/profile.
1263 0
|
Linux 开发工具 git
puppet连载七:linux基础组件安装模块
linux基础组件安装模块linuxbaseinstall 更换源,安装gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf git mkdir -p /etc/puppet...
1073 0
|
网络安全 Apache Ruby
puppet连载三:服务端安装http、passenger
服务端安装插件: yum install -y ruby-devel ruby-libs rubygems libcurl-devel httpd httpd-devel apr-util-devel apr-devel mod_ssl gcc-c++...
1066 0
|
消息中间件
puppet 连载二:服务端和客户端安装(ActiveMQ、MCollective)
-------------------------------------服务端----------------------------------- 1、jdk安装 vi /etc/profile export JAVA_HOME=/usr/loca...
1147 0
|
网络协议 Apache
puppet 连载一:服务端和客户端安装(puppet、svn)
1、mkdir /puppet mkdir /puppet/soft 2、服务端安装dnsmasq:yum install -y dnsmasq cp /etc/dnsmasq.
1418 0
|
Linux Windows Ruby
puppet 服务端 客户端安装
转载:http://blog.51cto.com/ywzhou/1576141一、安装说明 官方安装向导https://docs.puppetlabs.com/guides/install_puppet/install_el.
1061 0