设为首页 收藏本站
查看: 876|回复: 0

[经验分享] Puppet学习手册:Puppet源码安装

[复制链接]
发表于 2018-8-2 13:20:51 | 显示全部楼层 |阅读模式
  环境:
  操作系统:RedHat 5.3 64bit
  Puppet版本:2.7.9
  Facter版本:1.6.8
  1、Puppet及Facter下载地址
  Puppet:https://downloads.puppetlabs.com/facter/
  Facter: https://downloads.puppetlabs.com/puppet/
  2、Puppet Server安装
  首先在安装Puppet之前,需要安装ruby,我们这里就直接使用yum安装,具体下:
# yum install -y ruby ruby-libs  ruby-shadow  ①、Facter安装
# tar xzvf facter-1.6.8.tgz  
# cd facter-1.6.8
  
# ruby install.rb
  ②、Puppet安装
# tar xzvf puppet-2.7.9.tgz  
# cd puppet-2.7.9
  
# ruby install.rb
  如上Puppet Server端的安装就已经完成了,那么接下来就是一些配置文档及启动脚本的设置了。

  •   配置文件
      安装完成之后,我们需要copy安装包里面的一些配置文件到Puppet配置目录/etc/puppet,具体如下:
    # cp conf/redhat/fileserver.conf /etc/puppet/  
    # cp conf/redhat/puppet.conf /etc/puppet/puppet.conf.default
      fileserver.conf → Puppet文件系统配置
      puppet.conf → Puppet的默认配置文档,可以参考下。不过这个也可以不复制,后面会命令生成
      注意:根据操心系统不同复制的配置文件的目录也会不一样,如上我们操作系统为redhat,目录为conf/redhat,如果操作系统是suse,那么目录就为conf/suse。
  •   启动脚本
    # cp conf/redhat/server.init /etc/init.d/puppetmaster  
    # chmod +x /etc/init.d/puppetmaster
      注意:默认情况下puppet的配置文档/etc/puppet/puppet.conf设置pid的存储路径为/var/lib/puppet/run,而启动脚本的路径为/var/run/puppet,这里两者需要统一。
  •   创建Puppet用户及相应目录
    # puppet master --mkusers  
    # ll /var/lib/puppet/
      
    total 48
      
    drwxr-x--- 2 puppet puppet 4096 Nov  1 17:34 bucket
      
    drwxr-x--- 2 puppet puppet 4096 Nov  7 14:11 clientbucket
      
    drwxr-x--- 2 puppet puppet 4096 Nov  7 14:11 client_data
      
    drwxr-x--- 2 puppet puppet 4096 Nov  7 14:11 client_yaml
      
    drwxr-xr-x 2 puppet puppet 4096 Nov  1 17:34 lib
      
    drwxr-x--- 2 puppet puppet 4096 Nov  8 14:06 log
      
    drwxr-x--- 3 puppet puppet 4096 Nov  4 17:28 reports
      
    drwxr-x--- 2 puppet puppet 4096 Nov  1 17:34 rrd
      
    drwxrwxrwt 2 puppet puppet 4096 Nov 12 11:42 run
      
    drwxr-x--- 2 puppet puppet 4096 Nov  1 17:34 server_data
      
    drwxr-xr-t 3 puppet puppet 4096 Nov  7 14:11 state
      
    drwxr-x--- 4 puppet puppet 4096 Nov  4 16:37 yaml
  创建的目录主要是/var/lib/puppet

  •   生成Puppet Server配置文档
    # puppetmasterd --genconfig > /etc/puppet/puppet.conf
  以上就将Puppet Server端给安装完成了,后续剩下的就是SSL认证了。
  3、Puppet Agent安装
  Agent端Facter及Puppet的安装和Server端是一样的,区别就在于两者之后的启动脚本和配置文档不一样,相关的配置信息如下:

  •   启动文件
    # cp -p conf/redhat/client.init /etc/init.d/puppet  
    # chmod +x /etc/init.d/puppet
  •   生成Puppet Agent配置文档
    # puppet agent --genconfig > /etc/puppet/puppet.conf
  4、SSL认证
  ①、DNS设置或者host设置
  Puppet SSL认证是通过域名来标记的,所有这里需要设置域名。因为这里是测试使用,本次的话就直接通过/etc/hosts来设置域名的IP指向了,如果在生产环境使用的话,建议还是使用DNS来设置。如下为Puppet Server及Agent的hosts设置:

  •   Puppet Server
    # cat /etc/hosts  
    ···
      
    10.197.95.245  szmlvm29-76 szmlvm29-76.easou.com
      
    10.197.95.234  szmlvm29-77 szmlvm29-77.easou.com puppet
  •   Puppet Agent
    # cat /etc/hosts  
    ···
      
    120.197.95.234  szmlvm29-77.easou.com szmlvm29-77
      
    120.197.95.245  szmlvm29-76.easou.com szmlvm29-76
  ②、Puppet Agent证书申请
# puppetd --server szmlvm29-76.easou.com --test  
或者
  
# puppetd --server szmlvm29-76.easou.com --no-daemonize –verbose
  第一个是申请证书时,不管是否成功,只执行一次。
  第二个是申请证书时,一直在前端实现详细信息,默认情况下是以daemon的形式执行的。
  ③、Puppet Server证书签发
# puppetca  --sign szmlvm29-77.easou.com 或者 puppet cert --sign szmlvm29-77.easou.com  
签发节点为szmlvm29-77.easou.com的证书
  
# puppetca  --sign --all 或者 puppet cert --sign --all
  
签发所有节点的证书
  其他Puppet Server和证书相关的命令有如下一些:
# puppet cert --list或者puppetca --list  
查看申请证书请求
  
# puppet cert -revoke puppet或者puppetca -revoke puppet
  
设置节点证书过期
  
# puppet cert --clean puppet或者puppetca --clean puppet
  
删除节点证书
  5、Puppet Server与Agent联通测试
  ①、配置site.pp
  site.pp这个文件是在/etc/puppet/manifests目录下,Puppet Server所有对Agent的操作都是从这个配置文件入口的。这里为了测试就简单的对这个文件进行配置,对Agent创建一个用户,具体信息如下:
$ cat site.pp  
node default {
  user { "test1" : ensure=>present,comment=>"测试",name=>test,shell=>"/bin/bash",home=>"/home/text",managehome=>true,password=>sha1('12345');}
  
}
  如上,对所有Agent创建一个用户名为test用户,使用shell为/bin/bash,加目录为/home/test,密码为12345。
  ②、Agent执行
# /usr/sbin/puppetd --server szmlvm29-76.easou.com --test  
info: Caching catalog for szmlvm29-77.easou.com
  
info: Applying configuration version '1384248986'
  
notice: /Stage[main]//Node[default]/User[test1]/ensure: created
  
notice: Finished catalog run in 0.16 seconds
# cat /etc/passwd  
···
  
test:x:505:506:测试:/home/text:/bin/bash
  
# ll /home/
  
···
  
drwx------  3 test   test     4096 Nov 18 14:41 text
  
# cat /etc/shadow
  
test:8cb2237d0679ca88db6464eac60da96345513964:16027:0:99999:7:::
  如上Puppet Agent执行结果为执行成功。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-545424-1-1.html 上篇帖子: 在Puppet中用ERB模板来自动配置Apache虚拟主机 下篇帖子: Puppet学习手册:Puppet Yum安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表