设为首页 收藏本站
查看: 931|回复: 0

[经验分享] puppet写ntp模块

[复制链接]

尚未签到

发表于 2018-8-1 13:48:36 | 显示全部楼层 |阅读模式
root@debian:/etc/puppet/modules# mkdir -p ntp/{manifests,files,templates}root@debian:/etc/puppet# cat modules/ntp/manifests/init.pp # Class:  ntp## This class installs/configures/manages NTP. Only Debian-derived and RedHat-derived are supported.## Parameters:#   -$servers:#       An array of ntp servers.Default to OS's defaults.  #   -$enable:#       Whether to start the NTP service on boot.Valid values are:#       true and false.#   -$ensure:#       Whether to run the NTP service.Valid values are:#       running and stopped.# Requires:#   Nothing.## Sample Usage:## class {'ntp':#   server  =>  ['0.cn.pool.ntp.org',#                '1.cn.pool.ntp.org',#               ]# }# class {'ntp':#   enable  =>  false,#   ensure  =>  stopped,# }class ntp ($servers = undef, $enable = true, $ensure = running) {    case $operatingsystem {  
       centos,redhat:  {            $service_name   =   'ntpd'
  
            $service_conf   =   'ntp.conf.e1.erb'
  
            $default_servers=   ['0.centos.pool.ntp.org',                                 '1.centos.pool.ntp.org',                                 '2.centos.pool.ntp.org',
  
                                ]
  
        }       debian: {            $service_name   =   'ntp'
  
            $service_conf   =   'ntp.conf.debian.erb'
  
            $default_servers=   ['0.debian.pool.ntp.org',                                 '1.debian.pool.ntp.org',                                 '2.debian.pool.ntp.org',
  
                                ]
  
       }
  
    }
  

  
    if $servers == undef {        $servers_real   =   $default_servers
  
    }
  
    else {        $servers_real   =   $servers
  
    }
  

  
    package {'ntp': ensure  =>  installed}
  
    service {$service_name:
  
        ensure  =>  $ensure,
  
        enable  =>  $enable,
  
        subscribe=> File['/etc/ntp.conf'],
  
    }
  
    file {'/etc/ntp.conf':
  
        ensure  =>  file,
  
        require =>  Package['ntp'],
  
        content =>  template("ntp/${service_conf}"),
  
    }
  
}
  

  
root@debian:/etc/puppet# cat modules/ntp/templates/ntp.conf.debian.erb # /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for helpdriftfile /var/lib/ntp/ntp.drift# Enable this if you want statistics to be logged.#statsdir /var/log/ntpstats/statistics loopstats peerstats clockstats
  
filegen loopstats file loopstats type day enable
  
filegen peerstats file peerstats type day enable
  
filegen clockstats file clockstats type day enable# You do need to talk to an NTP server or two (or three).#server ntp.your-provider.example# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will# pick a different set every time it starts up.  Please consider joining the# pool: <http://www.pool.ntp.org/join.html># server 0.debian.pool.ntp.org iburst# server 1.debian.pool.ntp.org iburst# server 2.debian.pool.ntp.org iburst# server 3.debian.pool.ntp.org iburst# 这里是我添加的部分,注意不需要加$<% servers_real.each do |server| -%>
  
server <%= server %>
  
<% end -%># Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for# details.  The web page <http://support.ntp.org/bin/view/Support/Acce***estrictions># might also be helpful.## Note that "restrict" applies to both servers and clients, so a configuration# that might be intended to block requests from certain clients could also end# up blocking replies from your own upstream servers.# By default, exchange time with everybody, but don't allow configuration.restrict -4 default kod notrap nomodify nopeer noquery
  
restrict -6 default kod notrap nomodify nopeer noquery# Local users may interrogate the ntp server more closely.restrict 127.0.0.1restrict ::1# Clients from this (example!) subnet have unlimited access, but only if# cryptographically authenticated.#restrict 192.168.123.0 mask 255.255.255.0 notrust# If you want to provide time to your local subnet, change the next line.# (Again, the address is an example only.)#broadcast 192.168.123.255# If you want to listen to time broadcasts on your local subnet, de-comment the# next lines.  Please do this only if you trust everybody on the network!#disable auth#broadcastclient# 最后去清单文件包含这个模块ntproot@debian:/etc/puppet# cat manifests/nodes/liuliancao.ppnode 'liuliancao' {    include ntp
  
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544873-1-1.html 上篇帖子: puppet知识简记 下篇帖子: puppet 搭建lnmp架构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表