木偶:订购箭头和通知箭头之间的区别是什么?

时间:2015-01-06 16:39:22

标签: puppet

在官方的Puppet文档中,它说有两个链箭: https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html

- > (订购箭头) 使左侧的资源在右侧的资源之前应用。用连字符和大于号来写。

〜> (通知箭头) 首先应用左侧的资源,如果左侧资源发生更改,则向右侧的资源发送刷新事件。写着波浪号和大于号的符号。

有人可以澄清这两者之间的区别吗?

1 个答案:

答案 0 :(得分:10)

您提到的文件给出了最好的解释。如果您尝试通过简单的方式理解它,请使用现有样本。

Package['ntp'] -> File['/etc/ntp.conf'] ~> Service['ntpd']

对于File['/etc/ntp.conf'],puppet需要确保在创建或更新文件ntp之前已安装包ntp.conf。没有重启请求。

但是对于Service ['ntpd'],ntp.conf需要先存在 - 与->的顺序相同。 *但是如果puppet发现文件ntp.conf有任何更改(无论是创建还是更新),都需要重新启动服务ntp。这就是差异*

有关木偶订购的更多信息,请参阅以下文件:

Learning Puppet — Resource Ordering

自己做一些测试,了解它是如何工作的。

  1. 使用订单设置Package ['ntp'],File ['/ etc / ntp.conf'],Service ['ntpd']。
  2. 运行puppet申请以确保已在系统上准备好包/文件/服务。
  3. 在文件ntp.conf中进行更改。
  4. 使用--debug命令启用puppet apply选项。调试日志将在后台为您提供详细信息 - 例如,您应该看到文件已更新并且ntpd服务重新启动。