第一部分 puppet基础


一、puppet概述

1.1 puppet功能简介

1.2 puppet项目说明


二、puppet基础原理

2.1 puppet基础概念

2.1.1 资源

2.1.2 资源清单

2.1.3 类

2.1.4 模块

2.1.5 catalog

2.2 puppet的三层模型

2.2.1 资源抽象层

2.2.2 事务层

2.2.3 配置语言

2.3 puppet工作模型

2.3.1 单机模型

2.3.2 master/agent模型

2.4 puppet工作流程

2.4.1 单机模型工作流程

2.4.2 master/agent模型工作流程


三、puppet安装配置

本部分揉碎至后续各部分中讲解。


第二部分 puppet概念详解以及在单机模型中使用puppet


四、puppet资源

4.1 资源申报

4.1.1 常见的资源类型

4.1.2 资源类型相关帮助信息的获取及查看

4.1.3 申报资源

4.1.3.1 user和group资源

4.1.3.2 file资源

4.1.3.3 notify资源

4.1.3.4 service资源

4.1.3.5 exec资源

4.1.3.5 service资源

4.2 资源依赖:顺序和通知

4.2.1 资源依赖关系概述

4.2.2 资源应用顺序

4.2.2.1 before属性

4.2.2.2 require属性

4.2.3 资源变动通知

4.2.3.1 notify属性

4.2.3.2 subscribe属性


五、puppet变量

5.1 变量作用域(scope)

5.1.1 FQN格式变量名称

5.1.2 变量的调用法则

5.2 变量类型

5.2.1 字符型

5.2.2 数值型

5.2.3 数组型

5.2.4 布尔型

5.2.5 undef

5.2.6 映射型

5.2.7 在puppet中使用正则表达式

5.3 puppet的操作符


六、puppet条件判断

6.1 条件判断概述

6.2 puppet的常用操作符

6.3 if语句

6.3.1 单分支if语句

6.3.2 if语句中的条件表达式

6.3.3 双分支if语句

6.3.3 多分支if语句

6.4 case语句

6.4.1 case语句的控制表达式

6.4.2 case语句的各case格式

6.5 selector语句

6.5.1 selector语句语法

6.5.2 selector语句的各case格式

6.5.2 selector语句使用要点


七、puppet类

7.1 类的基本概念

7.2 类的定义语法

7.3 类的四种声明方式

7.3.1 使用include声明类

7.3.2 使用require声明类

7.3.3 使用资源申报的风格声明类

7.4 带参数的类

7.4.1 带参数的类

7.4.2 带参数类的应用场景及声明方式

7.5 类的继承

7.5.1 puppet中类继承的方式

7.5.2 puppet中使用子类

7.5.3 在继承类中附加依赖的资源


八、puppet模块

8.1 puppet模块结构

8.1.1 模块结构概述

8.1.2 manifests目录及文件访问

8.1.3 files目录及文件访问

8.2 使用第三方模块

8.2.1 通过puppet forge安装使用模块

8.3 编写模块

8.3.1 最简单的模块实现

8.3.2 开发基本的nginx模块

8.3.3 为模块使用配置文件

8.3.4 在nginx模块中为不同应用场景提供相应类

8.4 puppet单机模型中测试模块的使用


九、puppet模板


没有讲解,但内部教材中有内容提供。


第三部分 master/agent模型及高级应用


十、master/agent模型

10.1 master/agent模型概述

10.2 master/agent模型工作流程

10.2.1 agent端工作流程细节

10.2.2 master端工作流程细节

10.2.3 master/agent模型与单机模型的联系及区别

10.3 站点manifest

10.3.1 站点manifest概述

10.3.2 定义节点

10.3.3 节点继承

10.3.4 站点manifest文件导入

10.4 主动puppet: kick的实现

10.4.1 kick机制的工作原理

10.4.2 配置agent端启用kick功!能

10.4.3 在master端实现配置推送

10.5 使用puppet-dashborad

10.6 项目实践:使用puppet配置haproxy、varnish、tomcat、主从mysql、mogilefs、nigix(mogilefs模块)及amoeba


项目图片:PPT课件抓图

自动化运维专题之puppet课程内容大纲


十一、mcollective概述

11.1 mcollective概述


十二、puppet集群概述

12.1 puppet集群模型

12.1.1 nginx反向代理请求至master

12.1.2 passanger反代请求至master

12.2 puppet性能测试