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

[经验分享] puppet的安装和配置

[复制链接]

尚未签到

发表于 2015-11-26 13:55:18 | 显示全部楼层 |阅读模式
  预备工作

  【HOSTNAME】             【IP】                     
master.puppet.com    10.200.37.177   
agent.puppet.com      10.200.37.178

  主机名设置参照:http://blog.csdn.net/zachaway/article/details/18259495  
  同时需要更改hosts文件,注意hosts要和主机名对应。

  master与agent都要加入下面两行。

  vim  /etc/hosts

  10.200.37.177 master.puppet.com puppetmaster
10.200.37.178 agent.puppet.com  puppetagent

  

  一、Puppet的安装
  Puppet的安装方式支持源码安装、yum安装以及ruby的gem安装。官网推荐使用yum来安装puppet,方面以后的升级、管理、维护。Centos可以采用yum来安装,但是Centos的默认源中没有puppet包,因此需要先安装epel包。Epel是企业版Linux附加软件包(Extra Packages for EnterpriseLinux)的缩写,是一个由特别兴趣小组创建、维护并管理的,针对红帽企业版Linux(RHEL)及其衍生发行版(比如CentOS、Scientific Linux)的一个高质量附加软件包项目。
  

  1. Master的安装

  yum -y install ruby ruby-libs ruby-shadow
wget ftp://ftp.sunet.se/pub/Linux/distributions/yellowdog/yum/6.2/extras/RPMS/epel-release-5-3.noarch.rpm
rpm -Uvh epel-release-5-3.noarch.rpm
yum -y install puppet puppet-server facter

  

  2. Agent的安装

  yuminstall ruby ruby-libs ruby-shadow
wget ftp://ftp.sunet.se/pub/Linux/distributions/yellowdog/yum/6.2/extras/RPMS/epel-release-5-3.noarch.rpm
rpm -Uvh epel-release-5-3.noarch.rpm
yum -y install puppet facter

  

  PS:如果出现No Package ruby-shadow...Nothing to do,不用管,不影响后续操作。根据后面安装的情况,ruby-shadow应该附带在ruby里安装完成了,所以不影响后续安装。
  

  至此如果安装过程不报错的话,puppet已经安装成功了。
  

  二、master的配置
  ls-1 /etc/puppet/

  auth.conf      #定义puppet master的acl文件
fileserver.conf   #定义puppet master文件服务器的配置文件
manifests        #puppet脚本主文件目录,site.pp文件必须存在
modules            #puppet模块目录
puppet.conf     #puppet主配置文件

  暂时没有什么需要修改的内容
  
2. Agent的配置
Agent的配置主要是更改agent上的/etc/puppet/puppet.conf文件的[agent]部分。
在agent上vim /etc/puppet/puppet.conf 添加如下配置
server = master.puppet.com        #master服务器的地址
runinterval = 3600                       #每隔多久的时间进行自动更新,时间单位为秒
listen = true                         #客户端作为一个服务进行监听,允许其它的机器触发puppet运行允许远程触发puppet的节点配置

  

  三、puppet的启动和停止
1. Master的启动和停止

  Master的启动

  /etc/rc.d/init.d/puppetmasterstart

  或者service puppetmasterstart
  第一次启动建议采用puppetmaster --verbose --no-daemonize方式启动,有助于测试和调试错误,如果采用后面这种方式,这样就可以看到启动的整个过程,启动过程会做一些初始化的工作,为master创建本地证书认证中心,证书和key。并打开socket等待client的连接。可以在/etc/puppet/ssl目录看到相关的文件和目录。

  Master的停止

  /etc/rc.d/init.d/puppetmasterstop

  或者service puppetmasterstop
  

  2. Agent的启动和停止

  Agent的启动

  /etc/rc.d/init.d/puppet start

  或者servicepuppet start

  调试的时候可以采用

  puppetagent --server=master.puppet.com --no-daemonize –verbose

  Agent的停止

  /etc/rc.d/init.d/puppetstop

  或者servicepuppet stop

  

  四、查看本地证书情况
   puppetmaster第一次启动会自动生成证书自动注册自己
  [iyunv@master~]# tree /var/lib/puppet/ssl/
/var/lib/puppet/ssl/
|-- ca
|   |-- ca_crl.pem
|   |-- ca_crt.pem
|   |-- ca_key.pem
|   |-- ca_pub.pem
|   |-- inventory.txt
|   |-- private
|   |   `-- ca.pass
|   |-- requests
|   |-- serial
|   `-- signed
|       |-- localhost.localdomain.pem
|       `-- master.puppet.com.pem           //已注册
|-- certificate_requests
|-- certs
|   |-- ca.pem
|   |-- localhost.localdomain.pem
|   `-- master.puppet.com.pem
|-- crl.pem
|-- private
|-- private_keys
|   |-- localhost.localdomain.pem
|   `-- master.puppet.com.pem
`-- public_keys
    |-- localhost.localdomain.pem
    `-- master.puppet.com.pem


9 directories, 18 files

  

  在agent端通过调试模式启动节点向Puppetmaster端发起认证
  [iyunv@agent~]# puppet agent --test
info: Creating a new SSL key for agent.puppet.com
info: Creating a new SSL certificate request for agent.puppet.com
info: Certificate Request fingerprint (md5): 65:1A:E7:EC:81:7C:C8:4A:65:F7:53:B9:6E:72:AB:A3
Exiting; no certificate found and waitforcert is disabled

  

  在master端查看认证情况
  [iyunv@master~]# tree /var/lib/puppet/ssl/
/var/lib/puppet/ssl/
|-- ca
|   |-- ca_crl.pem
|   |-- ca_crt.pem
|   |-- ca_key.pem
|   |-- ca_pub.pem
|   |-- inventory.txt
|   |-- private
|   |   `-- ca.pass
|   |-- requests
|   |   `-- agent.puppet.com.pem                   //请求已经发送过来了
|   |-- serial
|   `-- signed
|       |-- localhost.localdomain.pem
|       `-- master.puppet.com.pem
|-- certificate_requests
|-- certs
|   |-- ca.pem
|   |-- localhost.localdomain.pem
|   `-- master.puppet.com.pem
|-- crl.pem
|-- private
|-- private_keys
|   |-- localhost.localdomain.pem
|   `-- master.puppet.com.pem
`-- public_keys
    |-- localhost.localdomain.pem
    `-- master.puppet.com.pem


9 directories, 18 files

  或者
  [iyunv@master ~]# puppet cert --list --all            //另一种查看认证情况
  "agent.puppet.com"      (65:1A:E7:EC:81:7C:C8:4A:65:F7:53:B9:6E:72:AB:A3)
+ "master.puppet.com"     (E2:39:E2:8E:48:E2:C4:6F:66:26:E1:9D:4B:A6:EF:CC) (alt names: "DNS:master.puppet.com", "DNS:puppet", "DNS:puppet.puppet.com")

  

  在master上注册agent
  [iyunv@master ~]# puppet cert --sign agent.puppet.com
notice: Signed certificate request for agent.puppet.com
notice: Removing file Puppet::SSL::CertificateRequest agent.puppet.com at '/var/lib/puppet/ssl/ca/requests/agent.puppet.com.pem'

  

  再次查看认证情况
  [iyunv@master ~]# puppet cert --list --all
+ "agent.puppet.com"      (39:FA:BE:2D:71:45:20:AB:7C:CD:0A:61:DA:96:60:9B)
+ "master.puppet.com"     (E2:39:E2:8E:48:E2:C4:6F:66:26:E1:9D:4B:A6:EF:CC) (alt names: "DNS:master.puppet.com", "DNS:puppet", "DNS:puppet.puppet.com")

  

  至此,puppet的简单的安装与配置已经完成。
  
  

  

  PS:测试节点agent
  [iyunv@master motd]# puppet agent --test         
err: Could not retrieve catalog from remote server: getaddrinfo: Name or service not known
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
err: Could not send report: getaddrinfo: Name or service not known

  

  解决办法:客户端和服务器端时间不同步,SSL连接需要依赖主机上的时间是否正确。执行更新时间的命令:
  [iyunv@agent ~]# ntpdate master.puppet.com
28 Mar 12:16:58 ntpdate[3348]: step time server 10.200.37.178 offset -29.556532 sec

  //此时agent上的ntpd服务应该处于关闭状态,不让它自动同步。
  

运维网声明 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-143937-1-1.html 上篇帖子: 自动化运维平台puppet的高级应用 下篇帖子: puppet中exec使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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