Puppet
puppet:修改配置文件後強制重啟服務
如果通過 puppet 從主記憶體儲庫將新版本的配置文件下載到託管伺服器之一,我如何確保重新啟動相關服務。
典型場景 - 假設有新的 munin 或 apache 配置。puppet 客戶端發現它,覆蓋本地文件……和…… - 如何確保服務重新啟動/重新載入?
多謝!
通知的替代方法是訂閱:
file { "/etc/sshd_config": source => "....", } service { sshd: ensure => running, subscribe => File["/etc/sshd_config"], }
不同之處在於關係是從另一端描述的。例如,您可以讓 apache 訂閱 /etc/apache/httpd.conf,但是您會創建一個 vhost 文件來通知 apache,因為您的 apache 類不會知道您擁有的每個 vhost。
類似的雙端情況適用於 require 和 before。這只是在特定情況下哪個更有意義的問題。
正如 Chad 所提到的,如果您發現 puppet 不斷嘗試啟動您的服務,那麼您需要添加一個模式參數,這是一個應用於程序列表的正則表達式。預設情況下,puppet 將停止並開始重新啟動服務。如果添加“hasrestart => true”,那麼它將使用“restart”參數中指定的命令重新啟動服務。