zoukankan      html  css  js  c++  java
  • puppet学习笔记(二)

    在puppet安装完成之后我们就可以动手开始第一个puppet实验了,此实验就以批量推送文件为例吧。

    1、获取module路径
    这里的module就是指一个模块,可以把puppet想象成一个个项目的部署,有一个书城项目,那么可以创建一个名为book的module,book里面的配置文件可以针对相对应的服务器做配置。

    puppet master --genconfig|grep moduepath
        modulepath = /etc/puppet/modules:/usr/share/puppet/modules
    

    知道了module所在的路径后,就可以创建module编写pp文件了。
    module的创建是有套路的,如下:

    tree /etc/puppet/modules/motd
    └──── motd
        ├── files  #存放文件目录
        │   └── etc
        │       └── motd
        ├── manifests  #存放模块pp配置文件目录
        │   └── init.pp
        └── templates #存放模板目录
    

    这里motd就是一个”项目“,这个项目的作用是将motd文件推送到客户端的/etc/下。
    2、编写pp文件
    按上述方式创建好相应的目录和文件后就可以开始写pp文件了

    cat motd/manifests/init.pp 
    class motd{                 #定义一个类叫motd
      package{ 'setup':    #定义package资源
        ensure => present,  #要求setup这个包处于被安装状态
      }
      file{ '/etc/motd':  #定义file资源
        ensure  => present,  #要求file文件处于存在状态
        owner   => 'root', #要求file文件属主为root
        group   => 'root', #要求file文件属组为root
        mode    => '0644', #要求file文件权限为644
        source  => "puppet://$puppetserver/modules/motd/etc/motd", #要求file文件从puppetmaster端服务器下载
        require => Package['setup'], #要求文件被配置之前先执行package资源
      }
    }
    

    这里要注意的是,source后面写的一行路径必须是双引号,否则会报错。
    3、编写site.pp文件
    site.pp相当于一个全局的配置,它不负责某个模块的具体配置,而是规划哪些节点使用哪些模块,相对宏观。

    cat /etc/puppet/manifests/site.pp 
    $puppetserver = 'puppetmaster'
    node 'agent1'{
      include  motd
    }
    node 'agent2'{
      include  motd
    }
    

    4、测试motd模块

  • 相关阅读:
    LOJ#3212. 「CSP-S 2019」划分
    矩阵乘法
    SSF信息社团4月训练题目整理
    AtCoder Regular Contest 116
    SSF信息社团3月训练题目整理
    Codeforces Round #704 (Div. 2)
    SSF信息社团寒假训练题目整理(三)
    关于 zzt 得 0.8 分这件事
    Luogu P7244 章节划分
    SSF信息社团寒假训练题目整理(二)
  • 原文地址:https://www.cnblogs.com/weijing24/p/5870126.html
Copyright © 2011-2022 走看看