阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Puppet3.5源码包安装和配置

176次阅读
没有评论

共计 4752 个字符,预计需要花费 12 分钟才能阅读完成。

简介:
Puppet 采用 C / S 星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个 puppet 客户端每半小时 (可以设置) 连接一次服务器端, 下载最新的配置文件, 并且严格按照配置文件来配置服务器. 配置完成以后,puppet 客户端可以反馈给服务器端一个消息. 如果出错, 也会给服务器端反馈一个消息。
一、在 master 和 client 安装 puppet
1、关闭 iptables 和 selinux

2、在 hosts 添加 master 和 client 主机信息
[root@master ~]# vi /etc/hosts
192.168.1.10    master
192.168.1.11    client

3、在 master 上安装 puppet
1)创建相关目录以及下载所需软件
[root@master ~]# mkdir /tmp/soft/
[root@master ~]# cd /tmp/soft/
[root@master soft]# wget http://downloads.puppetlabs.com/puppet/puppet-3.5.1.tar.gz
[root@master soft]# wget https://downloads.puppetlabs.com/facter/facter-2.0.1.tar.gz
[root@master soft]# wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz

2)安装 ruby
[root@master soft]# tar fzvx ruby-2.1.2.tar.gz
[root@master soft]# cd ruby-2.1.2
[root@master ruby-2.1.2]# ./configure –prefix=/usr/local/ruby
[root@master ruby-2.1.2]# make && make install
# 添加环境变量
[root@master ruby-2.1.2]# vi /etc/profile.d/ruby.sh
export PATH=$PATH:/usr/local/ruby/bin
[root@master ruby-2.1.2]# source /etc/profile
# 查看 ruby 版本信息
[root@master ruby-2.1.2]# ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

3)安装 facter
1234 [root@master ruby-2.1.2]# cd ..
[root@master soft]# tar zfvx facter-2.0.1.tar.gz
[root@master soft]# cd facter-2.0.1
[root@master facter-2.0.1]# ruby install.rb

4)安装 puppet

1234567891011 [root@master facter-2.0.1]# cd ..
[root@master soft]# useradd -M -s /sbin/nologin puppet
[root@master soft]# tar fzvx puppet-3.5.1.tar.gz
[root@master soft]# cd puppet-3.5.1
[root@master puppet-3.5.1]# ruby install.rb
[root@master puppet-3.5.1]# cp ext/RedHat/puppet.conf /etc/puppet/puppet.conf
[root@master puppet-3.5.1]# vi /etc/puppet/puppet.conf
# 在 [main] 中增加:
server = master      #master 的主机名
certname = master    #master 的主机名
pluginsync = false

5)启动 puppet

[root@master puppet-3.5.1]# puppet master
[root@master puppet-3.5.1]# ps -ef |grep master
puppet  11503    1  0 12:24 ?        00:00:01 /usr/local/ruby/bin/ruby /usr/local/ruby/bin/puppet master

4、在 client 上安装 puppet

1)安装 ruby
[root@client soft]# tar fzvx ruby-2.1.2.tar.gz
[root@client soft]# cd ruby-2.1.2
[root@client ruby-2.1.2]# ./configure –prefix=/usr/local/ruby
[root@client ruby-2.1.2]# make && make install
# 添加环境变量
[root@client ruby-2.1.2]# vi /etc/profile.d/ruby.sh
export PATH=$PATH:/usr/local/ruby/bin
[root@client ruby-2.1.2]# source /etc/profile
# 查看 ruby 版本信息
[root@client ruby-2.1.2]# ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

2)安装 facter
[root@client ruby-2.1.2]# cd ..
[root@client soft]# tar zfvx facter-2.0.1.tar.gz
[root@client soft]# cd facter-2.0.1

3)安装 puppet

[root@client facter-2.0.1]# cd ..
[root@client soft]# useradd -M -s /sbin/nologin puppet
[root@client soft]# tar fzvx puppet-3.5.1.tar.gz
[root@client soft]# cd puppet-3.5.1
[root@client puppet-3.5.1]# ruby install.rb
[root@client puppet-3.5.1]# cp ext/redhat/puppet.conf /etc/puppet/puppet.conf
[root@client puppet-3.5.1]# vi /etc/puppet/puppet.conf
# 在 [main] 中增加:
server = master      #master 的主机名
pluginsync = false

二、puppet 证书认证

puppet 为了安全,采用 ssl 隧道通信,因此需要申请证书来验证的。
1)Client agent 连接 server
[root@client ~]# puppet agent –server=master

2)在 master 上查看申请证书请求
[root@master ~]# puppet cert –list
  “client” (SHA256) 02:EC:D4:CD:02:29:D2:31:3A:CA:9A:56:BD:4C:85:71:6A:8B:80:EB:E5:96:5D:97:41:C5:89:F5:23:B9:F6:97

3)在 master 上签发证书
[root@master ~]# puppet cert –sign client
Notice: Signed certificate request for client
Notice: Removing file Puppet::SSL::CertificateRequest client at ‘/etc/puppet/ssl/ca/requests/client.pem’
# 查看证书,” + ” , 表示已经签名成功
[root@master ~]# puppet cert -all
+ “client” (SHA256) 1F:41:43:6E:34:0E:69:4D:5C:51:40:92:57:CA:5F:F0:98:58:11:38:D6:2B:46:67:63:55:6E:DC:7E:F2:BC:BA
+ “master” (SHA256) DF:31:4C:9A:89:FF:34:7B:87:81:0D:03:B8:86:66:78:44:BD:02:6D:C1:C9:1F:0A:27:54:8A:31:32:47:1F:07

三、内容同步验证

1)在 master 上创建一个 site.pp 文件
[root@master ~]# vi /etc/puppet/manifests/site.pp
node default {file { “/tmp/test.txt”: content => “Hello, First puppet test!”} }

2)在 client 机进行验证,如果 /tmp/test.txt 文件生成并有内容,则说明功能正常。
[root@client ~]# puppet agent –test
Info: Caching certificate for client
Info: Caching certificate_revocation_list for ca
Info: Caching certificate for client
Info: Caching catalog for client
Info: Applying configuration version ‘1403072815’
Notice: /Stage[main]/Main/Node[default]/File[/tmp/test.txt]/ensure: defined content as ‘{md5}390b4c389233b9ae38a84ff8c731a8a1’
Info: Creating state file /var/lib/puppet/state/state.yaml
Notice: Finished catalog run in 0.04 seconds
# 查看 /tmp/ 目录
[root@client ~]# cat /tmp/test.txt 
Hello, First puppet test!

Puppet 学习系列:

Puppet 学习一:安装及简单实例应用 http://www.linuxidc.com/Linux/2013-08/88710.htm

Puppet 学习二: 简单模块配置和应用 http://www.linuxidc.com/Linux/2013-08/88711.htm

相关阅读:

有关 Puppet agent 端三种备份恢复方案探讨研究 http://www.linuxidc.com/Linux/2013-07/87885.htm
选择更安全的方式注册你的 Puppet 节点 http://www.linuxidc.com/Linux/2013-07/87884.htm
通过配置 SSH 深刻理解 Puppet 的语法及工作机制 http://www.linuxidc.com/Linux/2013-07/87882.htm
Puppet 利用 Nginx 多端口实现负载均衡 http://www.linuxidc.com/Linux/2013-02/79794.htm
CentOS(5 和 6)下 Puppet 的 C / S 模式实例 http://www.linuxidc.com/Linux/2011-12/50502.htm

Puppet 的详细介绍:请点这里
Puppet 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120400.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计4752字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中