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

[经验分享] puppet学习积累

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-26 13:21:03 | 显示全部楼层 |阅读模式
  一 puppet简介
         puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
    puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置服务器. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.
  二  puppet安装测试环境介绍
       虚拟机vmware   系统centos5.5
      服务器端   192.168.2.113    centos113.sdj
      客户端       192.168.2.114   centos114.sdj
     安装puppet前的准备
    在服务端和客户端都执行以下命令
     添加puppet用户   # groupadd puppet
                                # useradd  -g puppet -s /bin/false -M puppet  
  修改Host文件;# echo  "192.168.2.113 centos113.sdj">> /etc/hosts
                          # echo  "192.168.2.114 centos114.sdj">> /etc/hosts
   安装ruby        #yum -y install ruby
  安装Facter    是用来搜集当前安装系统的环境变量信息的
      # wget http://projects.puppetlabs.com/attachments/download/1101/facter-1.5.8.tar.gz
      # tar xf facter-1.5.8.tar.gz  && cd facter-1.5.8/
      # ruby  install.rb && cd  ~
     # facter    执行这个命令就可以看到facter获取到的变量名和内容
  
  现在开始安装puppet
  # wget http://projects.puppetlabs.com/attachments/download/1114/puppet-2.6.1.tar.gz  
  # tar xzf puppet-2.6.1.tar.gz && cd puppet-2.6.1
  # ruby  install.rb
  # mkdir -p /etc/puppet &&cp  conf/redhat/*  /etc/puppet/ && cd ~
  验证安装成功
  # puppet master
  # ps -ef|grep  puppet |grep -v grep
  puppet    3247    1  0 23:02 ?        00:00:00 /usr/bin/ruby /usr/bin/puppet master
  #   kill  1871
  
  ---------------------------------
  接下来配置服务器端
  将puppetmasterd设置为服务,并自启动
  # cp /etc/puppet/server.init  /etc/init.d/puppetmasterd  
  #  chmod  755 /etc/init.d/puppetmasterd  
  # chkconfig --add puppetmasterd  
  # chkconfig --level 35  puppetmasterd  on  
  启动服务  #service  puppetmasterd  start
  查看是否打开8140端口   # netstat -tnl
  Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN

  防火墙和端口设定。puppet服务器端默认使用8140端口监听服务,需要在iptables上开启该端口。                                                
     iptables  -A INPUT  -p tcp --dport 8140 -j ACCEPT                                                
     请在/etc/sysconfig/iptables 中加入上文的规则,并重启iptables。

  审批证书
  客户端申请证书
  在客户端centos114执行   #  puppetd --test  --server centos113.sdj
  warning: peer certificate won't be verified in this SSL session                                             
     info: Caching certificate for ca                                             
     warning: peer certificate won't be verified in this SSL session                                             
     warning: peer certificate won't be verified in this SSL session                                             
     info: Creating a new SSL certificate request for centos114.sdj                                             
     info: Certificate Request fingerprint (md5): C5:5A:5E:A9:04:44:CF:A7:F3:46:14:6A:C7:C1:24:C8                                               
     warning: peer certificate won't be verified in this SSL session                                       
     warning: peer certificate won't be verified in this SSL session                                       
     warning: peer certificate won't be verified in this SSL session                                       
     Exiting; no certificate found and waitforcert is disabled   

  出现上述类似信息说明成功
  服务器接受申请  
  在服务器端centos113执行 # puppetca  --list
     centos114.sdj
  批准当前证书  # puppetca  -s centos114.sdj
  notice: Signed certificate request for centos114.sdj
     notice: Removing file Puppet::SSL::CertificateRequest centos114.sdj at '/var/lib/puppet/ssl/ca/requests/centos114.sdj.pem'

  
  客户端取回已经通过审批的证书
  客户端执行 #  puppetd --test  --server centos113.sdj
  重新审批旧机器的新证书。
  当申请到证书以后我们对比下这两个文件,他们的MD5值是一样的
  服务器端[iyunv@centos113.sdj ~]# md5sum /var/lib/puppet/ssl/ca/signed/centos114.sdj.pem
  客户端 [iyunv@centos114.sdj ~]# md5sum /var/lib/puppet/ssl/certs/centos114.sdj.pem
  功能测试
  在服务器端新建一个/etc/puppet/manifests/site.pp文件,大意是在/tmp下创建caotest.txt测试文件。
  [iyunv@centos113.sdj ~]# vi /etc/puppet/manifests/site.pp
  node default {                                          
     file {"/tmp/caotest.txt":                   #这是文件路径名,后面是冒号                  
     content=>"I'm Caotest PUPPET"; }                   #这是文件的内容 后面是分号                     
     }              #初次创建这个文件需要重启服务

  # service puppetmasterd restart
  在客户端执行命令
  # puppetd --test  --server centos113.sdj
  # ls -l /tmp       查看/tmp目录下是否有caotest.txt文件如果有说明测试成功
  
  客户端设置守护进程
  # puppetd --server caotest-1.cym --verbose --waitforcert 60
   # --server 告诉它master结点的ip,--waitforcert是说每60秒去server检查,--verbose是可选的输出冗余信息
  参考   http://bbs.linuxtone.org/forum-viewthread-tid-8480-fromuid-1049.html
  

运维网声明 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-143912-1-1.html 上篇帖子: 【Puppet2D】实践2 下篇帖子: puppet 应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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