puppet学习笔记(二)
2024-10-10 07:09:16
在puppet安装完成之后我们就可以动手开始第一个puppet实验了,此实验就以批量推送文件为例吧。
1、获取module路径
这里的module就是指一个模块,可以把puppet想象成一个个项目的部署,有一个书城项目,那么可以创建一个名为book的module,book里面的配置文件可以针对相对应的服务器做配置。
puppet master --genconfig|grep moduepath
modulepath = /etc/puppet/modules:/usr/share/puppet/modules
知道了module所在的路径后,就可以创建module编写pp文件了。
module的创建是有套路的,如下:
tree /etc/puppet/modules/motd
└──── motd
├── files #存放文件目录
│ └── etc
│ └── motd
├── manifests #存放模块pp配置文件目录
│ └── init.pp
└── templates #存放模板目录
这里motd就是一个”项目“,这个项目的作用是将motd文件推送到客户端的/etc/下。
2、编写pp文件
按上述方式创建好相应的目录和文件后就可以开始写pp文件了
cat motd/manifests/init.pp
class motd{ #定义一个类叫motd
package{ 'setup': #定义package资源
ensure => present, #要求setup这个包处于被安装状态
}
file{ '/etc/motd': #定义file资源
ensure => present, #要求file文件处于存在状态
owner => 'root', #要求file文件属主为root
group => 'root', #要求file文件属组为root
mode => '0644', #要求file文件权限为644
source => "puppet://$puppetserver/modules/motd/etc/motd", #要求file文件从puppetmaster端服务器下载
require => Package['setup'], #要求文件被配置之前先执行package资源
}
}
这里要注意的是,source后面写的一行路径必须是双引号,否则会报错。
3、编写site.pp文件
site.pp相当于一个全局的配置,它不负责某个模块的具体配置,而是规划哪些节点使用哪些模块,相对宏观。
cat /etc/puppet/manifests/site.pp
$puppetserver = 'puppetmaster'
node 'agent1'{
include motd
}
node 'agent2'{
include motd
}
4、测试motd模块
最新文章
- PHP ";延迟静态绑定"; 功能,static
- POJ 1330 Nearest Common Ancestors(Targin求LCA)
- 【转】cas注册后自动登录
- java集合TreeMap应用---求一个字符串中,每一个字母出现的次数
- C++:private继承与public继承
- 关于.net的一些基础知识(一)
- Boostrap 模态框 水平垂直居中问题
- ubuntu 下操作文件夹,出现Permission denied的解决的方法
- JAVA--聊天界面面板
- Python BeautifulSoup中文乱码问题的2种解决方法
- linux命令之ifconfig详细解释
- VI修改文件
- css导航条等元素位置不变
- python之函数闭包、可迭代对象和迭代器
- 你想知道吗?come
- 第十届蓝桥杯2019年C/C++ 大学B组省赛试题
- [记录] Ubuntu 配置Apache虚拟站点
- 用AI制作炫酷效果
- 20145309《Java程序设计》第八周学习总结
- JAVA 使用Dom4j 解析XML
热门文章
- 较友好的Web文件下载用户体验实例
- c#对Aspose.Word替换书签内容的简单封装
- 【jQuery基础学习】03 jQuery中的事件与动画
- ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
- win32程序启用控制台
- [moka同学笔记]yii2场景的使用(摘录)
- Web网站数据”实时”更新设计
- ASP.NET MVC中将控制器分离到类库的实现
- Exchange 2013 、Lync 2013、SharePoint 2013
- Microsoft Dynamics CRM 2013 安装过程 图解