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

[经验分享] 开源自动化配置管理工具Puppet安装

[复制链接]

尚未签到

发表于 2018-8-3 10:27:30 | 显示全部楼层 |阅读模式
  转载本博客文章请注明,转载自:
  小明明's à domicile ()
  本文地址:
  http://www.dongwm.com/archives/%e5%bc%80%e6%ba%90%e8%87%aa%e5%8a%a8%e5%8c%96%e9%85%8d%e7%bd%ae%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7puppet%e5%ae%89%e8%a3%85/
  Puppet是一款开源的工具,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。可以被其他人利用,而忽略公司差异,实现了自动化部署。环境:
  系统:centos5.5
  1 首先安装企业Linux(EPEL)yum的仓库的额外的软件包:
  #rpm –Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
  2 安装centos需要的软件包:
  #yum install -y mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri
  我安装的版本是ruby1.8.5 ,不要安装1.87以上的版本,puppet还不支持。
  mysql可以使用自己编译安装的
  3 启动mysql:
  #service mysqld start
  #chkconfig mysqld on
  4 下载最近版本的puppet,我用的是编译安装,所以需要先安装facter:
  注:它的作用是收集主机的一些资料,比如CPU,主机IP等,facter把收集到值发送给puppet服务器端,服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件
  #wget http://puppetlabs.com/downloads/facter/facter-latest.tgz
  # tar zxvf facter-latest.tgz
  # cd facter-1.5.8
  # /usr/local/bin/ruby install.rb
  注:一个朋友告诉我,其实这个在epel库里面,YUM安装即可!
  5 下载安装puppet主程序     
  # wget http://puppetlabs.com/downloads/puppet/puppet-2.6.3.tar.gz
  # tar zxvf puppet-2.6.3.tar.gz
  # cd puppet-2.6.3
  # /usr/local/bin/ruby install.rb
  6 修改hosts文件
  server端
  127.0.0.1 localhost.localdomain localhost puppet
  192.168.8.56    client.dongwm.com
  client端
  192.168.8.200   puppet
  7 Server端安装与配置
  1 拷贝源文件
  #mkdir /etc/puppet
  #cp conf/auth.conf /etc/puppet/
  #cp conf/redhat/fileserver.conf /etc/puppet/
  #cp conf/redhat/puppet.conf /etc/puppet/
  #cp conf/redhat/server.init /etc/init.d/puppetmaster
  #chmod +x /etc/init.d/puppetmaster
  #chkconfig –add puppetmaster
  #chkconfig puppetmaster on
  #mkdir -p /etc/puppet/manifests
  2 创建puppet帐号
  # puppetmasterd –mkusers(执行中可能会出一些错误,基本上以前安装或创建过puppet用户的原因,执行就是让它自动去 /var/lib/puppet下创建一些目录)
  #mkdir /var/lib/puppet/rrd && chown puppet.puppet /var/lib/puppet/rrd
  3修改主机名(需要fqdn格式)
  #hostname master.dongwm.com
  # vi /etc/sysconfig/network
  修改为:HOSTNAME=master.dongwm.com
  4启动服务
  *第一次启动时puppet会自动创建所需的文件,包括一系列证书文件等
  我建议使用DEBUG模式,可以看见启动过程:
  puppetmasterd -d –no-daemonize -v –trace
  8 Client端配置
  编译安装同server端
  1 复制配置文件
  #mkdir /etc/puppet
  #cp conf/auth.conf /etc/puppet/
  #cp conf/namespaceauth.conf /etc/puppet/
  #cp conf/redhat/puppet.conf /etc/puppet/
  #cp conf/redhat/client.init /etc/init.d/puppet
  #chmod +x /etc/init.d/puppet
  #chkconfig –add puppet
  #chkconfig puppet on
  2 创建puppet帐号
  # puppetd –mkusers
  #mkdir –r /var/lib/puppet/rrd &&chown puppet.puppet /var/lib/puppet/rrd
  3 修改主机名
  # hostname client.dongwm.com
  # vi /etc/sysconfig/network
  修改
  HOSTNAME=client.dongwm.com
  4 启动服务
  /etc/init.d/puppet start
  注:当启动puppet时,程序会根据puppet.conf中的配置自动向服务端发起证书验证请求。
  puppet.conf的详细完整内容可以使用“puppet –genconfig | less”(master端使用puppetmasterd –genconfig | less)
  命令详细查看
  签名证书
  我们在server端查看等待确认的证书:
  #puppetca –list
  client.okooo.com
  5 全部认证:
  #puppetca -s -a
  注:也可以在master端的puppet.conf加这样一行:
  autosign = true
  这样就会自动签证书了。
  
  客户端再请求一次:
  #puppetd –test –server master.dongwm.com
  err: Could not retrieve catalog from remote server: certificate verify failed
  这是时间不同步的问题:
  同步一下时间(两端都执行):
  #/usr/sbin/ntpdate time.nist.gov
  删除/var/lib/puppet/ssl目录下的文件(或者在/etc/puppet/ssl),重新请求。
  OK这次出现的正确的:
  info: Caching certificate for client.dongwm.com
  info: Caching certificate_revocation_list for ca
  info: Caching catalog for client.dongwm.com
  info: Applying configuration version ’1290862961′
  info: Creating state file /var/lib/puppet/state/state.yaml
  安装成功!
  FAQ:     
  安装过程中能够成功签收证书需要注意的是一定要修改一下配置:
  1 # hostname client.dongwm.com
  2 # vi /etc/sysconfig/network
  3#  vi /etc/hosts

运维网声明 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-545760-1-1.html 上篇帖子: 开源自动化配置管理工具Puppet入门教程  下篇帖子: 使用svn和hook(钩子)对puppet进行版本控制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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