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

[经验分享] 初始Puppet—Puppet的安装和简单使用

[复制链接]

尚未签到

发表于 2018-8-2 12:16:38 | 显示全部楼层 |阅读模式
  一、Puppet简介:
  puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
  puppet 系统架构
  Puppet是开源的基于Ruby的系统配置管理工具,puppet是一个C/S结构, 当然,这里的C可以有很多,因此,也可以说是一个星型结构. 所有的puppet客户端同一个服务器端的puppet通讯. 每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置服务器. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.
  二、搭建环境介绍:
  服务器:192.168.8.177  master.jiu.com
  客户端:192.168.8.165 agent165.jiu.com
  192.168.8.168 agent168.jiu.com
  192.168.8.174 agent174.jiu.com
  192.168.8.176 agent176.jiu.com
  三、安装配置Puppet
  1)安装运行ruby程序所用的软件包。
  [root@master ~]#yum install ruby ruby-libs
  [root@master ~]# rpm -qa | grep ruby
  ruby-1.8.7.352-13.el6.x86_64
  ruby-libs-1.8.7.352-13.el6.x86_64
  2)创建puppet用户和组.
  [root@master ~]# groupadd puppet
  [root@master ~]# useradd -g puppet -s /bin/false -M puppet
  3)修改host文件.
  [root@master ~]# more /etc/hosts
  127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  192.168.8.177 master.jiu.com
  192.168.8.165 agent165.jiu.com
  192.168.8.168 agent168.jiu.com
  192.168.8.174 agent174.jiu.com
  192.168.8.176 agent176.jiu.com
  4)解压并执行安装下载的文件包。
  [root@master ~]# cd /taokey/tools/
  [root@master tools]# tar -zxf facter-1.7.5.tar.gz
  [root@master tools]# cd facter-1.7.5
  [root@master facter-1.7.5]# ruby install.rb
  [root@master facter-1.7.5]# cd ..
  [root@master tools]# tar -zxf puppet-2.7.25.tar.gz
  [root@master tools]# cd puppet-2.7.25
  [root@master puppet-2.7.25]# ruby install.rb
  5)拷贝puppet文件到/etc/puppet目录
  [root@master puppet-2.7.25]# mkdir -p /etc/puppet && cp conf/redhat/* /etc/puppet/
  [root@master puppet-2.7.25]# cp /etc/puppet/server.init /etc/init.d/puppetmasterd
  6)赋予脚本权限,设置相应的启动项。
  [root@master ~]# chmod 755 /etc/init.d/puppetmasterd
  [root@master ~]# ll /etc/init.d/puppetmasterd
  -rwxr-xr-x. 1 root root 3936 4月  18 15:44 /etc/init.d/puppetmasterd
  [root@master ~]# chkconfig --add puppetmasterd
  [root@master ~]# chkconfig --level 35 puppetmasterd on
  [root@master ~]# chkconfig --list | grep puppetmasterd
  puppetmasterd   0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
  [root@master ~]# /etc/init.d/puppetmasterd restart
  停止 puppetmaster:                                        [确定]
  启动 puppetmaster:                                        [确定]
  [root@master ~]# netstat -anpt | grep 8140
  tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN      21341/ruby
  2.客户端设置:
  1)修改服务器的主机名。
  [root@agent165 ~]# more /etc/sysconfig/network
  NETWORKING=yes
  NETWORKING_IPV6=no
  HOSTNAME=agent165.jiu.com
  GATEWAY=192.168.1.1
  [root@agent165 ~]# hostname
  agent165.jiu.com
  2)安装运行ruby程序所用的软件包。
  [root@agent165 ~]# yum install -y ruby ruby-libs
  [root@agent165 ~]# more /etc/hosts
  # Do not remove the following line, or various programs
  # that require network functionality will fail.
  127.0.0.1               web2 localhost.localdomain localhost
  ::1             localhost6.localdomain6 localhost6
  192.168.8.177 master.jiu.com
  192.168.8.165 agent165.jiu.com
  3)解压并执行安装下载的文件包。
  [root@agent165 ~]# cd /taokey/tools/
  [root@agent165 tools]# ls
  facter-1.7.5.tar.gz  puppet-2.7.25.tar.gz
  [root@agent165 tools]# tar -zxf facter-1.7.5.tar.gz
  [root@agent165 tools]# cd facter-1.7.5
  [root@agent165 facter-1.7.5]# ruby install.rb
  [root@agent165 facter-1.7.5]# cd ..
  [root@agent165 tools]# tar -zxf puppet-2.7.25.tar.gz
  [root@agent165 tools]# cd puppet-2.7.25
  [root@agent165 puppet-2.7.25]# ruby install.rb
  4)拷贝puppet文件到/etc/puppet目录
  [root@agent165 puppet-2.7.25]# mkdir /etc/puppet && cp /etc/puppet/client.init /etc/init.d/puppet
  [root@agent165 ~]# chmod 755 /etc/init.d/puppet
  [root@agent165 ~]# chkconfig --add puppet
  [root@agent165 ~]# chkconfig --level 35 puppet on
  [root@agent165 ~]# chkconfig --list | grep puppet
  puppet          0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
  [root@agent165 ~]# /etc/init.d/puppet start
  启动 puppet:                                              [确定]
  [root@agent165 ~]# netstat -anpt | grep 8140
  tcp        0      1 192.168.8.165:49494         202.106.199.34:8140         SYN_SENT    23799/ruby
  3.测试是否可以连接、
  [root@agent165 ~]# telnet master.jiu.com 8140
  Trying 192.168.8.177...
  Connected to master.jiu.com (192.168.8.177).
  Escape character is '^]'.
  quit
  Connection closed by foreign host.
  1)向服务端申请证书
  [root@agent165 ~]# puppetd --test --server master.jiu.com
  info: Caching certificate for ca
  info: Creating a new SSL certificate request for agent165.jiu.com
  info: Certificate Request fingerprint (md5): BC:9C:93:4C:8E:71:8A:EB:E0:1E:F0:99:DC:37:BA:E5
  Exiting; no certificate found and waitforcert is disabled
  2)在服务端查看下是否有等待审批证书
  [root@master ~]# puppetca --list
  "agent165.jiu.com" (BC:9C:93:4C:8E:71:8A:EB:E0:1E:F0:99:DC:37:BA:E5)
  3)审批证书
  [root@master ~]# puppetca -s agent165.jiu.com
  notice: Signed certificate request for agent165.jiu.com
  notice: Removing file Puppet::SSL::CertificateRequest agent165.jiu.com at '/var/lib/puppet/ssl/ca/requests/agent165.jiu.com.pem'
  4)批准当前证书
  [root@agent165 ~]# puppetd --test --server master.jiu.com
  info: Caching certificate for agent165.jiu.com
  info: Caching certificate_revocation_list for ca
  info: Caching catalog for agent165.jiu.com
  info: Applying configuration version '1398158898'
  notice: Finished catalog run in 0.04 seconds
  4.puppet同步管理功能测试。puppet文件需要在/etc/puppet/manifests/site.pp中写任务。
  [root@master ~]# cd /etc/puppet/manifests/
  [root@master manifests]# more site.pp
  node default{
  file {"/tmp/Puppet_test.txt":
  content => "My english name is Taokey.";}
  }
  重新启动下puppet。
  [root@master ~]# /etc/init.d/puppetmasterd restart
  停止 puppetmaster:                                        [确定]
  启动 puppetmaster:                                        [确定]
  [root@master ~]# chmod +x /etc/puppet/manifests/site.pp
  [root@master ~]# /etc/puppet/manifests/site.pp
  /etc/puppet/manifests/site.pp: line 1: node: command not found
  /etc/puppet/manifests/site.pp: line 2: file: command not found
  /etc/puppet/manifests/site.pp: line 3: syntax error near unexpected token `}'
  /etc/puppet/manifests/site.pp: line 3: `content => "My english name is Taokey.";}'
  在客户端同步任务,默认是半个小时同步一次。
  [root@agent165 ~]# puppetd --test --server master.jiu.com
  info: Caching catalog for agent165.jiu.com
  info: Applying configuration version '1398159168'
  notice: /Stage[main]//Node[default]/File[/tmp/Puppet_test.txt]/content:
  --- /tmp/Puppet_test.txt        2014-04-22 17:11:09.000000000 +0800
  +++ /tmp/puppet-file.28330.0    2014-04-22 17:32:33.000000000 +0800
  @@ -1 +1 @@
  - taokey are handsome
  \ No newline at end of file
  +My english name is Taokey.
  \ No newline at end of file
  info: FileBucket adding {md5}f8b6f91540f80377f00e8e73bed18992
  info: /Stage[main]//Node[default]/File[/tmp/Puppet_test.txt]: Filebucketed /tmp/Puppet_test.txt to puppet with sum f8b6f91540f80377f00e8e73bed18992
  notice: /Stage[main]//Node[default]/File[/tmp/Puppet_test.txt]/content: content changed '{md5}f8b6f91540f80377f00e8e73bed18992' to '{md5}4e616a37997cf68dd0f15702af9ceca1'
  notice: Finished catalog run in 0.14 seconds
  查看agent165这台服务器是否生成相应文件。
  [root@agent168 ~]# more /tmp/Puppet_test.txt
  My english name is Taokey.
  到此为止,实验结束。

运维网声明 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-545353-1-1.html 上篇帖子: 【4】puppet笔记 - 第一个简单模块 下篇帖子: 【5】puppet笔记 - defined类型、erb模板
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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