puppet自动化运维之service资源

简介:

作用:

①.管理服务的状态;

    ②.服务能够在配置文件更改的情况下自动重启。


格式:

 

1、service资源常用属性


service {'资源标题':

    binary

    enable

    ensure

    hasrestart

    hasstatus

    name

    path

    pattern

    restart

    start

    status

    stop

    provider


 enable:指定服务在开机的时候是否启动,可以设置true和false。

 ensure:是否运行服务,running表示运行,stopped表示停止服务。

 name:守护进程的名字。

 path:启动脚本搜索路径。

 hasrestart:指出管理脚本是否支持restart参数,如果不支持,就用stop和start实现restart效果。

 hasstatus:指出管理脚本是否支持status参数,puppet用status参数来判断服务是否已经在运行了,如果不支持status参数,puppet利用查找运行进程列表里面是否有服务名来判断服务是否在运行。

 provider:默认为init。


service {"title":                   #服务名, 通常就是在/etc/init.d/目录下的名字

    ensure => {running|stopped},    #当前service的状态

    enable => {true|false},         #service是否开机启动,chkconfig

    [status|start|stop|restart] => "cmd",   #指定要执行的完整命令,当且仅当,启动脚本不在/etc/init.d/下的

    path => "目录", #启动脚本的搜索路径,可以用冒号分割多个路径,或者用数组指定

    hasrestart => {true|false},     #是否支持restart参数,如果不支持,就用stop和start实现restart效果.

    hasstatus => {true|false},      #是从命令行status查询还是从进程表(有没有该进程)中,查询service的状态

    provider =>   base|daemontools|init; #默认为init

}

 


实例: 

#vsftpd,启动且开机自起

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

检测某个资源,当它发生变化时,该资源会重新加载,如:

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"]

}

}

当检测到文件nagconf被修改时,服务nagios会相应的更新。需要注意的是,目前支持subscribe的资源只有exec,service和mount。



     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1845506,如需转载请自行联系原作者






相关文章
|
22天前
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
25 0
|
4月前
|
弹性计算 运维 监控
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(2)
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(2)
|
4月前
|
消息中间件 弹性计算 运维
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(1)
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(1)
|
4月前
|
弹性计算 运维 安全
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(3)
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(3)
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(3)
|
4月前
|
运维 Kubernetes Docker
k8s运维—系统磁盘资源占用率过高
k8s运维—系统磁盘资源占用率过高
64 0
|
10月前
|
弹性计算 关系型数据库 RDS
运维编排系列场景-批量开启资源删除保护
背景删除保护是云产品针对云资源的一种保护措施,防止资源被意外删除。当您启用删除保护时,针对资源的删除操作将会失败,有效避免因操作疏忽、团队成员沟通不及时等原因造成不可挽回的后果。本文为您介绍如何通过运维编排批量开启资源删除(释放)保护。前提条件为ECS实例开启释放保护前提条件,参见开启和关闭实例释放保护。为用户主密钥(CMK)开启或关闭删除保护前提条件,参见开启删除保护。为RDS实例开启释放保护前
91 0
运维编排系列场景-批量开启资源删除保护
|
11月前
|
存储 弹性计算 运维
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(上)
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(上)
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(上)
|
11月前
|
存储 弹性计算 运维
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(下)
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(下)
|
11月前
|
存储 弹性计算 运维
《CloudOps 云上自动化运维白皮书 2.0》——八,成本和资源量化管理能力 Cost——4.工具推荐(上)
《CloudOps 云上自动化运维白皮书 2.0》——八,成本和资源量化管理能力 Cost——4.工具推荐(上)
|
11月前
|
存储 弹性计算 运维
《CloudOps 云上自动化运维白皮书 2.0》——八,成本和资源量化管理能力 Cost——4.工具推荐(下)
《CloudOps 云上自动化运维白皮书 2.0》——八,成本和资源量化管理能力 Cost——4.工具推荐(下)