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

[经验分享] puppet笔记(1)

[复制链接]

尚未签到

发表于 2015-11-26 14:32:10 | 显示全部楼层 |阅读模式
  前几天,亮哥让我看puppet,他们准备部署PanelManager系统了(他们辛苦了两个月了,终于快结束了 DSC0000.gif ),在实习的时候看过一些puppet,不过已经忘得差不多了,这几天作了一些实验,重新看了puppet的语法,把其中的一些我认为关键的部分记录下来,测试是在centos下进行的。

   1.安装
  centos下面可以用下面脚本安装(别人提供的)



#!/bin/bash
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
echo "" >> /etc/yum.repos.d/epel.repo
echo "[epel-puppet]" >> /etc/yum.repos.d/epel.repo
echo "name=epel puppet" >> /etc/yum.repos.d/epel.repo
echo "baseurl=http://tmz.fedorapeople.org/repo/puppet/epel/5/\$basearch/" >> /etc/yum.repos.d/epel.repo
echo "enabled=0" >> /etc/yum.repos.d/epel.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/epel.repo
echo "[puppetlabs]" >> /etc/yum.repos.d/puppet.repo
echo "name=Puppet Labs Packages" >> /etc/yum.repos.d/puppet.repo
echo "baseurl=http://yum.puppetlabs.com/base/" >> /etc/yum.repos.d/puppet.repo
echo "enabled=0" >> /etc/yum.repos.d/puppet.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/puppet.repo  然后执行 yum install puppet-server  yum install puppet来安装服务端和客户端
  
  在ubuntu下可以通过源安装 puppet ,puppetmaster

2.配置
  注意:修改机器主机名,因为puppet是基于证书的,证书中包含主机名;centos下修改主机名/etc/sysconfig/network的文件中,而ubuntu的是在/etc/hosts文件中。
  以下配置在目录 /etc/puppet/
  auth.conf
  fileserver.conf
  puppet.conf

puppet是主要的配置文件:
  在 server端中需要以下配置
  开启tcp端口 8140 ,使client能访问

  启动 停止

  /etc/init.d/puppetmaster  {start|stop}

在client端中需要以下配置
  在auth.conf中的
  

path /
auth any
  
  之前添加如下



path /run
method save
allow ${server_hostname}
在puppet.conf中添加下面的内容:
server = ${server_hostname}
runinterval = 3600     ###每隔3600s后client主动请求server
listen = true    ###使server可以kick开启tcp端口 8139 ,使server能访问

启动 停止

/etc/init.d/puppet {start|stop}
  
  一定要按上面的配置,而且要注意内容是否正确,中间就是出了好多问题,配置完之后就是认证,首先由client发起请求:
  

puppet agent --testnote :出现

Exiting; no certificate found and waitforcert is disabled可以忽略,查看server端有无收到认证请求

然后由server进行认证:  
  

  puppet cert list --all ##得到client注册过来的certname,默认hostname;
puppet cert sign ${client_certname}
  
  client,server的时间不一致可能会导致认证失败,出现 certificate verify failed ,需要同步,然后删除之前生成的ssl文件(/var/lib/puppet/ssl),重新认证。


  文件的目录结构如下,注意目录的名字是不能改变的,昨天把templates写成template调试了半天,悲剧啊
  

  modules/   manifests/site.pp,node.pp...  auth.conf   puppet.conf   fileserver.conf  namespace.conf(后两个配置文件只有在用到相应的功能的时候才会用到,装完之后可能会不存在该文件)modules目录位置  
  

/etc/puppet/modules
/usr/share/puppet/modules (建议在此编写模块,在主site.pp引用模块)modules文件结构  
  

mymodule/ 模块名字
manifests/
init.pp 入口的pp,含有一个class,名字为mymodule                                                                                                            node.pp 包含一些节点信息(尽量放在此处,也可以放在/etc/puppet/manifests下,中其中include要包含的类和函数)
myclass.pp — class named mymodule::myclass.
mydefinedtype.pp — defined type named mymodule::mydefinedtype.
mydir/
foo.pp — class named mymodule::mydir:foo.
files/ -存放需要直接拷贝的文件
templates/ -存放在部署过程中会变动的文件,如配置文件

  一些说明:1.puppet的文件的调用顺序是,首先调用manifests下面的site.pp,若site.pp引用了modules.pp或者node.pp则去相应的文件中去调用,自己写的每个modules下必须有个init.pp。2.目录的名字是唯一的,如果改掉可能就会出现错误PanelManager2:/etc/puppet>tree
.
|-- auth.conf
|-- fileserver.conf
|-- manifests
|   |-- modules.pp
|   |-- node.pp
|   `-- site.pp
|-- modules
|   `-- test
|       |-- manifests
|       |   |-- init.pp
|       |   |-- node.pp
|       |   `-- tconf.pp
|       `-- templates
|           `-- file.erb
|-- namespaceauth.conf
`-- puppet.conf
5 directories, 11 files




  
  

运维网声明 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-143959-1-1.html 上篇帖子: puppet结合Mcollective + activemq 下篇帖子: 如何修改puppet 客户端默认连接puppetmaster的时间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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