• puppet组织架构


       树结构如下: 
           |-- puppet.conf   #主配置配置文件 
           |-- fileserver.conf #文件服务器配置文件 
           |-- auth.conf     #认证配置文件 
           |-- autosign.conf # 自动验证配置文件 
           |-- tagmail.conf  #邮件配置文件(将错误信息发送) 
           |-- manifests     #文件存储目录(puppet 会先读取该目录的.PP 文件) 
           |   --nodes 
           |   |    | puppetclient.pp 
           |   |-- site.pp   #定义puppet 相关的变量和默认配置。 
           |   |-- modules.pp  #加载class 类模块文件(include syslog) 
           |-- modules        #定义模块 
           |   -- syslog     #以syslog 为例 
           |        |-- file 
           |        |-- manifests 
           |        |   |-- init.pp #class 类配置
           |        |--- templates    #模块配置目录 
           |        |   |-- syslog.erb #erb 模板
    

    重要概念

    资源:定义目标状态的核心组件;

    核心资源包括:notify、package、group、user、file、exec、cron、service等;

    模块:以资源为核心,是类的集合,如mod1,mod2

    节点:以被管理主机为为核心,如node1,node2

    puppet利用模块+节点的方式,实现目标状态的定义

    manifest:清单,用于定义并保存资源,是一个资源组织工具;

    facter:获取各被管理节点资源使用情况的方式;

    常见结构整理

    看了网上无数资料,通过亿图画出了以下三种结构,红色的表示根目录,桔色的表示目录,蓝色的表示文件。因为我处于探索puppet中,所以不好说谁好谁坏,根据我目前个人的理解,我觉得图二比较适合我公司用,linux服务器不多,只有70台左右,其它几百台服务器都是windows,用不上puppet。图一,太过于简单,如果节点服务器一多,结构势必会有点乱,图三,过于精细化,对上千台服务器的规模有用。

    编写base.pp

    功能说明:安装cron包并启动服务

    vim base.pp
    ----------------------
    class cron::base {   
    package { cron:  
    name => $operatingsystem ?  
    {#facter 获取客户端操作系统确定包的名称  
    ubuntu => "cron",  
    debian => "cron",  
    redhat => "vixie-cron",  
    centos => "vixie-cron", },  
    ensure => present,  
    }  
  • 相关阅读:
    [Codeforces 1178D]Prime Graph (思维+数学)
    [Codeforces 316E3]Summer Homework(线段树+斐波那契数列)
    [Codeforces 997C]Sky Full of Stars(排列组合+容斥原理)
    [HDU 3625]Examining the Rooms (第一类斯特林数)
    [Codeforces 364D]Ghd(随机算法+gcd)
    【快速幂】POJ3641
    【二分查找】POJ2456-Aggressive cows
    【判断解是否可行-二分】POJ1064-Cable master
    【动态规划/递推】BZOJ1806[IOI2007]- Miners
    【动态规划去除冗余】NOIP2010-乌龟棋
  • 原文地址:https://www.cnblogs.com/wspblog/p/4883819.html
Copyright © 2020-2023  润新知