saltstack十:案例-Redis部署

salt的目录结构

[root@linux-node1 salt]# tree
.
├── base
│ ├── init
│ │ ├── files
│ │ │ ├── epel-6.repo
│ │ │ └── yum-repo.sls
│ │ └── pkg-base.sls
│ ├── logstash
│ ├── top.sls
│ ├── web
│ │ ├── apache.sls
│ │ ├── append.sls
│ │ ├── files
│ │ │ ├── apache-conf.d
│ │ │ │ ├── hehe
│ │ │ │ ├── php.conf
│ │ │ │ ├── README
│ │ │ │ └── welcome.conf
│ │ │ ├── apache-tomcat-8.0.46.tar.gz
│ │ │ ├── httpd.conf
│ │ │ └── php.ini
│ │ ├── lamp.sls
│ │ └── tomcat.sls
│ └── zabbix
│ ├── files
│ │ └── zabbix_agentd.conf
│ └── zabbix-agent.sls
├── dev
├── prod
│ ├── apache
│ │ └── files
│ ├── modules
│ │ ├── appache
│ │ ├── haproxy
│ │ ├── keepalived
│ │ ├── mysql
│ │ └── redis
│ │ └── redis-install.sls
│ ├── mysql
│ │ └── files
│ ├── php
│ │ └── files
│ └── redis-cluster
│ ├── files
│ │ └── redis-master.conf
│ └── redis-master.sls
└── test

编写基础软件包管理
[root@linux-node1 init]# vim pkg-base.sls

include:
  - init.yum-repo             ---已经编写好的yum源,可以见上篇文件

base-pkg:
  pkg.installed
    - pkgs:
      - screen
      - lrzsz

目录规划
[root@linux-node1 prod]# mkdir -p modules/{appache,haproxy,keepalived,mysql,redis}
[root@linux-node1 prod]# cd modules/
[root@linux-node1 modules]# cd redis/
[root@linux-node1 redis-cluster]# mkdir files

编写单点redis模块
[root@linux-node1 redis]# vim redis-install.sls

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

编写redis集群模块
[root@linux-node1 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-master-service:
  service.running:
    - name: redis
    - enable: True
    - watch
      - file: redis-master-config

准备redis配置文件
[root@linux-node1 redis-cluster]# cp /etc/redis.conf /srv/salt/prod/redis-cluster/
[root@linux-node1 redis-cluster]# mv redis.conf files/
[root@linux-node1 files]# mv redis.conf redis-master.conf
修改配置文件(这里指的是source: salt:// redis-cluster/files/redis-master.conf )
[root@linux-node1 files]# vim redis-master.conf
bind 0.0.0.0 61行
daemonize yes 128行
maxmemory {{ REDIS_MEM }} 537行

测试:
[root@linux-node1 redis-cluster]# salt ‘linux-node2*’ state.sls redis-cluster.redis-master test=True saltenv=prod -saltenv=prod指定环境

在这里插入图片描述

没有问题就可以执行了
[root@linux-node1 redis-cluster]# salt ‘linux-node2*’ state.sls redis-cluster.redis-master saltenv=pro

到测试机器上去测试:
[root@linux-node2 etc]# netstat –ntlp
[root@linux-node1 files]# redis-cli -h 10.0.0.16
10.0.0.16:6379>
成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值