puppet enc mysql_精通Puppet配置管理工具

目  录

第1章 开始使用Puppet1

1.1 什么是Puppet1

1.1.1 部署2

1.1.2 配置语言和资源抽象层3

1.1.3 事务层5

1.2 选择正确的Puppet版本5

1.3 我能混用Puppet的版本吗6

1.4 安装Puppet7

1.4.1 在Red Hat企业版Linux和Fedora上面安装Puppet7

1.4.2 在Debian和Ubuntu上安装Puppet8

1.4.3 在OpenSolaris上安装Puppet9

1.4.4 从源码安装Puppet9

1.4.5 在微软Windows系统上安装Puppet10

1.4.6 在其他平台上安装Puppet10

1.5 配置Puppet11

1.5.1 site.pp文件12

1.5.2 配置防火墙13

1.5.3 启动Puppet Master13

1.6 连接第一个Agent15

1.7 创建第一个配置17

1.7.1 扩展site.pp文件17

1.7.2 Agent的配置18

1.8 创建第一个模块19

1.8.1 模块结构20

1.8.2 init.pp文件20

1.9 应用第一个配置23

1.10 小结24

1.11 相关资源25

第2章 使用Puppet构建主机26

2.1 入门27

2.1.1 安装Puppet27

2.1.2 配置节点27

2.2 魔术般的模块32

2.3 创建一个模块管理SSH35

2.4 创建一个模块来管理Postfix43

2.4.1 postfix::install类44

2.4.2 postfix::config类44

2.4.3 postfix::service类47

2.5 使用mysql模块管理MySQL48

2.5.1 mysql::install类49

2.5.2 mysql::config类49

2.5.3 mysql::service类50

2.6 管理Apache和网站51

2.6.1 apache::install类51

2.6.2 apache::service类52

2.6.3 Apache定义52

2.7 使用Puppet模块管理Puppet55

2.8 小结58

2.9 相关资源58

第3章 使用Puppet环境59

3.1 配置Puppet环境60

3.1.1 填充新的环境61

3.1.2 在开发环境中作出变更62

3.2 使用Puppet Agent测试新的环境64

3.3 环境分支和合并65

3.3.1 设置一个中心仓库66

3.3.2 使用分支做出一个变更67

3.3.3 将变更合并到测试环境75

3.4 生产环境版本78

3.5 小结79

3.6 相关资源80

第4章 Puppet的可扩展性81

4.1 明确面临的挑战81

4.2 使用Apache和Passenger运行

Puppet Master82

4.2.1 在企业版Linux上安装Apache和Passenger82

4.2.2 在基于Debian的系统上安装Apache和Passenger83

4.2.3 使用Ruby Gem安装

Passenger84

4.2.4 配置Apache和Passenger84

4.2.5 在Apache中测试Puppet

Master87

4.3 对多个Puppet Master使用负载均衡88

4.3.1 HTTP的负载均衡89

4.3.2 Puppet CA的负载均衡配置98

4.4 测量性能106

4.5 小结108

4.6 相关资源108

第5章 外部Puppet配置109

5.1 ENC110

5.1.1 使用ENC配置节点111

5.1.2 用Shell脚本编写的ENC111

5.1.3 用Ruby编写的ENC112

5.1.4 用Perl编写的ENC114

5.1.5 后端化的节点分类器115

5.2 在LDAP中存储节点配置116

5.2.1 安装Ruby LDAP库116

5.2.2 设置LDAP服务器117

5.2.3 添加Puppet方案117

5.2.4 在Puppet中配置LDAP118

5.3 小结120

5.4 相关资源121

第6章 配置的导出与存储122

6.1 虚拟资源122

6.1.1 声明和实例化一个虚拟资源123

6.1.2 使用Realize函数124

6.1.3 实例化多个虚拟资源124

6.1.4 关系链语法125

6.2 导出资源与配置存储126

6.2.1 用于配置存储的数据库

服务器126

6.2.2 配置Puppet Master来进行

配置存储128

6.2.3 添加一个MySQL表索引130

6.3 使用导出资源131

6.3.1 自动化的SSH主机公钥管理131

6.3.2 导出负载均衡器后端资源134

6.3.3 自动化的Nagios服务检测136

6.4 扩展配置存储139

6.4.1 简化的配置存储139

6.4.2 配置存储的队列支持140

6.4.3 在企业版Linux系统上安装ActiveMQ141

6.4.4 在基于Debian的系统上安装ActiveMQ142

6.4.5 Puppet Master Queue的设置144

6.5 过期的资源145

6.6 小结146

6.7 相关资源146

第7章 Puppet控制台:Puppet

Dashboard和Foreman147

7.1 Puppet Dashboard147

7.1.1 安装Puppet Dashboard148

7.1.2 配置Dashboard151

7.1.3 运行Puppet Dashboard152

7.1.4 集成Puppet Dashboard155

7.1.5 外部节点分类器159

7.1.6 日志记录、数据库备份和

性能161

7.2 The Foreman162

7.2.1 安装Foreman163

7.2.2 配置Foreman164

7.2.3 启动Foreman166

7.2.4 整合Foreman的能力166

