码迷,mamicode.com
首页 > 其他好文 > 详细

puppet中anchor的作用

时间:2014-08-06 18:44:21      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:http   使用   strong   文件   for   问题   amp   安装   

anchor出现背景:Puppet Forge是一个网上的module仓库,许多人写的puppet module会传上去,供大家下载使用。大家下载了一个module可以直接使用,不应该再来改动里面manifests。

但是在puppet2.6版本,当一个class声明另外一个class时,被声明的class的资源将不会被外部的这个类所包含,这使得我们不可能通过一些简单的小class文件组成一个复杂功能的module。为了解决这个问题,引入了anchor。

具体事例请看:http://projects.puppetlabs.com/projects/puppet/wiki/Anchor_Pattern

可见anchor是为了将被引入的class的资源包含进来而存在的。

在使用anchor之前必须确保puppetlabs/stdlib module已经安装好了。在使用anchor时注意:

l  被包含的class必须在两个唯一命名的anchor之间

l  任何被包含的class必须确定它与anchor之间的关系如:

anchor { ‘ntp_first‘: } -> Class[‘ntp::service‘] -> anchor { ‘ntp_last‘: }

 

在puppet3.4.0之后的版本里有contain方法来替代anchor。

class ntp {

      file { ‘/etc/ntp.conf‘:

        ...

        require => Package[‘ntp‘],

        notify  => Class[‘ntp::service‘],

      }

      contain ntp::service

      package { ‘ntp‘:

        ...

      }

    }

 

    include ntp

    exec { ‘/usr/local/bin/update_custom_timestamps.sh‘:

      require => Class[‘ntp‘],

}

 

puppet中anchor的作用,布布扣,bubuko.com

puppet中anchor的作用

标签:http   使用   strong   文件   for   问题   amp   安装   

原文地址:http://www.cnblogs.com/weilq/p/3895125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!