Puppet

puppet:修改配置文件後強制重啟服務

  • October 16, 2019

如果通過 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”參數中指定的命令重新啟動服務。

引用自:https://serverfault.com/questions/40156