puppet 初识
admin
2023-02-15 13:00:05
0

【puppet初识】

学习目录  领导说saltstack太慢 机器量一旦上来,saltstack就力不从心,所以要将saltstack转向puppet。



【安装背景】

系统centos 6.5


软件地址:

http://downloads.puppetlabs.com/puppet/



master: 192.168.100.10

agent: 192.168.100.13

因为puppet对ca证书的办法是很对域名了。所以域名一定要解析并且master端最好不要变。

【安装步骤】


时钟同步

ntpdate pool.ntp.org


设置hostname并放入hosts解析

echo "192.168.100.10  master.test.com" >> /etc/hosts
echo "192.168.100.13  agent.test.com" >> /etc/hosts



puppet端master和agent端的安装:

puppet是基于ruby的,所以首先要安装ruby语言环境。

yum install ruby -y


安装facter -->收集系统信息的软件命令

################# master 和agent 共同的步骤 #############

tar xvf facter-1.6.13.tar.gz 

cd facter-1.6.13

ruby install.rb 


## 检查facter安装是否成功

facter 收集系统的信息的命令工具



tar xvf puppet-3.0.0.tar.gz 

cd puppet-3.0.0

ruby install.rb 






创建puppet 用户否则启动失败

useradd  puppet



######################## master 拷贝配置

[root@master puppet-3.0.0]# pwd

/usr/local/src/puppet-3.0.0

[root@master puppet-3.0.0]# cp ext/redhat/server.init /etc/init.d/puppetmaster 

[root@master puppet-3.0.0]# chmod 755 /etc/init.d/puppetmaster 


cp ext/redhat/puppet.conf  /etc/puppet/

######################## agent 拷贝配置

[root@agent puppet-3.0.0]# cp  ext/redhat/client.init  /etc/init.d/puppetclient

[root@agent puppet-3.0.0]# chmod 755 /etc/init.d/puppetclient






##### master启动

/etc/init.d/puppetmaster start


#### master启动检测

[root@master puppet-3.0.0]# ps -ef |grep ruby

puppet   10915     1  1 16:34 ?        00:00:01 /usr/bin/ruby /usr/bin/puppet master

root     11272  6458  0 16:36 pts/0    00:00:00 grep --color=auto ruby

[root@master puppet-3.0.0]# netstat -tulnp |grep ruby

tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN      10915/ruby 




##### agent 启动

[root@agent puppet-3.0.0]# /etc/init.d/puppetclient start

Starting puppet agent:     



#### agent 启动检测

[root@agent puppet-3.0.0]# ps -ef |grep ruby

root      5623     1  5 16:40 ?        00:00:02 /usr/bin/ruby /usr/bin/puppet agent





############## agent 请求证书 master签发证书  


agent request   agent端向maser端发起证书请求 puppet agent --test --server master.test.com

master accept    puppet cert sign  agent.test.com  接收指定的 puppet cert sign --all 接收所有的请求

agent fetch 



过程1

[root@agent puppet-3.0.0]# puppet agent --test --server master.test.com 

Info: Caching certificate for ca

Info: Creating a new SSL certificate request for agent.test.com

Info: Certificate Request fingerprint (SHA256): DB:AC:CB:4E:FC:68:E3:71:B5:45:6E:6C:73:C9:EE:27:11:0F:2D:5A:8F:43:21:53:0D:33:7F:85:87:4B:0E:59

Exiting; no certificate found and waitforcert is disabled

[root@agent puppet-3.0.0]# 



过程2:

master端已经有这个请求了 接受就可以了

[root@master puppet]# puppet cert list  或者 puppet cert list --all        

  "agent.test.com" (SHA256) DB:AC:CB:4E:FC:68:E3:71:B5:45:6E:6C:73:C9:EE:27:11:0F:2D:5A:8F:43:21:53:0D:33:7F:85:87:4B:0E:59

[root@master puppet]# 


接收证书:

[root@master puppet]# puppet cert sign  agent.test.com

Signed certificate request for agent.test.com

Removing file Puppet::SSL::CertificateRequest agent.test.com at '/var/lib/puppet/ssl/ca/requests/agent.test.com.pem'




