您的位置:首页 > 运维架构 > 网站架构

puppet组织架构

2015-10-15 22:08 507 查看
树结构如下:
|-- 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,
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: