puppet如何继承类

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