过程3:

agent端测试

puppet agent --test --server master.test.com





############### 出错过程 ##########

[root@agent puppet-3.0.0]# puppet  agent --test                  

Error: Could not request certificate: Connection refused - connect(2)

Exiting; failed to retrieve certificate and waitforcert is disabled




我这里的原因是 agent的使用的都是默认配置 没有知道指定master 解决方法:

puppet agent --test --server master.test.com


排除了网络问题的命令: telnet master.test.com 8140



####### 写一个测试用例 测试 master 和 agnet可以通信了 及 master可以管理agent端了   agent可以同步master端了


master端编写一个测试pp

[root@master manifests]# cat site.pp

file { "/tmp/temp1.txt":

      content => "Hello World\n"; }

[root@master manifests]# pwd

/etc/puppet/manifests



### agent 进行同步

[root@agent puppet-3.0.0]# puppet agent --test --server master.test.com

Info: Retrieving plugin

Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://master.test.com/plugins

Info: Caching catalog for agent.test.com

Info: Applying configuration version '1480151413'

/Stage[main]//File[/tmp/temp1.txt]/ensure: defined content as '{md5}e59ff97941044f85df5297e1c302d260'

Finished catalog run in 0.04 seconds

[root@agent puppet-3.0.0]# cat /tmp/temp1.txt 

Hello World

[root@agent puppet-3.0.0]# 




上面错误的信息原因:

Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://master.test.com/plugins


不影响: 原因未知  







【puppet清楚证书】

master端:

[root@shzr-vctr001 user]# puppet cert --clean shzr-vapp015.a.pa.com

Notice: Revoked certificate with serial 14

Notice: Removing file Puppet::SSL::Certificate shzr-vapp015.a.pa.com at '/var/lib/puppet/ssl/ca/signed/shzr-vapp015.a.pa.com.pem'

Notice: Removing file Puppet::SSL::Certificate shzr-vapp015.a.pa.com at '/var/lib/puppet/ssl/certs/shzr-vapp015.a.pa.com.pem'



client端:

\rm -r  /var/lib/puppet/ssl/


相关内容

热门资讯

神龙拜耳光伏有限公司生产支架 光伏支架,到底“支”起了什么? 提到光伏电站,很多人第一反应是那一块块深蓝色的电池板。但真正让这些电...
食品级制冰袋厂家选型指南:上海... 导语:在餐饮、物流、医药等行业中,制冰袋作为低温保鲜的核心耗材,其性能稳定性直接影响产品品质与运营效...
南通崇川发放首笔“算力券”补贴 购买、领券、付款……近日,随着在南通市公共算力服务平台算力超市完成中国移动算力服务的租用下单操作,江...
百万上下文之后,拼什么? 文 | 科技不许冷 过去几天,科技圈的视线全被DeepSeek吸走了。 满屏都是传闻中的估值溢价,...
成语之都 好玩邯郸丨邯山区AI... (来源:邯郸新闻网) 转自:邯郸新闻网 近日,在邯山区科技创新产业园内的邯郸人工智能教育基地,一拨拨...
量子计算机联手超级计算机,创下... 5 月 5 日消息,量子计算机最具前景的应用方向之一是模拟蛋白质,助力人类研发新药,但目前这类设备误...
我国新一代人工智能技术加速落地... 2026 年 5 月 5 日,工信部、科技部、国家网信办联合发布《人工智能产业高质量发展行动计划(2...
老黄可能开始焦虑了 文 | 象先志 2026年4月15日,黄仁勋在Dwarkesh Patel 的播客里经历了一场他很...
俄外长与美国务卿通话,讨论双边... △鲁比奥(左)与拉夫罗夫(右)当地时间5月5日,据俄罗斯外交部消息,俄罗斯外长拉夫罗夫与美国国务卿鲁...
即使中东冲突今天停止,欧盟在未... 新华社布鲁塞尔5月5日电(记者康逸)欧盟能源委员丹·约根森5日警告说,由于伊朗战事以及霍尔木兹海峡遭...