zoukankan      html  css  js  c++  java
  • puppet中anchor的作用

    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'],

    }

  • 相关阅读:
    setuptools使用
    YOLO解读
    Linux下配置Python的独立虚拟环境
    交叉熵(Cross Entropy)
    OpenCV-C++ Canny算法介绍
    OpenCV-C++ Laplance算子
    【模型部署】TF Serving 的使用
    OpenCV-C++ Sobel算子使用
    OpenCV-C++ 图像卷积计算的边缘问题
    OpenCV-C++ 自定义线性滤波
  • 原文地址:https://www.cnblogs.com/weilq/p/3895125.html
Copyright © 2011-2022 走看看