puppet(單機模式)-實現redis主從
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)
在主從上都看一下數據是否同步:
puppet(單機模式)-實現redis主從