7.2.5 在Foreman中显示报告168

7.2.6 在Foreman中显示节点信息169

7.2.7 使用Foreman来触发Puppet

运行170

7.3 小结171

7.4 相关资源171

第8章 工具和集成172

8.1 Puppet Forge和模块工具172

8.1.1 安装Puppet模块工具173

8.1.2 在Forge中搜索并安装一个

模块174

8.1.3 使用一个模块175

8.1.4 使用Puppet-Module工具创

建一个模块177

8.2 Puppet Ruby DSL187

8.2.1 面临的问题:来自数据的

资源187

8.2.2 从数据中声明资源187

8.3 Cucumber Puppet197

8.3.1 安装Cucumber Puppet198

8.3.2 编写一个故事199

8.3.3 测试基本的目录策略202

8.3.4 验证指定的资源204

8.4 小结209

8.5 相关资源210

第9章 Puppet的报告系统211

9.1 入门211

9.2 配置报告系统213

9.3 报告处理器214

9.3.1 log214

9.3.2 tagmail214

9.3.3 rrdgraph215

9.3.4 http216

9.4 自定义报告217

9.5 小结219

9.6 相关资源219

第10章 扩展Facter和Puppet220

10.1 编写并分发自定义的Fact220

10.1.1 配置Puppet来使用自定义的Fact220

10.1.2 编写自定义Fact222

10.1.3 测试Fact224

10.2 开发自定义的类型、提供者和函数225

10.2.1 为自定义的类型、提供者和函数配置Puppet225

10.2.2 编写一个Puppet类型和

提供者226

10.2.3 编写一个Parsed File类型

和对应的提供者231

10.2.4 一个更加复杂的类型和

提供者234

10.2.5 测试类型和提供者237

10.2.6 编写自定义函数238

10.3 小结240

10.4 相关资源240

第11章 Marionette Collective242

11.1 安装和配置RabbitMQ243

11.1.1 在Debian上安装

RabbitMQ244

11.1.2 在RHEL / CentOS上安装RabbitMQ246

11.1.3 RabbitMQ的配置247

11.1.4 在Debian和Ubuntu上安装MCollective248

11.1.5 在企业版Linux上安装MCollective250

11.1.6 MCollective服务端的配置251

11.2 MCollective的插件253

11.2.1 Puppet Agent的MCollective

插件253

11.2.2 MCollective的Facter插件258

11.2.3 更多插件259

11.3 使用元数据定位主机260

11.4 小结261

11.5 相关资源262

附录A 和Puppet一起工作263

A.1 获得支持和培训263

A.2 相关资源263

A.2.1 网站264

A.2.2 邮件列表265

A.2.3 Puppet Module Forge265

A.2.4 Puppet企业版265

A.2.5 技术支持(商业)265

A.2.6 培训265

A.2.7 IRC265

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web测试实践——每日例会记录12.31(1)

姓名 主要负责部分 完成情况 储志峰 刘伟清 阶段一,软件评测。对华科软院和计院的网站展开对比分析,主要体现在功能、界面等方面。描述网站的缺陷。 √ 吕尚维 阶段二,用户调研。对使用华科软院网站的某个用户展开调研,采访…

Spring JPA数据+休眠+ MySQL + Maven

在Spring MVC的帮助下开发Web应用程序意味着要创建几个逻辑架构层。 层之一是DAO(存储库)层。 它负责与数据库进行通信。 如果您至少开发了DAO层一次,则应该知道它涉及许多样板代码。 Spring Data本身就是与DAO相关的日常工作的一部分。 在帖…

关于DJANGO MODELS的个人理解和RELATED_NAME的使用

转自:http://www.cnblogs.com/blogofwyl/p/4283513.html作为一个新人(刚刚大学还没有毕业就出来实习,可以说是真的什么都不知到,什么都要重新学,但是这样真的可以锻炼自己的意志力和能力)。现在在公司是前端和后端一起坐&#xff…

HTML的入门概念

超文本<a> 文本或图像都可以用作链接的标签。使用“..”可以连接到源文件的上层文件夹。“..”表示“父文件夹”。 <a href"目标网址#锚点" name"页面锚点名称" title"鼠标滑过显示的文本">链接显示的文本</a> <a href&…

PDF之pdfkit

说起pdf就想到了一款很适用的工具&#xff0c;那就是pdfkit&#xff0c;在前几天的项目中&#xff0c;有一个功能要实现&#xff0c;为了实现这一个功能&#xff0c;于是我大海茫茫中查询各种百科&#xff0c;不负众望的让我找到了我心怡的工具&#xff0c;想必也就是它了。好了…

015迭代器

注意迭代器和可迭代对象不同#迭代器&#xff1a;1、有iter方法&#xff0c;2、有next方法li[1,2,3,4,5]diter(li) # 等于li.__iter__()print(d) # <list_iteratorobjectat0x00000174316CC3C8>可以通过next方法取出元素。for循环就是这样的。for循环内部做的三件事1、调用…

CSS属性之attr()

