溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

puppet自動(dòng)化運(yùn)維之service資源

發(fā)布時(shí)間:2020-07-08 22:49:39 來源:網(wǎng)絡(luò) 閱讀:1172 作者:yzy121403725 欄目:移動(dòng)開發(fā)

作用:

①.管理服務(wù)的狀態(tài);

    ②.服務(wù)能夠在配置文件更改的情況下自動(dòng)重啟。


格式:

 

1、service資源常用屬性


service {'資源標(biāo)題':

    binary

    enable

    ensure

    hasrestart

    hasstatus

    name

    path

    pattern

    restart

    start

    status

    stop

    provider


 enable:指定服務(wù)在開機(jī)的時(shí)候是否啟動(dòng),可以設(shè)置true和false。

 ensure:是否運(yùn)行服務(wù),running表示運(yùn)行,stopped表示停止服務(wù)。

 name:守護(hù)進(jìn)程的名字。

 path:?jiǎn)?dòng)腳本搜索路徑。

 hasrestart:指出管理腳本是否支持restart參數(shù),如果不支持,就用stop和start實(shí)現(xiàn)restart效果。

 hasstatus:指出管理腳本是否支持status參數(shù),puppet用status參數(shù)來判斷服務(wù)是否已經(jīng)在運(yùn)行了,如果不支持status參數(shù),puppet利用查找運(yùn)行進(jìn)程列表里面是否有服務(wù)名來判斷服務(wù)是否在運(yùn)行。

 provider:默認(rèn)為init。


service {"title":                   #服務(wù)名, 通常就是在/etc/init.d/目錄下的名字

    ensure => {running|stopped},    #當(dāng)前service的狀態(tài)

    enable => {true|false},         #service是否開機(jī)啟動(dòng),chkconfig

    [status|start|stop|restart] => "cmd",   #指定要執(zhí)行的完整命令,當(dāng)且僅當(dāng),啟動(dòng)腳本不在/etc/init.d/下的

    path => "目錄", #啟動(dòng)腳本的搜索路徑,可以用冒號(hào)分割多個(gè)路徑,或者用數(shù)組指定

    hasrestart => {true|false},     #是否支持restart參數(shù),如果不支持,就用stop和start實(shí)現(xiàn)restart效果.

    hasstatus => {true|false},      #是從命令行status查詢還是從進(jìn)程表(有沒有該進(jìn)程)中,查詢service的狀態(tài)

    provider =>   base|daemontools|init; #默認(rèn)為init

}

 


實(shí)例: 

#vsftpd,啟動(dòng)且開機(jī)自起

vi /etc/puppet/manifest/test.pp

service {"vsftpd":

        ensure =>   running,

        enable =>   true;

}

 

#檢查

[root@client ~]# /etc/init.d/vsftpd status

vsftpd is stopped

[root@client ~]# chkconfig --list vsftpd

vsftpd            0:off   1:off   2:off     3:off   4:off   5:off     6:off

[root@client ~]#

[root@client ~]# puppet agent --test -v --server master.perofu.com

info: Caching catalog for client.perofu.com

info: Applying configuration version '1395069819'

notice: /Stage[main]//Service[vsftpd]/ensure: ensure changed 'stopped' to 'running'

notice: Finished catalog run in 0.38 seconds

[root@client ~]#

[root@client ~]# /etc/init.d/vsftpd status               

vsftpd (pid 20118) is running...

[root@client ~]# chkconfig --list vsftpd                 

vsftpd            0:off   1:off   2:on      3:on    4:on    5:on      6:off

 

#源碼

service {"httpd":

    ensure =>   running,

    #restart => "/usr/local/apache2/bin/apachectl restart",

    hasrestart =>   "true",

    subscribe => File["/etc/httpd/httpd.conf"]

}

subscribe

檢測(cè)某個(gè)資源,當(dāng)它發(fā)生變化時(shí),該資源會(huì)重新加載,如:

class nagios {

file { “/etc/nagios/nagios.conf”:

source => “puppet://server/module/nagios.conf”,

alias => nagconf # just to make things easier for me

}

service { nagios:

ensure => running,

subscribe => File["nagconf"]

}

}

當(dāng)檢測(cè)到文件nagconf被修改時(shí),服務(wù)nagios會(huì)相應(yīng)的更新。需要注意的是,目前支持subscribe的資源只有exec,service和mount。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI