SaltStack安装Redis [十一]

2018年4月8日16:00:06 发表评论 1,252 views
广告也精彩

本篇是salt安装redis服务实战篇,主要是通过saltstack进行部署,生产如果使用,请在测试环境测试后在执行,记得叫test=Ture,如果您对saltstack不太熟悉,建议您查看下:Saltstack相关文章

一、环境介绍

服务器系统 IP 主机名
CentOS7.2 x86_64 salt-master 192.168.56.11 |node01
CentOS7.2 x86_64 salt-minion 192.168.56.12 |node02

二、Salt部署Redis部署过程

在前面的文章中已经搭建好了salt-master和saltminion环境

2.1,在prod目录下创建redis相关的目录,存放状态文件

[root@node01 ~]# cd /srv/salt/prod/
[root@node01 prod]# mkdir modules/redis -p
[root@node01 prod]# cp redis-install.sls  modules/redis/
[root@node01 prod]# tree modules/       ##这里的目录要与下面的2.3中include目录统一
modules/
└── redis
    └── redis-install.sls

2.2 进入redis目录创建redis基础状态文件,这里我们用简单的rpm包按照为例

[root@node01 prod]# cat redis-install.sls 
redis-install:
  pkg.installed:
    - name: redis

2.3 有时候我们修改redis的配置文件或创建集群

[root@node01 prod]# pwd
/srv/salt/prod
[root@node01 prod]# mkdir redis-cluster
[root@node01 redis-cluster]# vi redis-master.sls
[root@node01 redis-cluster]# cat redis-master.sls 
include:
  - modules.redis.redis-install

redis-master-config:
  file.managed:
    - name: /etc/redis.conf
    - source: salt://redis-cluster/files/redis-master.conf
    - user: root
    - group: root
    - mode: 644
    - template: jinja
    - defaults:
      REDIS_MEM: 1G

redis-master-service:
  service.running:
    - name: redis
    - enable: True
    - watch:
      - file: redis-master-config

三、按照redis取配置文件作为salt模板

3.1 server安装redis
安装1个redis,把server上的配置文件作为模板

[root@linux-node1 redis-cluster]# yum install redis
[root@node01 redis-cluster]# mkdir /srv/salt/prod/redis-cluster/files/ 
[root@node01 redis-cluster]# cp /etc/redis.conf  /srv/salt/prod/redis-cluster/files/
[root@node01 redis-cluster]# tree 
.
├── files
│   └── redis.conf
└── redis-master.sls

3.2 重命名redis模板文件名

[root@node01 files]# pwd
/srv/salt/prod/redis-cluster/files
[root@node01 files]# mv redis.conf redis-master.conf

3.3 更改redis配置文件模板,bind也可以只监听内网端口

[root@node01 files]# grep -E  'bind|daemonize|maxmemory' redis-master.conf  |grep -v ^#
bind 0.0.0.0    #监听的ip
daemonize yes   #开启守护进程
maxmemory {{ REDIS_MEM }}   #最大内存取jia模板里的

四,测试,因为是在prod目录下 需要添加 saltenv=prod环境变量

[root@node01 prod]#  salt 'node02' state.sls redis-cluster.redis-master test=True saltenv=prod

SaltStack安装Redis [十一]
上面执行成功,就把test=True去掉,真正去执行

[root@linux-node1 redis-cluster]# salt 'linux-node2*' state.sls redis-cluster.redis-master  saltenv=prod

登陆node2节点查看redis服务已经成功启动

[root@linux-node2 ~]# ps aux |grep redis
redis      5147  0.3  0.3 142904  5808 ?        Ssl  22:48   0:00 /usr/bin/redis-server 0.0.0.0:6379
root       5192  0.0  0.0 112648   976 pts/0    S+   22:49   0:00 grep --color=auto redis

五、重点总结

生产环境我们的状态模块可以在prod下面,在执行的时候需要"设置环境saltenv=prod"(使用top.sls不需要设置环境变量)
记得使用"test=True先测试"
提前查清楚软件包和相关配置文件
当使用jinja模板管理时,可以不用登陆redis服务器就可以查看redis设置的最大内存
  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: