2022
我们一起努力

puppet 学习(一: 安装及简单实例应用) - 编程语言

本次安装环境是: centos 5.4 X86_64位
Server:  
1.先安装ruby语言包、ruby标准库、ruby shadow
  yum
install -y  ruby ruby-libs ruby-shadow
2.需要添加EPRL库,来支持puppet
       wget
http:// dl.fedoraproject.org
/pub/epel/5Server/x86_64/epel-release-5-4.noarch.rpm
如果你的系统是centos
6
版本的或者是centos 5版本但是是32位的,可以到网站:
dl.fedoraproject.org查找你们想要的
3.master主机上,需要从EPEL仓库安装puppetpuppet-server facter
       rpm
-Uvh epel-release-5-4.noarch.rpm
puppet软件包含了agent程序,puppet-server软件包含了master程序,facter软件包含了系统盘点工具facter,可以获取agent主机的相关信息
       yum
install -y puppet puppet-server facter
之后启动puppet
master
service puppetmaster start
启动
puppetmaster
[确定]
这样,puppet
server
上的安装算是完成了
现在,masteragent都安装好了,解释一下/etc/puppet/下的文件含义:
       Puppet.conf
  puppet
的服务端配置文件
       Auth.conf   client访问puppet serveracl配置文件
       Fileserver.conf   puppet server作为文件服务器的ACL配置文件
       Manidests    puppet的脚本目录文件目录
       Site.pp
文件告诉puppet去哪里寻找并载入指定的客户端配置,如果缺少此文件,puppet会启动失败的
  防火墙设置
       -A
RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8140 -j ACCEPT
需要重启防火墙,service
iptables restart
配置好防火墙后,就可以允许client访问puppet
配置第一个agent
   Client
同样需要安装epel-release-5-4.noarch.rpm
下载:wget http://dl.fedoraproject.org/pub/epel/5Server/x86_64/epel-release-5-4.noarch.rpm
       rpm -ivh epel-release-5-4.noarch.rpm
agent端只需要安装:
       yum install puppet facter
   Client
请求puppet
agent –server=puppet.xxxx.com(puppet master域名)  –verbose –no-daemonize
解释:参数
–server 指定了需要连接puppet master 的域名或者主机名,尽量使域名吧,否则不同网络之间无法通过主机名相通
–no-daemonize 使得puppet 客户端运行在前端并输出日志到标准输出
–verbose 使客户端输出更详细的日志
Server端需要相应这个请求
查看:puppet cert –list    
 
”shwt08” (94:BC:4A:FA:31:E1:10:9F:3C:4D:B3:E8:CB:A4:F8:B9)
puppet
cert –sign shwt08  
notice: Signed certificate request for
shwt08
notice: Removing file Puppet::SSL::CertificateRequest
shwt08 at ’/var/lib/puppet/ssl/ca/requests/shwt08.pem’
当然,如果我们有很多个client的话,都需要一个个去认证确实是一件很麻烦的事情,所以,修改puppet.conf文件,实现自动化认证
       在全局”[mian]”下添加一行:
       autosign
= true
重启master
       service
puppetmaster restart
重新添加一个clint,验证
       需要先去wget 后需要编辑/etc/hosts
之后puppet agent
–server=puppet.xxxx.com  –no-daemonize –verbose
发现是没有问题的
创建第一个配置:
master上修改两个文件:
       目录/etc/puppet/manifests下:
              nodes.pp  site.pp 
如果没有这两个文件就手工建吧
vi nodes.pp
       node
default {
  
file{”/root/vol_disk_check.sh”:
       
source => ”puppet:///files/vol_disk_check.sh”,
       
owner => ”root”,
       
group => ”root”,
       
mode => 755;
   }
}
Vi site.pp
              import
’nodes.pp’
至于具体的解释说明,等下章再详细的解释下,这篇文章主要来阐明puppet安装及简易同步文件的效果
       测试来同步一个文件 
              puppet
agent –server=puppet.xxxx.com –test -v
ok,从详细信息中,得知client已经同步文件了
 
下面说遇到的两个错误:
错误1
       err: Could not retrieve catalog from remote
server: hostname not match with the server certificate 
解决办法:
       masterclient上查看是否二者日期不同步
       client上配置/etc/hosts文件,编辑添加puppet.xxxx.com 解析(IP 域名)
错误2
       err:
Could not retrieve catalog from remote server: Connection refused – connect(2)
解决办法:
              这个是因为master 上的主程序没有启动的缘故,到master上查看程序puppetmaster 发现提示进程已死,
       service
puppetmaster status
puppetmasterd 已死,但 pid 文件仍存
查看了下配置文件,发现是在修改fileserver.conf时修改错误导致的,也就是说当遇到这个错误提示的时候,要查看/etc/puppet目录下的主配置文件是否有问题
   文件fileserver.conf 中:[files]
 
path /var/lib/puppet/files
这个path下是放置我们要同步更新的文件
 
 
 

赞(0)
文章名称:《puppet 学习(一: 安装及简单实例应用) - 编程语言》
文章链接:https://www.fzvps.com/81843.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!