Puppet:订购箭头和通知箭头有什么区别?
Puppet: What's the difference between an ordering arrow and a notification arrow?
在官方 Puppet 文档中说有两个链接箭头:
https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html
->(排序箭头)
使左侧资源先于右侧资源应用。用连字符和大于号书写。
~>(通知箭头)
导致首先应用左侧资源,如果左侧资源发生变化,则向右侧资源发送刷新事件。用波浪号和大于号书写。
谁能说清楚这两者的区别?
你提到的文档已经给出了最好的解释。如果您尝试通过简单的方式理解它,请使用现有示例。
Package['ntp'] -> File['/etc/ntp.conf'] ~> Service['ntpd']
对于 File['/etc/ntp.conf']
,puppet 需要确保在创建或更新文件 ntp.conf
之前已安装软件包 ntp
。没有重启请求。
但对于服务['ntpd'],ntp.conf
需要首先存在 - 这与 ->
的顺序相同。 * 但是如果puppet发现文件ntp.conf
有任何变化(无论是创建还是更新),都需要重启服务ntp。这就是区别*.
有关在 Puppet 中排序的更多信息,请参阅这些文档:
Learning Puppet — Resource Ordering
并自己做一些测试以了解其工作原理。
- set Package['ntp'], File['/etc/ntp.conf'],Service['ntpd'] with the order.
- 运行 puppet 申请以确保,Package/File/Service 在系统上准备就绪。
- 在文件中进行更改 ntp.conf。
- 使用
puppet apply
命令启用 --debug
选项。调试日志将在后台为您提供详细信息 - 例如,您应该看到文件已更新并且 ntpd 服务已重新启动。
在官方 Puppet 文档中说有两个链接箭头: https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html
->(排序箭头) 使左侧资源先于右侧资源应用。用连字符和大于号书写。
~>(通知箭头) 导致首先应用左侧资源,如果左侧资源发生变化,则向右侧资源发送刷新事件。用波浪号和大于号书写。
谁能说清楚这两者的区别?
你提到的文档已经给出了最好的解释。如果您尝试通过简单的方式理解它,请使用现有示例。
Package['ntp'] -> File['/etc/ntp.conf'] ~> Service['ntpd']
对于 File['/etc/ntp.conf']
,puppet 需要确保在创建或更新文件 ntp.conf
之前已安装软件包 ntp
。没有重启请求。
但对于服务['ntpd'],ntp.conf
需要首先存在 - 这与 ->
的顺序相同。 * 但是如果puppet发现文件ntp.conf
有任何变化(无论是创建还是更新),都需要重启服务ntp。这就是区别*.
有关在 Puppet 中排序的更多信息,请参阅这些文档:
Learning Puppet — Resource Ordering
并自己做一些测试以了解其工作原理。
- set Package['ntp'], File['/etc/ntp.conf'],Service['ntpd'] with the order.
- 运行 puppet 申请以确保,Package/File/Service 在系统上准备就绪。
- 在文件中进行更改 ntp.conf。
- 使用
puppet apply
命令启用--debug
选项。调试日志将在后台为您提供详细信息 - 例如,您应该看到文件已更新并且 ntpd 服务已重新启动。