Puppet基础
基础架构图介绍
自动化运维框架:
自动化监控:
puppet介绍
常用的批量工具介绍:
- OS Provisioning:PXE,Cobbler
- OS Configuration:ansible,puppet,saltstack,chef,cfengine
- Command and Control:func,ansible,fabric
Puppet:
- IT基础设施自动化管理工具:实现在整个运维生存周期,比如涉及到provisioning;configuration;orchestration(任务编排);reportation(报告)
- 需要agent
- 多数情况下无需人工手动触发
- 管理节点数多(数千台)
- 官方站点:www.puppet.org
puppet的工作模式:
- 声明性,基于模型的配置语言---->Ruby
- 定义:使用puppet配置语言定义基础配置信息
- 模拟:测试运行
- 强制 (执行):强制当前与定义目标状态保持一致
- 报告
puppet的三层模型:
- 资源抽象层:把主机上被管理的对象定义为资源,比如用户账号,软件包等等。
- 资源类型:用户账号,组,文件,服务等
- 属性及其状态与实现方式分离:兼容性
- 期望状态:决定了对应的资源状态的存在与否
- 事务层
- 配置语言层
puppet的核心组件:资源
- 资源清单:manifests
- 资源模块:资源清单以及资源清单中定义的所依赖的文件,模板等数据按照特定的结构组织起来,简单来讲就是一个资源清单
Puppet运行方式
本地自我管理(单机版本)传统CS架构:
Puppet如何工作:
定义角色:为了实现代码重用,如下:
Puppet如何工作: