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,如需转载请自行联系原作者






相关文章
|
24天前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
48 3
|
28天前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
47 4
|
27天前
|
运维 Linux Apache
Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例
【10月更文挑战第8天】本文介绍了Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例。Puppet通过定义资源状态和关系,确保系统配置始终如一,支持高效管理基础设施。文章详细讲解了Puppet的安装步骤、配置方法及DSL语言示例,帮助读者快速掌握Puppet的使用技巧。
54 2
|
8天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
35 1
|
23天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
55 3
|
2月前
|
运维 Linux 网络安全
自动化运维的利器:Ansible、Puppet和Chef详解
自动化运维的利器:Ansible、Puppet和Chef详解
87 5
|
1月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
58 4
|
6天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
25 4
|
24天前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
50 1
|
26天前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
41 1