puppet如何继承类
问题描述:
我无法理解如何从另一个类重新启动服务。 我的结构是:puppet如何继承类
# cat init.pp
class nginxrtmp {
include nginxrtmp::nginxinstall
include nginxrtmp::nginxconfig
}
在nginxrtmp :: nginxinstall我有服务的nginx重启
# cat nginxinstall.pp
service {'nginx':
name => 'nginx.service',
ensure => 'running',
enable => 'true',
}
而且在nginxrtmp :: nginxconfig我有配置
# cat nginxconfig.pp
file { '/etc/nginx/nginx.conf':
* => $resAttributes,
content => template('nginxrtmp/redhat.nginx.conf.erb'),
notify => nginxinstall::Service['nginx'],
}
* .erb模板
而我的问题是,如果我的模板文件发生更改,如何重新启动服务nginx中描述的另一个类和文件* .pp
答
我刚刚找到答案。需要写
include nginxrtmp::nginxinstall
类与配置
答
您可以创建一个包含服务service.pp文件,然后将其更改为:
# init.pp
class nginxrtmp {
contain nginxrtmp::service
contain nginxrtmp::config
Class['::nginxrtmp::config']
~> Class['::nginxrtmp::service']
}
# service.pp
service { 'nginx':
name => 'nginx.service',
ensure => 'running',
enable => 'true',
}
# config.pp
file { '/etc/nginx/nginx.conf':
* => $resAttributes,
content => template('nginxrtmp/redhat.nginx.conf.erb'),
}
在看看:https://docs.puppet.com/puppet/4.10/bgtm.html和本部分内容涉及订购https://docs.puppet.com/puppet/4.10/bgtm.html#c-ordering