我有一个用于 host-1 的 puppet 模块,用于进行一些文件交换。
是否可以通知主机 2 上的另一个 puppet 代理(即通过通知)有关主机 1 上所做的更改?
如果可能的话,最佳实践方法是什么?
class fileexchangehost1 {
file { '/var/apache2/htdocs':
ensure => directory,
source => "puppet:///modules/${module_name}/var/apache2/htdocs",
owner => 'root',
group => 'root',
recurse => true,
purge => true,
force => true,
notify => Service['restart-Service-on-host-2'],
}
}
最佳答案
许多人都问过这个问题,并且多次有人讨论过实现一项功能以使其成为可能。但这是不可能的,而且短期内也不可能实现。
导出资源被认为是解决类似问题的早期解决方案,尽管有些资源例如here认为这不是一个好的解决方案,而且我现在没有看到经常使用导出的资源。
我认为,如今,推荐的方法是保持简单,并使用类似 Puppet Bolt 的内容。只需按顺序在节点 A 上运行命令,然后在节点 B 上运行命令。
如果不是 Puppet Bolt,您也可以使用 MCollective 的后继者 Choria ,甚至是 Ansible。
关于service - 是否可以使用 puppet 通知不同主机上的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55468980/