Chinaunix首页 | 论坛 | 博客
  • 博客访问: 361559
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 885
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-06 21:07
个人简介

做好自己,不卑不亢,持之以恒!!

文章分类

全部博文(45)

分类: 系统运维

2015-06-19 13:34:08

puppet 资源定义
以下资源均定义在/etc/puppet/manifest/site.pp 文件中,在没有指定节点的情况下,对所有
已经经过验证的 client 都生效。
实验环境:
rhel-6.5
selinux   disabled
iptables    stopped

实验环境:
rhel-6.5  linux
selinux   disabled
iptables   stoppd
server:        222.24.24.28    server1.example.com      puppet master
client :      222.24.24.29    server2.example.com      puppet agent
client:           222.24.24.30    server3.example.com      puppet   agent
首先确保我们的基础服务是没问题的
server 端:

agent端:

1. 创建文件
    server端编辑puppet配置文件后重启服务
  
  /tmp/testfile 代表其绝对路径
content         表示testfile的集体内容
mode             定义testfile权限

在agent 端登录puppet时有点像这样

在/tmp/目录下可以看见testfile文件,可以用md5sum命令查看其md5值会发现和上面是一致的

其默认为root用户,有没有办法自定义用户呢?当然是可以的
在master端编辑:

agent端再次登录后会发现其所有者变为id为800的用户


如果我们试图去编辑这个文件时会有什么变化
[root@server3 ~]# echo www.example.com  > /tmp/testfile 再次启动登录服务会发现md5值有所变化

但是在30后会自动读取master端的site.pp文件,重新还原


当我们定义sourece 模块后,便可以正对与具体文件了
在master端:


同时编辑site.pp文件,可以将/etc/passwd文件用作实验对象

当我们的client再次登录时有点像这样

当用cat命令去查看这个文件时会发现其内容和master端的files目录下的passwd内容是一致的

2. 软件包定义
在client端httpd包是没有安装的,而vsftpd是以经安装过的

在master我们需要这样做
[root@server1 ~]# vim /etc/puppet/manifests/site.pp

present 代表安装其相应的httpd安装包,absent表示移除相应的vsftpd安装包
当client再次登录到puppet服务时,有点像这样

会发现vsftpd已被自动移除,自动安装httpd安装包
以用rpm 可以验证

3. 服务定义
master 端:编辑/etc/puppet/manifests/site.pp添加如下行

顾名思义running 代表启动相应服务,stopped关闭相应服务
当client端登录时有点像这样

便会自动开启httpd服务和关闭vsftpd 服务



阅读(2384) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~