puppet学习笔记(二)
在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模块

puppet学习笔记(二)的更多相关文章
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JMX学习笔记(二)-Notification
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- 《SQL必知必会》学习笔记二)
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
随机推荐
- Winform开发框架主界面设计展示
做了好多年Winform的程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计 ...
- MVC学习笔记索引帖
[MVC学习笔记]1.项目结构搭建及单个类在各个层次中的实现 [MVC学习笔记]2.使用T4模板生成其他类的具体实现 [MVC学习笔记]3.使用Spring.Net应用IOC(依赖倒置) [MVC学习 ...
- Python入门笔记(25):Python面向对象(2)
一.类 类就是一个数据结构,封装了数据和操作. 类的声明与函数的声明十分类似: class newClass(object): """class documentatio ...
- C#强力粉碎文件代码分享,升级中用到
360的文件粉碎机还是很强大的,在我们客户端winform升级的时候,必须将有些文件进行强力删除后下载更新,如果删除失败很有可能整个 程序就无法更新到最新的版本,所以这里参考了网上的资料整理了一个文件 ...
- 泛函编程(6)-数据结构-List基础
List是一种最普通的泛函数据结构,比较直观,有良好的示范基础.List就像一个管子,里面可以装载一长条任何类型的东西.如需要对管子里的东西进行处理,则必须在管子内按直线顺序一个一个的来,这符合泛函编 ...
- java ftp
FTPUtil import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import jav ...
- http get post
使用java代码模拟http请求 package ftp; import java.io.BufferedReader; import java.io.IOException; import java ...
- flask-uploads扩展的使用笔记
涉及的flask扩展 flask-uploads flask的一个文件上传扩展, 提供了UploadSet这个概念 flask-wtf(中文) 很强大的表单的扩展 flask-bootstrap bo ...
- 单例(Singleton pattern)模式的七种写法
转载请注明出处:http://www.cnblogs.com/smbk/ One: public class Singleton { private static Singleton instance ...
- js和html5实现画板
html5新添了一个重要又强大的标签元素<canvas>,该标签真有彻底替换掉flash的尽头,现在很多网页游戏就是用<canvas>完成的,下面代码就是用该标签制作的一个画板 ...