《Puppet实战手册》——1.3 创建一个配置清单
配置 一个 实战 创建 手册 1.3 清单 puppet
2023-09-11 14:17:35 时间
如果读者已经有一些Puppet代码(也就是Puppet配置清单manifest),那么可以跳过此步骤继续下一步。如果没有,就来学习一下如何去创建和应用一个简单的配置清单。
《Puppet实战手册》——导读 IT运维领域正在进行一场革命。新一代的配置管理工具可以在几秒内完成大量服务器的构建(配置)和整个网络自动化。为了充分利用云计算的强大功能,并且建立可靠、可扩展、安全、高性能的系统,拥有Puppet这样的工具是必不可少的。
《Puppet实战手册》——2.12 使用正则表达式进行替换 Puppet通过regsubst函数提供了一种简单的方式来处理文本,在字符串中进行搜索和替换,或者从字符串中提取所需模式(子串)。人们经常需要用它来处理来自fact或来自外部程序的数据。
《Puppet实战手册》——2.11 使用in运算符 本节书摘来自异步社区《Puppet实战手册》一书中的第2章,第2.11节,作者:【英】John Arundel著,更多章节内容可以访问云栖社区“异步社区”公众号查看
《Puppet实战手册》——2.10 使用选择器和case语句 Puppet会比较$::operatingsystem和每个所提供的可能的值:Ubuntu、Debian等。这些值可以是正则表达式(例如,部分字符串匹配或通配符匹配),但在此例中,只使用文字字符串(或全字符匹配)。
《Puppet实战手册》——2.9 在if语句中使用正则表达式 正则表达式非常强大,但是很难理解和调试。如果感觉正在用的正则表达式太复杂,不能一眼看明白它在做什么,最好简化设计,使其更加简单化。但是,正则表达式捕获模式是个非常有用的功能。
《Puppet实战手册》——2.8 编写功能强大的条件语句 此外,也可以通过在清单内设置变量来调整引入的类的行为。例如,在数据中心A的服务器可能需要使用与在数据中心B不同的DNS服务器,或者可能需要为Ubuntu系统使用一组类,而其他系统使用另一组不同的类。
《Puppet实战手册》——2.7 数组中多个元素的遍历 当Puppet遇到数组作为一个资源的名称时,它会为数组中每个元素的创建一个资源。在这个例子中,$packages数组中的每一个软件包都会被Puppet创建一个新的package资源,并且使用相同的参数(ensure = installed)。这是一种简化相似资源书写的方式。
《Puppet实战手册》——2.6 使用内联模板 任何传递给inline_template函数的字符串的内容都会被当作ERB模板来执行。也就是说,任何在 %=和% 分隔符之间的内容都将作为Ruby代码而执行,而其余的部分将被视为字符串。
《Puppet实战手册》——2.5 使用标准的命名约定 本节书摘来自异步社区《Puppet实战手册》一书中的第2章,第2.5节,作者:【英】John Arundel著,更多章节内容可以访问云栖社区“异步社区”公众号查看
《Puppet实战手册》——2.4 使用模块 模块是将相关的事物进行组合的一种简单方式。例如,一个webserver模块应该包括让一台机器作为Web服务器所必需的一切:Apache的配置文件、虚拟主机模板和一些必要的用来部署它们(Apache的配置文件、虚拟主机模板)的Puppet代码。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
本节书摘来自异步社区《Puppet实战手册》一书中的第1章,第1.3节,作者:【英】John Arundel著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.3 创建一个配置清单如果读者已经有一些Puppet代码(也就是Puppet配置清单manifest),那么可以跳过此步骤继续下一步。如果没有,就来学习一下如何去创建和应用一个简单的配置清单。
操作步骤
按照如下步骤进行操作。
1. 首先,创建一个适合的目录结构,存放配置清单代码。
ubuntu@cookbook:~$ mkdir puppet ubuntu@cookbook:~$ cd puppet ubuntu@cookbook:~/puppet$ mkdir manifests
2. 在puppet目录里中,创建manifests/site.pp文件,内容如下:
import nodes.pp
3. 参照下面的内容,创建manifests/nodes.pp文件(使用读者自己机器的主机名替换cookbook):
node cookbook { file { /tmp/hello: content = "Hello, world\n", }
4. 使用puppet apply命令测试前面的配置清单。这将告知Puppet读取该配置清单,并与服务器的状态进行对比,对服务器进行必要的修改以使其状态一致。
ubuntu@cookbook:~/puppet$ sudo puppet apply manifests/site.pp Notice: /Stage[main]//Node[cookbook]/File[/tmp/hello]/ensure: defined content as {md5}a7966bf58e23583c9a5a4059383ff850 Notice: Finished catalog run in 0.06 seconds
5. 运行下面的命令,验证Puppet是否按预期做了修改(创建内容为Hello,world的/tmp/hello文件):
ubuntu@cookbook:~/puppet$ cat /tmp/hello Hello, world
《Puppet实战手册》——导读 IT运维领域正在进行一场革命。新一代的配置管理工具可以在几秒内完成大量服务器的构建(配置)和整个网络自动化。为了充分利用云计算的强大功能,并且建立可靠、可扩展、安全、高性能的系统,拥有Puppet这样的工具是必不可少的。
《Puppet实战手册》——2.12 使用正则表达式进行替换 Puppet通过regsubst函数提供了一种简单的方式来处理文本,在字符串中进行搜索和替换,或者从字符串中提取所需模式(子串)。人们经常需要用它来处理来自fact或来自外部程序的数据。
《Puppet实战手册》——2.11 使用in运算符 本节书摘来自异步社区《Puppet实战手册》一书中的第2章,第2.11节,作者:【英】John Arundel著,更多章节内容可以访问云栖社区“异步社区”公众号查看
《Puppet实战手册》——2.10 使用选择器和case语句 Puppet会比较$::operatingsystem和每个所提供的可能的值:Ubuntu、Debian等。这些值可以是正则表达式(例如,部分字符串匹配或通配符匹配),但在此例中,只使用文字字符串(或全字符匹配)。
《Puppet实战手册》——2.9 在if语句中使用正则表达式 正则表达式非常强大,但是很难理解和调试。如果感觉正在用的正则表达式太复杂,不能一眼看明白它在做什么,最好简化设计,使其更加简单化。但是,正则表达式捕获模式是个非常有用的功能。
《Puppet实战手册》——2.8 编写功能强大的条件语句 此外,也可以通过在清单内设置变量来调整引入的类的行为。例如,在数据中心A的服务器可能需要使用与在数据中心B不同的DNS服务器,或者可能需要为Ubuntu系统使用一组类,而其他系统使用另一组不同的类。
《Puppet实战手册》——2.7 数组中多个元素的遍历 当Puppet遇到数组作为一个资源的名称时,它会为数组中每个元素的创建一个资源。在这个例子中,$packages数组中的每一个软件包都会被Puppet创建一个新的package资源,并且使用相同的参数(ensure = installed)。这是一种简化相似资源书写的方式。
《Puppet实战手册》——2.6 使用内联模板 任何传递给inline_template函数的字符串的内容都会被当作ERB模板来执行。也就是说,任何在 %=和% 分隔符之间的内容都将作为Ruby代码而执行,而其余的部分将被视为字符串。
《Puppet实战手册》——2.5 使用标准的命名约定 本节书摘来自异步社区《Puppet实战手册》一书中的第2章,第2.5节,作者:【英】John Arundel著,更多章节内容可以访问云栖社区“异步社区”公众号查看
《Puppet实战手册》——2.4 使用模块 模块是将相关的事物进行组合的一种简单方式。例如,一个webserver模块应该包括让一台机器作为Web服务器所必需的一切:Apache的配置文件、虚拟主机模板和一些必要的用来部署它们(Apache的配置文件、虚拟主机模板)的Puppet代码。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- gunicorn日志系列2-日志格式配置,docker logs 控制台,输出接口入参,出参详细信息
- SpringBoot2.0 基础案例(05):多个拦截器配置和使用场景
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
- 一个性能较好的jvm參数配置以及jvm的简单介绍
- 如何配置一个servlet?
- ngnix 配置多个前端项目(首次上传vue)
- 深入实践Spring Boot2.2.1 Redis依赖配置
- 小程序当中的文件类型,组织结构,配置,知识点等
- SAP RETAIL 使用事务代码WB03去显示一个后台配置的工厂
- Django 4.x 快速配置一个 Django Web 项目设置模板
- Windows系统在本地配置一个apache域名的方法
- Kafka实战:集群SSL加密认证和配置(最新版kafka-2.7.0)
- Go开发中配置一个Logger日志的功能实现(结合zap日志库)
- 从一个实例配置引入Prometheus的PromQL语法
- Elasticsearch之IK分词器配置
- maven安装配置部署建项运行
- linux下一个rsync工具和配置
- Linux 安装和配置Elastiscsearch
- 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)
- 教你如何配置linux用户实现禁止ssh登陆机器但可用sftp登录!
- vue-cli配置多入口多出口,实现一个项目两个访问地址,区分不同上线环境