SaltStack安装redis

在使用salt安装redis之前,顺便说一下salt的目录规划:除了安装redis之外,之后可能还要安装mysql、haproxy、keepalived等等,这些在做主从或者其他的时候,配置可能不一样,但是安装是一样的,所以我们把他们统一放在/srv/salt/prod/modules目录下面,为他们分别创建属于自己的目录。

cd /srv/salt/prod
mkdir -p modules/{apache,haproxy,keepalived,mysql,redis}

 

一.写一个redis的安装状态:

cd /srv/salt/prod/modules/redis/
vim redis-install.sls

写入以下内容:

redis-install:
  pkg.installed:
    - name: redis

 

二.写redis集群安装配置状态:

cd /srv/salt/prod
mkdir redis-cluster
cd redis-cluster/
vim 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: 100M

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

注:salt://redis-cluster/files/redis-master.conf 这里的文件是在已经安装过的redis服务器上拷来的配置文件,如果没有,可以找一台机器,通过yum安装一个redis,将/etc/redis.conf拷贝到该目录下起名叫redis-master.conf。

 

三.修改salt源上的redis配置文件

vim /srv/salt/prod/redis-cluster/files/redis-master.conf

bind 0.0.0.0
daemonize yes
maxmemory {{ REDIS_MEM }}

修改以上3个地方

  

四.测试配置

salt '*' state.sls redis-cluster.redis-master test=True saltenv=prod

注:我们对于redis的安装状态文件,并没有写在base目录下,而是写在了prod目录下,仔细观察写状态的sls文件中,也没有指定salt所属目录,所以在执行的时候,通过命令行指定,就是通过saltenv指定目录。再从salt根目录下读取文件的时候,找的根目录就不是base了,是和base同级的prod目录下去找。

 

五.运行状态

salt '*' state.sls redis-cluster.redis-master saltenv=prod

 

posted @ 2019-05-02 23:14  *年少轻狂*  阅读(258)  评论(0编辑  收藏  举报