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

[经验分享] Puppet之代码实例

[复制链接]

尚未签到

发表于 2018-8-3 08:39:09 | 显示全部楼层 |阅读模式
  注:所有安装都是通过apt来安装而非源码。版本为3.0.1
  puppet安装好的配置目录为/etc/puppet
  实例一(Hello word)
  目录结构说明:
  


  • .
  • ├── auth.conf #
  • ├── fileserver.conf #文件服务器配置文件
  • ├── manifests #主文件所在目录
  • │   └── site.pp #主文件(入口文件,必须有这个文件)
  • ├── modules #各个模块所在目录
  • ├── puppet.conf #主配置文件
  • └── templates
  

  site.pp配置:
  


  • node default {
  •     file { “/tmp/test”:
  •         content=>”hello”,
  •         mode => 0644;
  •     }
  • }
  

  同时在agent上输入:sudo  puppet agent  --test, 查看agent的/tmp文件夹,生成了一个新文件test,里面的内容是hello,该文件的权限是-rw-r--r--。这样,便证明puppet安装成功。
  实例二(只更新apt源):
  


  • . #目录结构
  • ├── auth.conf
  • ├── fileserver.conf
  • ├── manifests
  • │   ├── nodes.pp
  • │   └── site.pp
  • ├── modules
  • │   └── apt
  • │       ├── files
  • │       │   └── sources.list
  • │       └── manifests
  • ├── puppet.conf
  • └── templates
  

  各文件内容:
  


  • #--site.pp
  • import "nodes.pp"

  • #--node.pp
  • node 'agent1.com'{
  •     file { "/etc/apt/sources.list":
  •         ensure => file,
  •         source => "puppet:///modules/apt/sources.list",
  •     }
  • }

  • #--modules/apt/files/sources.list
  • deb http://xxxx/ubuntu lucid main restricted universe multiverse
  • deb http://xxxx/ubuntu lucid-security main restricted universe multiverse
  • deb http://xxxx/ubuntu lucid-updates main restricted universe multiverse
  • deb http://xxxx/ubuntu lucid-proposed main restricted universe multiverse
  • deb http://xxxx/ubuntu lucid-backports main restricted universe multiverse
  

  配置完成后在agent上输入:sudo  puppet agent  --test然后查看/etc/apt/sources.list是否是modules/apt/files/sources.list的内容。
  注意:
  


  • file { "/etc/apt/sources.list":
  •     source => "puppet:///modules/apt/sources.list",
  • }
  

  source 参数是这样约定的: puppet:/// 之后的第一部分假定是一个 挂装点(mount point) 名称,其余部份被视为一个文件路径,如下所示:
  


  • puppet:///<mount point>/<path>
  

  通常 <mount point> 的值是一个模块名称,如上例所示。在这个例子中, Puppet 将在如下的位置查找文件:
  


  • modules/apt/file/sources.list
  

  实例三(完整使用模块更新apt源):
  


  • .
  • ├── auth.conf
  • ├── fileserver.conf
  • ├── manifests
  • │   ├── modules.pp
  • │   ├── nodes.pp
  • │   └── site.pp #可设置全局变量,参数缺省值 (当各个模块没有设置这些参数时,它们的缺省值)以及其它pp文件的调用
  • ├── modules
  • │   └── apt          #apt 模块
  • │       ├── files    #该模块对应的文件资源,可能是要发送给slave的配置文件等
  • │       │   └── sources.list
  • │       └── manifests  #模块的manifest文件
  • │           └── init.pp #模块入口文件
  • ├── puppet.conf
  • └── templates
  

  文件内容:
  


  • #--site.pp
  • import &quot;nodes.pp&quot;
  • import &quot;modules.pp&quot;

  • #--node.pp
  • node 'agent1.com'{
  •     include apt
  • }

  • #--modules.pp
  • import &quot;apt&quot;

  • #--modules/apt/manifests/init.pp
  • class apt {
  •       file { &quot;/etc/apt/sources.list&quot;:
  •           ensure => file,
  •           source => &quot;puppet:///modules/apt/sources.list&quot;,
  •      }
  • }

  

  配置完成后在agent上输入:sudo  puppet agent  --test然后查看/etc/apt/sources.list是否是modules/apt/files/sources.list的内容。

运维网声明 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-545629-1-1.html 上篇帖子: Puppet之puppet dashboard安装 下篇帖子: puppet系列二-配置篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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