Puppet自动化—服务资源
Service资源
管理系统运行的服务进程,不幸的是不同的系统管理服务的方式是多样的. 有些系统上面对于服务管理很简单,有些系统提供复杂的强大的服务管理功能.puppet提供最基本的服务管理,你也可以指定provider,使用一些特性.
参数
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:指定停止服务的脚本.
Host资源
对大部分系统来说,这些实体就在 /etc/hosts文件中。
参数
host_aliases:主机能有任意别名。多个值需要指定为一个数组。
Ensure:确定该主机是否启用,有效值present 和 absent
Ip:主机的IP地址,ipv4或ipv6
Name:主机名称
Provider:提供商使用指定的后端,一般很少会指定这点
类的继承
- 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 }
- }
转载于:https://blog.51cto.com/waydee/847116