attr()准确的说&#xff0c;不应该是一个属性&#xff0c;而是一个CSS的函数&#xff0c;我们先看看MDN上的介绍吧&#xff1a; Summary The attr() CSS function is used to retrieve the value of an attribute of the selected element and use it in the style sheet. It c…

番石榴15 –新功能

本月初发布了新版本的Guava库&#xff0c;其中包含一些新功能和改进。 以下是此版本中一些重要的API新增功能的概述&#xff1a; 1.逃脱者 Escapers使您可以“转义”字符串中的特殊字符&#xff0c;以使字符串符合特定格式。 例如&#xff0c;在XML中&#xff0c;必须将<字…

MySQL大小写敏感的解决方案

前言&#xff1a;对于MySQL的大小写敏感的影响&#xff0c;笔者在一个小项目中深刻的体会到&#xff1a;当想要查询一条数据时&#xff0c;总是出来两条或多条&#xff0c;后来发现是大小写敏感造成的原因&#xff0c;本文就该问题提出解决方案。 1.MySQL大小写敏感的控制 mysq…

java主类型_Java主类结构:基本数据类型

Java语言是面向对象设计的语言&#xff0c;java车光绪的基本组成单元是类&#xff0c;类体中有包括属性与方法两部分。每一个应用程序都需要main()方法&#xff0c;含有main()方法的类成为主类建立一个java首先要建立包package Number;//建立的package包名为numberpuublic clas…

day3-文件操作之打开模式

r 只能读 r 可读可写&#xff0c;不会创建不存在的文件。如果直接写文件&#xff0c;则从顶部开始写&#xff0c;覆盖之前此位置的内容&#xff0c;如果先读后写&#xff0c;则会在文件最后追加内容。 w 只能写 覆盖整个文件 不存在则创建 w 可读可写 如果文件存在 则覆…

利用border制作三角形原理

网站前端页面中&#xff0c;有时候会使用一些三角形&#xff0c;除了使用图片的方式之外&#xff0c;利用css的border属性也可以做出相对应的三角形。那么&#xff0c;利用border是如何实现三角形的制作的呢&#xff1f; 先看下面一个例子&#xff1a; CSS代码&#xff1a; w…

Java开发中的常见危险信号

在开发&#xff0c;阅读&#xff0c;复审和维护成千上万行Java代码的几年中&#xff0c;我已经习惯于看到Java代码中的某些“ 危险信号 ”&#xff0c;这些信号通常&#xff08;但可能并非总是&#xff09;暗示着代码问题。 我不是在谈论总是错误的做法&#xff0c;而是在有限的…

js判断对象数组中是否存在某个对象

1. 如果要判断数组中是否存在某个元素的话很好判断&#xff0c;直接用数组的indexOf方法就好&#xff0c;存在返回当前索引不存在返回-1 var arr[1,2,3,4] arr.indexOf(3) // 2 arr.indexOf(5) // -1 2. 要只是判断的话是可以遍历后判断对象的属性是否相同的&#xff0c;像这种…

java weblogic 配置_java----weblogic部署应用

安装略创建域在部署过程中&#xff0c;不能用回退按钮&#xff0c;如果输入有误的话只能在该步设置完后重复进行设置。Linux命令和文件(夹)名是区分大小写的。1、进入weblogic的bin目录&#xff1a;#以具体安装目录为准cd /weblogic/Oracle/Middleware/Oracle_Home/wlserver/co…

sass 基础——回顾

1.webstorm 自动编译SASS  下载安装包 http://rubyinstaller.org/downloads/  然后点击安装&#xff0c;路径为默认路径就行&#xff0c; 勾选以下两项    add Ruby executables to your PATH    Associate .rb and rbw files with this Ruby information  安装完…

这么多年第一次自己去用游标和临时表

汗颜&#xff0c;做了这么多年开发自己第一次用游标和临时表 还是借助度娘才写出来的&#xff0c;请大家给指点下。。。 1 CREATE PROCEDURE [dbo].[sp_LaodDefaultFM]2 (3 ExhID int ,4 DefaultExhID INT,5 Result INT6 )7 AS 8 BEGIN 9 --判断当前会话中临时表是…

设置MongoDB副本集分为4个步骤

介绍 在详细介绍配置MongoDB副本集之前&#xff0c;让我简要介绍一下它们&#xff1a; 副本集是Mongodb数据库提供的功能&#xff0c;可实现高可用性和自动故障转移。 它是一种传统的主从配置&#xff0c;但具有自动故障转移功能。 基本上&#xff0c;它是mongod实例的组/集…

PHP ajax跨域问题最佳解决方案

一、本文通过设置Access-Control-Allow-Origin来实现跨域。 例如&#xff1a;客户端的域名是client.runoob.com&#xff0c;而请求的域名是server.runoob.com。 如果直接使用ajax访问&#xff0c;会有以下错误&#xff1a; XMLHttpRequest cannot load http://server.runoob.co…

java jpa 注解_Java : JPA相关以及常用注解

SpringDataJPA自定义的查询方法 定义规范And 并且Or     或Is,Equals    等于Between     两者之间LessThan      小于LessThanEqual   小于等于GreaterThan     大于GreaterThanEqual  大于等于After    之后(时间) >Before    之前(时间)…