- 浏览: 2539759 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
===================== 实例1 创建文件
在agent的指定位置(/usr/local/src)创建一个文件passwd,其所有者为nobody,所有组为nobody,文件权限为600,并且往文件写入内容为“hello world”。
目录结构:
创建第一个模块base,进入/etc/puppet/modules目录
#mkidr -p /etc/puppet/modules/base
创建一个文件名/etc/puppet/modules/base/manifests/touch.pp
的类(这个类是用于创建文件的)
class base::touch
{
file { "/usr/local/src/passwd":
ensure => present,
group => nobody,
owner => nobody,
mode => 600,
content => "hello world!!",
}
}
/etc/puppet/modules/base/manifests/init.pp文件是模块的核心
,每个模块都必须拥有一个init.pp文件,它是模块的入口,
里面包含若干个里面包含若干个class对该模块的资源进行封装(把新建的类引入进来)
class base {
include base::touch
}
进入到nodes目录新建一个节点文件为
/etc/puppet/manifests/nodes/db1.pp
node 'client
' {
include base
}
编辑/etc/puppet/manifests/modules.pp 内容为
import "base"
编辑/etc/puppet/manifests/site.pp内容为
import "modules.pp"
import "nodes/*.pp"
客户端测试
puppetd --server server.cbcv.net --test
===================== 实例2 :在实例1基础上,若果修改文件内容,先备份原有文件,在修改
修改服务器端文件类:
/etc/puppet/modules/base/manifests/touch.pp
class base::touch {
file { "/usr/local/src/passwd":
backup => ".bak_$uptime_seconds",
group => nobody,
owner => nobody,
mode => 600,
content => "hello baby!!",
}
}
客户端测试
puppetd --server server.cbcv.net --test
===================== 实例3 :同步目录文件,剔除文件目录
将master上面的文件目录同步到agent上,不同步含有log的文件和目录,如果含有子目录,递归到子目录
需要同步的files文件目录为test目录:
/etc/puppet/modules/base/files/test
增加一个同步文件的类
vim /etc/puppet/modules/base/manifests/sync.pp
class base::sync {
file { "/usr/local/src/test":
ensure => directory,
source => "puppet:///modules/base/test/",
ignore => '*log*',
recurse => true,
}
}
vim /etc/puppet/modules/base/manifests/init.pp
class base {
include base::touch,base::sync
}
客户端测试
puppetd --server server.cbcv.net --test
=====================实例4 :基于实例3,删除master上没有agent上有的文件或者目录(我在客户端的目标目录新建1个3.txt文件)
vim /etc/puppet/modules/base/manifests/sync.pp
class base::sync {
file { "/usr/local/src/test":
ensure => directory,
source => "puppet:///modules/base/test/",
ignore => '*log*',
recurse => true,
purge => true,
force => true,
}
}
发表评论
-
设置sudo为不需要密码
2015-04-17 09:04 10511有时候我们只需要执 ... -
haproxy 安装配置和负载实例
2015-03-27 11:49 11533一、环境说明实验环境 OS CentOS5.4 192.1 ... -
/dev/mapper/VolGroup00-LogVol00 100% 如何处理
2015-03-03 10:51 8212服务器磁盘跑满了, 命令查看 如下 [root@lo ... -
Tsar开源:淘宝内部大量使用的系统监控工具
2014-08-07 09:51 971Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告 ... -
Linux运维常用命令 (转载)
2013-01-31 10:23 25251 删除0字节文件find-type f - ... -
linux恢复 rm -rf 删除的文件:extundelete
2013-01-24 15:47 8912http://blog.csdn.net/pang6013 ... -
网站排障分析常用的命令
2013-01-21 18:17 1398------------------------------- ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2250用VMware 安装 linux 6.0 ... -
LoadRunner如何监控Linux系统资源 : rpc.rstatd
2012-12-17 14:49 10296一 简述:LoadRunner监控Linux资源时弹出如下错误 ... -
僵尸Z进程和D进程
2012-12-10 16:47 13148-------------- 1 关于ZOMBIE进 ... -
Unix操作系统硬链接与符号链接的区别
2012-12-10 16:08 2021Unix操作系统有很多值得 ... -
nagios配置参数详解
2012-12-04 14:12 9441# Nagios return codes#定 ... -
nagios自定义监控nginx php和ip_conn
2012-12-03 17:57 3169自定义ip_conn.sh :http://zhume ... -
【汇总】shell show收藏
2012-11-29 14:03 1268================== shell从文本取对应的 ... -
Kickstart+PXE+DHCP+TFTP+NFS自动安装Centos5
2012-11-29 11:34 1603http://5ydycm.blog.51cto.com/11 ... -
haproxy+keepalived高可用负载均衡(七层)
2012-11-29 10:36 4006HAproxy是一款基于TCP( ... -
LVS+Keepalived
2012-11-29 10:10 1736http://www.linuxvirtualserver.o ... -
haproxy & LVS*(keepalived和heartbeat) & ng的比较
2012-11-29 10:04 7594http://network.51cto.com/art/ ... -
运维架构师-并不遥远的彼岸
2012-11-28 17:45 1736在百度里搜索运维架构师,你会发现招聘的职位还不少并且月薪、年 ... -
puppet 之 同步
2012-11-21 17:55 3984查看同步时间 # pup ...
相关推荐
### Puppet 入门详解 #### 1. Puppet 简介 ##### 1.1 Puppet 是什么?...掌握 Puppet 的基础知识和语法是成为高效系统管理员的关键之一。希望本文能够帮助您快速入门 Puppet,并在未来的工作中更好地应用它。
cp conf/redhat/fileserver.conf /etc/puppet/ cp conf/redhat/puppet.conf /etc/puppet/ cp conf/redhat/server.init /etc/init.d/puppetmaster ``` 2. 创建 Puppet 用户: ```bash puppetmasterd --mkusers...
### 使用Puppet搭建LAMP环境知识点详解 #### 一、Puppet简介与LAMP环境概述 Puppet是一款基于Ruby语言的开源配置管理工具...Puppet的强大之处在于其高度的可扩展性和灵活性,可以根据实际需求定制更加复杂的配置策略。
### Puppet 入门手册知识点详解 #### 1. Puppet 是什么? Puppet 是一款先进的配置管理工具,旨在实现数据中心的自动化管理。它采用客户端-服务器(C/S)架构,其中服务器端存储所有针对客户端服务器的配置信息,...
资源类型如user、file、service等,提供了操作这些系统部分的方法。Puppet的资源抽象层(RAL)封装了不同操作系统的底层差异,types和providers允许Puppet对不同类型的资源进行一致的操作。资源管理还包括资源顺序、...
ext_file_line 源自 Puppet 标准库 ( ) 中的原始 file_line 资源 与原始 file_line 相比的主要优点是能够在 line 属性中使用正则表达式反向引用。 此外,将显示应用更改的差异(或在 noop 模式下的更改)。 当任何...
例如,`file { '/etc/nginx.conf': content => '...' }`定义了一个文件资源,内容为'...'. 4. **Puppet模odule与Class** Puppet中的模块是组织资源的单位,通常代表一个功能或服务,如Nginx、Apache等。类是模块的...
- **file资源**:用于管理文件的创建、删除、修改权限等操作。 - **package资源**:处理软件包的安装、升级、卸载等。 - **service资源**:控制服务的启动、停止、重启等。 - **exec资源**:执行系统命令,适用于...
systemd::unit_file { 'foo.service' : source => " puppet:///modules/ ${module_name} /foo.service " ,}~> service { ' foo ' : ensure => ' running ' ,} 这等效于: file { '/usr/lib/systemd/system/foo....
2. **Puppet资源声明**:在`manifests/init.pp`中,你会看到对SSH配置的各种资源声明,如`file`资源用于管理配置文件,`service`资源用于管理SSH服务的启停,`exec`资源用于执行命令。 3. **变量与参数化**:Puppet...
Puppet 中的核心概念之一是“资源”(Resource),所有管理的对象(如文件、服务、用户等)均被视为资源,并拥有特定的属性(如文件的权限、服务的状态等)。Puppet 的配置文件由一系列资源声明组成,这些声明定义了...
Puppet 之所以能够受到广泛欢迎,主要得益于其直观简洁的语法、强大的功能以及良好的抽象能力。它不仅支持软件包管理、用户管理、文件管理等多种常见的系统管理任务,还允许根据客户端的具体配置动态生成 Manifests...
- **File资源**:用于管理文件的属性,如内容、权限、所有权等。 - **Package资源**:处理软件包的安装、升级和卸载。 - **Service资源**:控制服务的启动、停止和状态检查。 - **Exec资源**:执行命令行操作,可以...
部署应用资源时,我们首先需要在Puppet代码库中创建资源类型为`exec`、`file`、`package`等的定义,以表示安装、配置和启动应用的步骤。例如,`package`资源用于管理软件包的安装,`file`资源用于管理文件和目录,`...
fileserver.conf负责文件的存储位置映射;manifests目录存放着主程序和模块操作的顶层配置文件,如site.pp和各个部门或服务的配置文件(c.pp、java.pp等);modules目录是各个Puppet模块存放地,每个模块通常包含...
模块是Puppet中最核心的概念之一,用于组织和封装相关的资源、类和文件。模块使得代码易于共享和重用,并有助于保持代码的清晰和整洁。模块通常包含以下部分: - **manifests**:包含主要的Puppet代码; - **files**...