主机规划: mainfests:172.16.13.133
master:172.16.13.134
slave:172.16.13.135
实现过程:
1、所有主机安装puppet:yum install puppet
2、准备redis主从相关的配置文件:
为了方便,先在本机安装redis,利用现有的配置文件来生成主从的配置文件
cp /etc/redis.conf /root/manifests/redis/files/redis-master.conf
cp /etc/redis.conf /root/manifests/redis/files/redis-slave.conf
vim redis-master.conf 修改如下行
bind 0.0.0.0 #这里为了方便使用配置为0.0.0.0,一般设置为127.0.0.1
requirepass 123456 #开启密码认证
vim redis-slave.conf
bind 0.0.0.0
requirepass 123456
slaveof 172.16.13.134 6379 #指明主服务器的ip及监听端口
masterauth 123456 #密码
3、编辑清单文件
vim /root/manifests/redis/redis.pp #路径可自己控制
class redis {
package {'redis': #安装redis
ensure => installed,
}
service {'redis': #启动redis服务
ensure => running,
enable => true,
hasrestart => true,
hasstatus => true,
}
}
class redis::master inherits redis { #redis-master使用如下source指定的配置文件,redis::master表示继承redis类
file{'/etc/redis.conf':
ensure => file,
source => '/root/redis/files/redis-master.conf',
owner => 'redis',
group => 'root',
mode => 0640,
}
Package['redis'] -> File['/etc/redis.conf'] ~>Service['redis'] #定义依赖关系
}
class redis::slave inherits redis { #redis-slave使用如下source指定的配置文件
file{'/etc/redis.conf':
ensure => file,
source => '/root/redis/files/redis-slave.conf',
owner => 'redis',
group => 'root',
mode => 0640,
}
Package['redis'] -> File['/etc/redis.conf'] ~>Service['redis']
}
4、将对应的清单文件以及所需配置文件放到对应主机:
scp -r /root/manifests/redis/ 172.16.13.134:/root/
scp -r /root/manifests/redis/ 172.16.13.135:/root/
5、调用与自己角色相关的类:
在master主机操作:vim /root/redis/redis.pp
末尾加入如下一行:include redis::master
在slave主机操作:vim /root/redis/redis.pp
末尾加入如下一行:include redis::slave
6、执行(可以在执行前测试一下:puppet apply -v --noop redis.pp)
在主从上都看一下数据是否同步:
本文转自lc0108131451CTO博客,原文链接http://blog.51cto.com/13150617/2053800: ,如需转载请自行联系原作者