pQd*_*pQd 21 configuration-management puppet
如果通过 puppet 从主存储库将新版本的配置文件下载到托管服务器之一,我如何确保重新启动相关服务。
典型场景 - 假设有新的 munin 或 apache 配置。puppet 客户端发现它,覆盖本地文件......以及...... - 如何确保服务重新启动/重新加载?
多谢!
Dav*_*ley 24
通知的替代方法是订阅:
file { "/etc/sshd_config":
source => "....",
}
service { sshd:
ensure => running,
subscribe => File["/etc/sshd_config"],
}
Run Code Online (Sandbox Code Playgroud)
不同之处在于关系是从另一端描述的。例如,您可能让 apache 订阅 /etc/apache/httpd.conf,但是您会创建一个 vhost 文件来通知 apache,因为您的 apache 类不会知道您拥有的每个 vhost。
类似的双端情况适用于 require 和 before。这只是在特定情况下哪个更有意义的问题。
正如 Chad 所提到的,如果您发现 puppet 不断尝试启动您的服务,那么您需要添加一个模式参数,这是一个应用于进程列表的正则表达式。默认情况下,puppet 会停止并开始重新启动服务。如果添加“hasrestart => true”,那么它将使用“restart”参数中指定的命令重新启动服务。
pQd*_*pQd 22
看来我找到了一些东西:
file { "/etc/sshd_config":
source => "....",
notify => Service[sshd]
}
service { sshd:
ensure => running
}
Run Code Online (Sandbox Code Playgroud)
我们将看看这将如何运作。无论如何,欢迎您对此主题的想法。