zoukankan      html  css  js  c++  java
  • Puppet权威指南

    Puppet权威指南
    基本信息
    作者: 王冬生
    丛书名: Linux/Unix技术丛书
    出版社:机械工业出版社
    ISBN:9787111485988
    上架时间:2014-12-25
    出版日期:2015 年1月
    开本:16开
    版次:1-1

     


    内容简介
        计算机书籍
    自动化运维领域的重磅之作,Puppet领域权威的、系统的、有深度的、极具企业实战价值的著作。腾讯高级运维工程师撰写,获得了来自腾讯、百度、阿里巴巴、新浪等多家世界级互联网企业的总监级运维专家的高度认可和联袂推荐。
    工欲善其事,必先利其器,在操作层面,《Puppet权威指南》从Puppet的基本功能到高级功能,再到二次开发均有详细分析,内容详尽而系统,能帮助读者全面掌握Puppet的使用;知其然,更要知其所以然,在原理层面,本书从多个层面和角度分析了Puppet的工作原理,能让读者更深入理解和使用Puppet;好的经验是无价的,在应用层面,作者将自己几年来学习和应用Puppet积累的方法、技巧、最佳实践以及解决疑难问题的秘诀都毫无保留地奉献了出来,能让读者少走弯路,事半功倍;实践出真知,在实战层面,本书给出了几个对企业很重要的、常见的综合性案例,不仅能帮助读者提高实战能力,还能给予他们解决这些问题的良好解决方案。
    目录
    Puppet权威指南
    序 一
    序 二
    前 言
    第一部分 基 础 篇
    第1章 运维工程师的利器——自动化运维工具 2
    1.1 浅谈运维工程师 2
    1.1.1 运维工程师定位和职责 2
    1.1.2 优秀运维工程师vs普通运维工程师 3
    1.1.3 自动化运维工具 5
    1.2 自动化运维工具箱 5
    1.2.1 Cfengine 5
    1.2.2 Chef 7
    1.2.3 Puppet 7
    1.3 自动化运维工具对比 10
    第2章 Puppet介绍 12
    2.1 DevOps介绍 12
    2.2 Puppet版本介绍 13
    2.2.1 Puppet开源社区版本号介绍 13
    2.2.2 Puppet版本混用可行性 14
    2.2.3 如何升级Puppet 14
    2.2.4 Puppet发行版本介绍 15
    2.3 Puppet版本运行环境和硬件要求 16
    2.3.1 Puppet版本运行环境 16
    2.3.2 Puppet 硬件要求 17
    2.4 Puppet 工作流程 17
    2.5 Puppet开发工具 19
    2.5.1 Geppetto 开发环境 19
    2.5.2 Vim开发环境 23
    2.6 Puppet问答 23
    第3章 Puppet及相关工具的配置与安装 25
    3.1 Puppet 各环境的安装 25
    3.1.1 Ruby不同版本对Puppet的支持状况 25
    3.1.2 包管理系统和源 26
    3.1.3 在RedHat企业版或CentOS上安装Puppet 29
    3.1.4 在Debian和Ubuntu上安装Puppet 29
    3.1.5 在微软Windows系列操作系统上安装Puppet 30
    3.1.6 在Mac上安装Puppet 30
    3.1.7 通过RubyGems安装Puppet 33
    3.1.8 源码编译Puppet 33
    3.1.9 源码打包RPM 35
    3.2 版本控制工具安装与配置 36
    3.2.1 Subversion安装与配置 36
    3.2.2 Git安装与配置 38
    3.2.3 SVN与Git的4点区别 39
    3.3 DNS安装与配置 40
    第4章 Puppet目录结构、配置文件和命令详解 42
    4.1 源码与主配置文件的目录结构 42
    4.2 Puppet主要配置文件介绍 45
    4.2.1 puppet.conf介绍 45
    4.2.2 auth.conf介绍 49
    4.2.3 namespaceauth.conf 介绍 51
    4.2.4 autosign.conf介绍 52
    4.2.5 fileserver.conf介绍 53
    4.2.6 tagmail.conf 介绍 54
    4.3 Puppet命令详解 54
    4.3.1 Puppet命令的前世今生 55
    4.3.2 如何掌握Puppet命令 55
    4.3.3 puppet master 介绍 57
    4.3.4 puppet agent 介绍 59
    4.3.5 puppet cert 介绍 62
    4.3.6 puppet apply 介绍 64
    4.3.7 puppet module 介绍 65
    4.3.8 puppet resource 介绍 67
    4.3.9 puppet describe 介绍 68
    4.3.10 puppet doc 介绍 69
    4.3.11 puppet parser 介绍 71
    4.3.12 puppet 帮助命令介绍 72
    4.3.13 puppet filebucket 介绍 73
    4.3.14 puppet file 介绍 74
    4.3.15 puppet kick 介绍 74
    第5章 通过Puppet 构建主机 77
    5.1 Agent首次访问Master配置过程 77
    5.1.1 创建site.pp文件和目录 77
    5.1.2 Master配置 78
    5.1.3 防火墙配置 79
    5.1.4 Agent配置 80
    5.2 manifests和modules目录介绍 82
    5.2.1 manifests目录介绍 83
    5.2.2 modules目录介绍 86
    5.3 class类的介绍 88
    5.3.1 定义无参数class类 88
    5.3.2 定义有参数class类 89
    5.4 继承 89
    5.4.1 节点继承 89
    5.4.2 类继承 90
    5.5 Puppet构建主机 90
    5.5.1 基础模块目录结构 91
    5.5.2 代码文件介绍 92
    5.5.3 site.pp加载配置文件 93
    5.6 Puppet多环境部署 94
    第二部分 进 阶 篇
    第6章 Puppet语言详解 98
    6.1 变量和变量作用域 98
    6.1.1 什么是变量 99
    6.1.2 变量作用域 100
    6.1.3 Facter变量 103
    6.1.4 内置变量 104
    6.2 数据类型 104
    6.2.1 字符串类型 104
    6.2.2 数值类型 105
    6.2.3 数组 106
    6.2.4 哈希类型 107
    6.2.5 布尔类型 108
    6.2.6 正则表达式 108
    6.2.7  undef 110
    6.3 条件判断语句 111
    6.3.1 if…elsif…else条件语句 111
    6.3.2 case语句 112
    6.3.3 selector语句 113
    6.4 Puppet函数介绍 113
    6.4.1 常用系统函数 114
    6.4.2 其他系统函数 118
    6.5 Puppet tag 119
    6.6 Puppet关键字 119
    6.7 Puppet编程规范 120
    6.7.1 manifests和modules中的间距、缩进与空白 120
    6.7.2 注释 121
    6.7.3 变量规范 121
    6.7.4 资源规范 122
    6.7.5 条件语句规范 125
    6.7.6 class类规范 126
    6.7.7 标识符命名规范 128
    6.8 Puppet文件的导入、命名空间与自动加载 128
    6.8.1 Puppet文件的导入 128
    6.8.2 Puppet命名空间与自动装载 129
    第7章 Puppet 资源详解 132
    7.1 Puppet资源 132
    7.1.1 Puppet资源分类 133
    7.1.2 资源与Puppet协同工作 133
    7.1.3 资源的组成 133
    7.2 Puppet常用资源介绍 134
    7.2.1 file与filebucket资源 135
    7.2.2  host资源 140
    7.2.3 user资源 141
    7.2.4 group资源 144
    7.2.5 package资源 145
    7.2.6 service资源 148
    7.2.7 exec资源 150
    7.2.8 cron资源 153
    7.2.9 notify资源 154
    7.3 资源公有属性 155
    7.3.1 资源公有属性应用场景 156
    7.3.2 before和require资源公有属性 157
    7.3.3 notify和subscire资源公有属性 158
    7.3.4 资源公有属性的其他描述方式 159
    7.3.5 定义Chaining 160
    7.3.6 stage资源公有属性与stage资源 162
    7.3.7 audit审计 163
    7.4 默认资源 163
    7.5 Puppet虚拟资源 164
    7.5.1 虚拟资源应用场景 164
    7.5.2 虚拟资源 165
    7.6 Puppet资源的导出 167
    7.6.1 环境的配置 167
    7.6.2 资源导出案例 168
    7.6.3 过期资源清理 171
    第8章 Puppet ERB模板详解 172
    8.1 ERB模板应用场景 172
    8.2 ERB语言 173
    8.2.1 初识ERB模板 173
    8.2.2 变量 174
    8.2.3 if…elsif…else条件语句 175
    8.2.4 each循环 177
    8.2.5 函数 178
    8.3 通过ERB模板配置Apache虚拟主机 179
    第9章 走进Facter 182
    9.1 Facter简介 182
    9.1.1 Facter版本 183
    9.1.2 Facter参数与应用 183
    9.1.3 Facter与Puppet结合 185
    9.2 Facter常用变量 185
    9.2.1 CPU相关变量 186
    9.2.2 内存与swap相关变量 186
    9.2.3 网络接口与硬件地址相关变量 188
    9.2.4 系统发行版本变量与kernel版本相关变量 189
    9.2.5 SELinux相关变量 190
    9.3 扩展Facter 191
    9.3.1 扩展Facter的变量 191
    9.3.2 External Facts外部扩展变量 193
    9.4 编写与分发Facter的扩展 196
    第三部分 高 级 篇
    第10章 Puppet高级功能 200
    10.1 ENC介绍 200
    10.1.1 ENC的配置 201
    10.1.2 ENC案例 203
    10.2 Ruby DSL介绍 205
    10.2.1 如何使用Ruby DSL 206
    10.2.2 Ruby DSL案例 206
    10.3 Puppet的关系图 208
    10.3.1 DOT语言 209
    10.3.2 Graphviz的安装 210
    10.3.3 Puppet与Graphviz结合生成关系图 210
    10.4 puppetlabs-stdlib详述 212
    10.5 Puppet扩展 216
    10.5.1 Puppet扩展的目录结构 216
    10.5.2 Puppet函数扩展 217
    10.5.3 Puppet类型与提供者 220
    第11章 Puppet集群技术 224
    11.1 Master单机瓶颈解决方案 224
    11.2 Mongrel模式 227
    11.3 Phusion Passenger 231
    11.3.1 Apache + Passenger 231
    11.3.2 Nginx + Passenger 234
    11.4 Puppet集群介绍 236
    11.4.1 为什么建立Puppet集群 236
    11.4.2 建立Puppet集群的场景 236
    11.4.3 集群负载均衡解决方案 237
    11.5 Puppet CA均衡负载 239
    第12章 报告系统 241
    12.1 报告系统入门 241
    12.2 报告处理器 243
    12.3 自定义报告处理器 247
    12.3.1 log处理器源码分析 247
    12.3.2 自定义报告处理器 248
    12.3.3 个性化处理器 250
    第13章 Puppet Web GUI 251
    13.1 Puppet Dashboard 安装与升级 252
    13.2 配置Dashboard 255
    13.3 Dashboard应用场景 259
    13.4 Dashboard与Nginx提升性能 264
    第14章 PuppetDB数据仓库 266
    14.1 PuppetDB环境安装 266
    14.1.1 PuppetDB辅助环境安装 267
    14.1.2 PuppetDB环境安装与升级 268
    14.2 PuppetDB与Puppet结合配置 270
    14.2.1 数据库配置 270
    14.2.2 PuppetDB配置 271
    14.2.3 Puppet配置 275
    14.3 PuppetDB API 277
    14.3.1 PuppetDB API检索结构 277
    14.3.2 PuppetDB API检索语句 278
    14.4 PuppetDB 问答 285
    第15章 Marionette Collective框架应用 287
    15.1 MCollective介绍 288
    15.2 中间件介绍 290
    15.2.1 ActiveMQ介绍 291
    15.2.2 RabbitMQ介绍 291
    15.3 MCollective环境的安装与配置 291
    15.3.1 MCollective安装 292
    15.3.2 MCollective配置 294
    15.4 如何使用MCollective 301
    15.4.1 MCollective基础命令 301
    15.4.2 MCollective插件应用 304
    15.4.3 通过MCollective管理Puppet Agent 305
    第四部分 应 用 篇
    第16章 HAProxy构建Puppet集群实践 308
    16.1 HAProxy 简介 308
    16.2 HAProxy初始化 310
    16.3 HAProxy构建Puppet 312
    16.3.1 利用HAProxy扩展Puppet集群 313
    16.3.2 Puppet的升级 314
    第17章 Puppet管理SSO实践 317
    17.1 SSO介绍 317
    17.1.1 什么是SSO 317
    17.1.2 SSO系统工作流程图 318
    17.1.3 SSO系统架构 318
    17.2 通过Puppet管理与运营SSO系统 320
    17.2.1 Puppet系统初始化 321
    17.2.2 Puppet配置管理环境的初始化 323
    第18章 Puppet快速构建企业内部网实践 335
    18.1 Puppet初始化 335
    18.2 Puppet辅助工具 339
    18.2.1 Puppet Forge 339
    18.2.2 Example42 340
    18.3 快速构建企业内部网 342
    18.3.1 企业内部网介绍 342
    18.3.2 构建企业内部网 343

  • 相关阅读:
    SpringBoot之Banner介绍
    SpringBoot事件监听机制
    SpringBoot 启动流程图
    ApplicationContextInitializer的理解和使用
    SpringFactoriesLoader解析
    计时器之StopWatch
    ftp上下载文件
    打印两个函数的返回值
    关闭所有已打开的文件和关闭应用
    TypeError: include() got an unexpected keyword argument 'app_name'
  • 原文地址:https://www.cnblogs.com/china-pub/p/4193980.html
Copyright © 2011-2022 走看看