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 服务
阅读(2405) | 评论(0) | 转发(0) |