Puppet自動化—服務資源
<b>Service</b><b>資源</b><b></b>
<b></b>
管理系統運作的服務程序,不幸的是不同的系統管理服務的方式是多樣的. 有些系統上面對于服務管理很簡單,有些系統提供複雜的強大的服務管理功能.puppet提供最基本的服務管理,你也可以指定provider,使用一些特性.
<b>參數</b><b></b>
Binary:運作服務的指令的路徑, 隻用于不支援init的作業系統, 如果沒有指定啟動腳本,就用這個指令來啟動服務.
Enable:服務在開機的時候是否啟動,可以設定的值是true和false,需要provider支援enableable
Ensure:是否運作服務, running表示運作服務,stopped 表示停止服務
Hasrestart:指出管理腳本是否支援restart參數,如果不支援,就用stop和start實作restart效果. 可以設定的值是true 或false
Hasstatus:指出管理腳本是否支援status參數,puppet用status參數來判斷服務是否已經在運作了,如果不支援status參數,puppet利用查找運作程序清單裡面是否有服務名來判斷服務是否在運作. 可以設定的值是true或false
Name:該資源的namevar, 服務的名字,通常就是在/etc/init.d/目錄下的名字
Path:啟動腳本的搜尋路徑,可以用冒号分割多個路徑,或者用數組指定.
Pattern:設定搜尋程序清單的比對字元串,用于不支援init腳本的系統.當要停止一個服務的時候,通過檢視程序運作清單來判斷.
Provider:根據不通系統,用不同的方式管理服務
Restart:指定重新開機腳本,否則就先停止該服務再啟動該服務
Start:指定啟動服務的指令,通常init模式的管理腳本都支援,不需要手工指定
Status:指定status指令,如果不指定,就從程序清單查詢該服務
Stop:指定停止服務的腳本.
<b>Host</b><b>資源</b><b> </b>
<b></b><b> </b>
對大部分系統來說,這些實體就在 /etc/hosts檔案中。
host_aliases:主機能有任意别名。多個值需要指定為一個數組。
Ensure:确定該主機是否啟用,有效值present 和 absent
Ip:主機的IP位址,ipv4或ipv6
Name:主機名稱
Provider:提供商使用指定的後端,一般很少會指定這點
<b> </b><b>類的繼承</b><b></b>
<b></b><b></b>
class bind::server {
service {
"bind":
hasstatus => true,
hasrestart => true,
enable => true,
}
class bind::server::enabled inherits bind::server {
Service["bind"] { ensure => running, enable => true }
class bind::server::disabled inherits bind::server {
Service["bind"] { ensure => stopped, enable => false }
本文轉自 waydee 51CTO部落格,原文連結:http://blog.51cto.com/waydee/847116,如需轉載請自行聯系原作者